Module CS/plugins/cscript/csperl5/

back to main page

Summary Period: 2002-11-20 to 2003-06-24

Modules

[root]/CS/plugins/cscript/csperl5

Lines Of Code


Total Lines Of Code: 125298 (2003-07-11 20:29)

Authors

Author Changes Lines of code Lines per change
Totals 83 (100.0%) 180142 (100.0%) 2170.3
okt 56 (67.5%) 171985 (95.5%) 3071.1
sunshine 17 (20.5%) 7540 (4.2%) 443.5
jorrit 5 (6.0%) 553 (0.3%) 110.6
matzebraun 4 (4.8%) 41 (0.0%) 10.2
philwyett 1 (1.2%) 23 (0.0%) 23.0

Most Recent Commits

jorrit 2003-06-24 09:32

- Jorrit attempted to fix the perl plugin but only partially succeeded.
Down to one error (with mingw/msys):
plugins/cscript/csperl5/cswigpl5.inc: In function
`void _wrap_scfInitialize(PerlInterpreter *, CV *)':
plugins/cscript/csperl5/cswigpl5.inc:4575: `argv' undeclared
(first use this function)

485 lines of code changed in:

sunshine 2003-06-22 22:38

Eric Sunshine removed the unused, obsolete, and deprecated top-level <name>
node from the .csplugin files.

0 lines of code changed in:

philwyett 2003-06-19 10:42

Commented out all MSVC project file related lines, until time
permits to look into why it is causing hangs when locally run.

23 lines of code changed in:

okt 2003-06-19 02:25

Got rid of all the warnings, some by fixing and some by ignoring with compiler switches and pragmas.
Added csString to those classes wrapped by Swig.
Uncommented the Perl plugin in user.mak.

6806 lines of code changed in:

sunshine 2003-06-05 15:44

Eric Sunshine performed Phase Three of the elimination of the monolithic
scf.cfg:

-*- Eliminated the SCF information which was hardcoded in the .cpp files
of plugin modules, and which duplicated information in the external
.csplugin files.

-*- Plugin modules no longer maintain and export a monolithic class list.
Now, each factory implemented by the code is exported automatically.

-*- Added a new <implementation> child node to the <class> node in
.csplugin files. The value of this node is the name of the C++ class
which implements the SCF class. For instance, C++ class csVFS
implements crystalspace.kernel.vfs.

-*- Eliminated the following SCF macros which were related to exporting
SCF information from .cpp code and/or registering classes manually:

SCF_EXPORT_CLASS_TABLE
SCF_EXPORT_CLASS
SCF_EXPORT_CLASS_DEP
SCF_EXPORT_CLASS_TABLE_END
SCF_REGISTER_STATIC_CLASS_DEP

-*- Eliminated the following methods from iSCF:

RegisterStaticClass
RegisterClassList

-*- Plugin modules are now initialized/shutdown lazily as classes are
requested from them. The first time a class is requested, the plugin
is initialized. The plugin is shutdown after the last class instance
has been destroyed.

-*- Fixed bug in scf.h where SCF_PRINT_CALL_ADDRESS was not being enabled
for gcc 3.x.

-*- Fixed bug in win32.jam where GenerateExportDefs rule failed to ensure
that directory containing output file existed before creating file.
Also fixed bug where it failed to set up a dependency between the
input and output files.

-*- Still To-Do:

- Remove references to scf.cfg and scfreg from documentation. Also
document new .csplugin resources.

- Add platform-specific function to scan and locate plugins
automatically rather than using the ad-hoc approach inherited from
scanning for .scf files.

- Add platform-specific function to query a plugin's meta-information.
This should be used by SCF to do the raw extraction. Provide and
finalize API for higher-level clients to access meta-information.

- Augment static linking to work with the new facility. (Removal of
the hardcoded SCF information, has now broken static linking. It
worked until this time, even with all of the preceding changes.)

1 lines of code changed in:

okt 2003-06-02 22:53

Fixed a couple of typos.

35 lines of code changed in:

okt 2003-06-02 22:26

Fixed broken %apply directives by adding my own typemaps, and added lots of nice, descriptive comments.

395 lines of code changed in:

okt 2003-06-02 00:17

