add an extra entry to the libInit.cc code:
...InitDefinition
which only initializes the projectDefinition file.
Allows for the objectFileLoader to get access to the def-class
before the reset, to allow for prerequisite-loading.
--- a/LibraryDefinition.st Mon Mar 08 08:42:57 2010 +0100
+++ b/LibraryDefinition.st Mon Mar 08 12:06:17 2010 +0100
@@ -154,6 +154,7 @@
^Dictionary new
at: 'LIBRARY_NAME' put: (self libraryName);
at: 'PACKAGE' put: (self package);
+ at: 'DEFINITION_CLASSES' put: (self generate_definitionClassLine_libInit_dot_cc);
at: 'CLASSES' put: (self generateClassLines_libInit_dot_cc);
at: 'EXTENSION' put: (self generateExtensionLine_libInit_dot_cc);
@@ -233,7 +234,8 @@
SEGMENTS
INITCODE PRELOAD DISCARDABLE
EXPORTS
- __%(LIBRARY_NAME)_Init @1
+ __%(LIBRARY_NAME)_Init @1
+ __%(LIBRARY_NAME)_InitDefinition @2
'
"Created: / 08-08-2006 / 12:26:58 / fm"
@@ -334,8 +336,16 @@
#if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
DLL_EXPORT void _%(LIBRARY_NAME)_Init() INIT_TEXT_SECTION;
+DLL_EXPORT void _%(LIBRARY_NAME)_InitDefinition() INIT_TEXT_SECTION;
#endif
+void _%(LIBRARY_NAME)_InitDefinition(pass, __pRT__, snd)
+OBJ snd; struct __vmData__ *__pRT__; {
+__BEGIN_PACKAGE2__("%(LIBRARY_NAME)__DFN", _%(LIBRARY_NAME)_InitDefinition, "%(PACKAGE)");
+%(DEFINITION_CLASSES)
+__END_PACKAGE__();
+}
+
void _%(LIBRARY_NAME)_Init(pass, __pRT__, snd)
OBJ snd; struct __vmData__ *__pRT__; {
__BEGIN_PACKAGE2__("%(LIBRARY_NAME)", _%(LIBRARY_NAME)_Init, "%(PACKAGE)");
@@ -492,7 +502,8 @@
INITCODE READ EXECUTE
INITDATA READ WRITE
EXPORTS
- _%(LIBRARY_NAME)_Init @1
+ _%(LIBRARY_NAME)_Init @1
+ _%(LIBRARY_NAME)_InitDefinition @2
IMPORTS'
"Modified: / 08-08-2006 / 19:33:14 / fm"
@@ -648,9 +659,9 @@
!LibraryDefinition class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.96 2009-10-26 17:30:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.97 2010-03-08 11:06:17 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.96 2009-10-26 17:30:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/LibraryDefinition.st,v 1.97 2010-03-08 11:06:17 cg Exp $'
! !