add an extra entry to the libInit.cc code:
authorClaus Gittinger <cg@exept.de>
Mon, 08 Mar 2010 12:06:17 +0100
changeset 12770 520a17d353eb
parent 12769 435668a20ddd
child 12771 878fc210c8e7
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.
LibraryDefinition.st
--- 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 $'
 ! !