Just fixed a little bug in the iScript bindings (scfScript's constructor takes a _reference_ to an iScript, not a pointer.)

97 lines of code changed in:

okt 2003-06-01 23:21

Quite a major overhaul of the Perl scripting plugin and Swig module.
See history.txt

46716 lines of code changed in:

okt 2003-05-31 02:05

Re-fixed the my_perl bug.

4 lines of code changed in:

jorrit 2003-05-29 08:05

Replaced NULL with 0.

68 lines of code changed in:

sunshine 2003-05-26 09:49

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.

15 lines of code changed in:

okt 2003-05-24 20:03

Several bug fixes to csperl5, and added empty stub functions to cspython for the iScript interface extension methods.

1339 lines of code changed in:

matzebraun 2003-05-24 14:16

fixed a typo in perl Jamfile

2 lines of code changed in:

okt 2003-05-14 15:46

Reorganised the csperl5 clean targets, and added `%ignore csGetPlatformConfig;' to cspace.i, to avoid link errors on platforms where that function is not defined, ie. all except Win32.

93 lines of code changed in:

okt 2003-05-14 00:53

Changed csperl5distclean to csperl5maintainerclean.

8 lines of code changed in:

okt 2003-05-13 18:10

Added iSprite2DState to the list of wrapped interfaces.

2466 lines of code changed in:

sunshine 2003-05-11 21:08

Eric Sunshine made the following changes:

-*- Added the new variable %name% to msvcgen.pl which can be interpolated
into any template file. The value of this variable is the name
provided by the --name option.

-*- Performed some code clean up of msvcgen.pl following the merge of
msvcgen.pl and msvc7gen.pl (which occurred some time ago).

-*- Cleaned up a bunch of errors in the documentation and added
documentation which should have been added when msvcgen.pl and
msvc7gen.pl were merged.

-*- Renamed msvcgen.pl options --projext, -px, --wsext, -wx, --projname,
and --htmlent to --project-extension, -P, --workspace-extension, -W,
--project-name, --xml-protect, respectively.

-*- Changed msvcgen.pl so that it no longer creates the unused "dummy"
fragment file. This file seems to have been an ugly artifact to
slighly simplify msvcgen.mak following the msvcgen.pl and msvc7gen.pl
merge. A slight modification of msvcgen.mak obviated the need for
this hack.

-*- Fixed bug in msvcgen.pl where it failed to use the value from --name
as the default for --project-name if --project-name was not specified.

-*- The extensions .C, .m, .mm, and .M are now recognized as source files
(in addition to .c, .cc, and .cpp) by msvcgen.pl. The extensions .hpp
and .H are now recognized as header files (in addition to .h).

-*- Added --strip-root option to msvcgen.pl which allows specification of
zero or more prefixes which should be stripped from
filenames/resources mentioned on the command-line and which are
referenced by generated project files. This is desirable because it
is a good idea to record only relative paths in project files, rather
than absolute. This switch can be employed by tools which are unable
to provide relative paths to msvcgen.pl.

-*- Revived the DSP.PROJECT.RESOURCES variable. This variable is useful
for inserting additional human-readable resources into the generated
project files. It is not clear why this variable was removed when the
$(PROJECT.EXE).WINRSRC functionality (which is completely different in
purpose) was added to msvcgen.mak.

-*- Revived the "appgui" project type which had been removed some time
back. Although the project files for GUI (appgui) and console
(appcon) applications might not differ at present, it is still useful
to be able to make this distinction (especially since it might be
needed again in the future).

-*- Cleaned up some documentation in msvcgen.mak following the merge of
msvcgen.mak and msvc7gen.mak (some time ago).

-*- Fixed problem with mergeres.sh where it failed to perform path
"fix-up" properly if the build hierarchy differed from the source
hierarchy. One manifestation of this problem was that the .rc files
generated via msvcgen.mak from a build hierarchy outside the source
hierarchy differed from those generated directly in the source
hierarchy. On a related note, win32gcc.mak and msvcgen.jam were
providing "fix-up" argument to mergeres.sh which failed to take
$(SRCDIR) into account, thus causing the fix-up to fail.

-*- Fixed bug in msvcgen.jam where it failed to specify the location of
csver.h when invoking mkverres.sh, thus it failed when generating
project files from a build hierarchy which differed from the source
hierarchy.

-*- Fixed bug in msvcgen.jam where it failed to use --xmlprotect (nee
--htmlent) when building MSVC7 project files.

-*- Fixed bug in msvcgen.jam where it was incorrectly specifying external
libraries via --depend. The correct option is --library.

-*- Fixed bug in msvcgen.jam where it was incorrectly specifying linker
flags via --library. The correct option is --lflags.

-*- Fixed bug in msvcgen.jam where it failed to normalize the source,
header, and resource paths which it passed to msvcgen.pl for mention
in the generated project files. This was a problem when the build
directory differed from the CS source directory, since the paths
recorded in the project file would be relative to the build directory
or absolute, rather than relative within the source directory.

-*- Fixed bug in msvcgen.jam where it would insert the wrong file into a
generated project if the filename was not unique between all
directories. For instance, in the generated libcsutil project,
plugins\documentsystem\xmltiny\xmltiny.cpp would incorrectly appear in
place of libs\csutil\xmltiny.cpp.

-*- msvcgen.jam is almost usable. Still to-do: Make it respect
ExternaLibs() or fix all the Jamfiles which require special Windows
libraries to invoke MsvcExternalLibrary(). Overhaul the "config" file
handling rule so that it associates configuration files with built
targets. This will allow the generated projects to reference
configuration files. Likewise, provide a generic Resources rule which
allows specification of additional textual resources for inclusion in
generated projects. Upgrade module Jamfiles to mention headers from
the CS/include/foobar directory. This will allow related headers to
appear in the generated project files. For instance, the libcsutil
project should mention headers from CS/include/csengine, in addition
to the ones from CS/libs/csengine, which it currently mentions.

-*- Renamed CS/mk/visualc to CS/mk/visualc6.

-*- Renamed CS/mk/msvcgen/template to CS/mk/msvcgen/template6.

-*- Renamed the msvcgen and msvcinst makefile targets to msvc6gen and
msvc6inst.

-*- Fixed problem in Jam build where it would attempt to invoke Bourne
scripts using C-shell if user's login shell was C-shell or compatible.

-*- Fixed csperl5/Jamefile so that it is only enabled if the Perl SDK was
detected, rather than if the Perl command is available. This is an
important distinction because the presence of the Perl command alone
does not necessarily imply the presence of a working SDK.

3 lines of code changed in:

okt 2003-05-11 18:59

Added a test so the Swig-generated Perl files won't be rebuilt if the required version of Swig was not found.

4 lines of code changed in:

okt 2003-05-11 01:28

Removed one of two instance of the same makefile target, swigperl5gen.

0 lines of code changed in:

(27 more)


Generated by StatCvs v0.2-dev