Summary Period: 2001-10-17 to 2003-07-08
Total Lines Of Code:
655 (2003-07-11 20:29)
Author | Changes | Lines of code | Lines per change |
---|---|---|---|
Totals | 119 (100.0%) | 1460 (100.0%) | 12.2 |
matzebraun | 67 (56.3%) | 1047 (71.7%) | 15.6 |
sunshine | 36 (30.3%) | 209 (14.3%) | 5.8 |
jorrit | 6 (5.0%) | 112 (7.7%) | 18.6 |
wouter | 9 (7.6%) | 89 (6.1%) | 9.8 |
res2002 | 1 (0.8%) | 3 (0.2%) | 3.0 |
Worked around the 'double keypad key event' problem on Win32.
Upon reception of a 'keydown' message for such keys, CS enqueues a
key event; however, Windows generates another message containing the
keycode translated to a character.
Attempted to update & fix cs-config on win32.
3 lines of code changed in:
Eric Sunshine eliminated unportable `test -e' from cs-config/Jamfile.
1 lines of code changed in:
Eric Sunshine applied a quick-patch to cs-config so that it should now be
able to handle the additional circular dependency between csutil and
cssys. Perhaps Matze could apply a better fix, since he probably has a
better understanding of his own code.
4 lines of code changed in:
Eric Sunshine performed Phase One of the elimination of the monolithic
scf.cfg:
-*- Plugin modules are now self-describing. This information can be
queried at run-time without having to actually load the module.
-*- The plugin maintainer now manages the plugin's meta-information in an
external .csplugin file, rather than hard-coding the information into
the plugin's source code. The mechanism by which the meta-information
is bound to the plugin is platform-dependent. Presently, all
platforms simply lay down the meta-information in a plain text file
alongside the plugin itself; with the same basename and extension
.csplugin. This may change in the future. For example, on MacOS/X,
the meta-information will probably be encapsulated within the plugin's
bundle wrapper.
-*- Plugin meta-information is now maintained in XML format. Here is an
example:
<?xml version="1.0"?>
<!-- gl3d.csplugin -->
<plugin>
<name>gl3d</name>
<scf>
<classes>
<class>
<name>crystalspace.graphics3d.opengl</name>
<description>OpenGL 3D graphics driver</description>
<requires>
<class>crystalspace.font.server.</class>
</requires>
</class>
</classes>
</scf>
</plugin>
-*- Since meta-information is now extensible, maintainers can choose to
publish supplementary information about plugins (in addition to the
SCF information already published). For example, image loading
plugins could publish "image indendification" information which would
allow the image loading multiplexor to selectively request image
loading plugins on-demand, rather than requesting all plugins
unconditionally, even if they are not needed. Here is an example of a
possible meta-information table for the PNG loader:
<?xml version="1.0"?>
<!-- cspngimg.csplugin -->
<plugin>
<name>cspngimg</name>
<scf>...</scf>
<imageloader>
<imagetype>
<class>crystalspace.graphic.image.io.png</class>
<identify>
<mimetype>image/png</mimetype>
<extension>png</extension>
<extension>PNG</extension>
<scan length="4" bytes="\0x89PNG"/>
</identify>
</imagetype>
</imageloader>
</plugin>
In this example, the PNG loader meta-information tells the multiplexor
several different ways to identify a PNG image: by checking file
extension, if available; by checking MIME type, if available; by
checking for the magic-string "\0x89PNG" in the raw image data. If
the multiplexor identifies the image as PNG, only then will it
actually request the PNG loader.
-*- Added the --meta-file directive to msvcgen.pl to allow specification
of the meta-information file for a module. The value of this option
is interpolated into template files via the new %metafile% variable.
msvcgen.mak now utilizes this flag with the value of the new
INC.PROJECT makefile variable. Augmented the MSVC6 and MSVC7 plugin
template files (plugin.tpl) to make use of %metafile%.
-*- Changed the file extension for plugins on MacOS/X from .csplugin to
.csbundle to avoid conflict with new meta-information resource which
uses the extension .csplugin.
-*- Still To-Do:
- Augment SCF to utilize the new meta-information resources, and to
understand the new XML format. Presently, these resources are
ignored at run-time.
- Add platform-specific function to scan and locate plugins
automatically, rather than relying upon a monolithic registry such
as scf.cfg.
- Add platform-specific function to query a plugin's meta-information.
- Eliminate the monolithic scf.cfg.
- Augment static linking to work with the new facility.
- Eliminate the hard-coded SCF registration information in each
plugin's source code.
1 lines of code changed in:
Eric Sunshine fixed bug in csconf.mak where its TO_INSTALL.ROOT was
referring to the obsolete scripts/cs-config/crystal.m4.
2 lines of code changed in:
Eric Sunshine made the following changes to the Jam build facility:
-*- Added helper rules InstallApplicationGUI and InstallApplicationConsole
to install.jam. The InstallApplication rule now invokes these rules
to perform the actual installation. These rules can be overridden by
platforms or facilities with special requirements.
-*- MacOS/X now overrides InstallApplicationGUI in macosx.jam in order to
correctly install the application wrapper, which is an entire
directory hierarchy (per application), rather than a single executable
file.
-*- Added new InstallShellScript rule to install.jam.
-*- Fixed CS/scripts/cs-config/Jamfile to invoke the new
InstallShellScript rule, rather than InstallApplication. Since
platforms may now override the application installation rules for
special situations, it is no longer wise to treat cs-config as an
application at install time, thus the new shell-script-specific rule.
-*- Fixed bug in CS/include/Jamfile where the `install' and
`install_header' targets would encounter errors if the installation
"include" directory did not already exist. Specifically, it
invoked both "MkDir <install>/include/crystal" and
"MkDir <install>/include/crystal/.", which Unix treats as the same
directory, but which Jam treated as two distinct directories. The
result was that the second mkdir (for the "crystal/." variation) would
fail with "directory already exists" error.
1 lines of code changed in:
attempted to make --makevars working in jam for backward compatibility. Note that this isn't really a good way of doing things, it never worked good in the past and it won't work good now.
63 lines of code changed in:
moved crystal.m4 to more appropriate mk/autopconf directory
23 lines of code changed in:
improved crystal.m4 a bit so that it now includes a macro usefull for jam and a make builds
40 lines of code changed in:
Eric Sunshine made the following changes:
-*- Modified configure.ac so that it emits a SRCDIR property to
config.mak. This value represents the --srcdir argument given to the
configure script (or "." if --srcdir is omitted). This points at the
directory containing the CS source code (which may differ from the
build directory, which is typically the current working directory).
-*- Modified makefiles and build scripts throughout the project so that
they respect $(SRCDIR). This allows the project to be built in a
directory other than the source directory, thus it is possible to
place the source directory on a readonly filesystem (such as a
CD-ROM), or to share a single NFS-mounted source directory among
different builds, where each build inhabits its own directory. For
example, if CS resides at /home/CS and you wish to build the project
in /home/build:
% cd /home/build
% ../CS/configure
% make -k all
% make install
(Note that the Jam-base build system already supports this build
paradigm.)
-*- Modified configure.ac so that it emits EXTENSIVE_MEMDEBUG to
config.mak since this variable is used by Makefile.in for the
`showconfig' target.
-*- Modified configure.ac so that it emits MONITOR_MAKEFILE_CACHE when the
value is either "yes" or "no", instead of emitting it only when the
value is "yes". This was necessary because CS/mk/cache.mak prints the
value of this variable as part of $(SYSMODIFIER).
15 lines of code changed in:
Eric Sunshine modified cs-config makefile so that it also installs
crystal.m4. This allows people to access the crystal.m4 utility macro from
a CS installation, rather than being forced to grab it from a source
distribution (which might now be handy or available).
1 lines of code changed in:
added the Jamfiles
50 lines of code changed in:
Eric Sunshine fixed CS/scripts/cs-config/Makefile.template so that the
`clean' target now deletes the generated executable, makefile.dep, and
csconfig.mak. David Calkins <dcalk@verizon.net> reported this
shortcoming.
2 lines of code changed in:
little code cleanup in cs-config and made it compatible with jam build
25 lines of code changed in:
fix to cs-config so that --help works without CRYSTAL being set
12 lines of code changed in:
Eric Sunshine fixed a bug recently introduced into csconfig.mak where it
failed to invoke the build.cs-config target in the sub-make invocation.
1 lines of code changed in:
fixed cs-config .cex files handling when CS has been installed
5 lines of code changed in:
improved dependencies for cs-config
3 lines of code changed in:
Fixed formatting of help message.
1 lines of code changed in:
another fix
2 lines of code changed in:
(76 more)
Generated by StatCvs v0.2-dev