modified tools/rbuild/backend/mingw/modulehandler.cpp
authorKJK::Hyperion <hackbunny@reactos.org>
Sat, 25 Oct 2008 02:52:24 +0000 (02:52 +0000)
committerKJK::Hyperion <hackbunny@reactos.org>
Sat, 25 Oct 2008 02:52:24 +0000 (02:52 +0000)
   Allow static libraries to "link" to other static libraries
   Removed some dead code

modified   dll/nls/normaliz_redist/normaliz_redist.rbuild
modified   dll/win32/kernel32/kernel32.rbuild
   No need to specify icu4ros explicitely anymore, thanks to the rbuild changes
   Make kernel32_base include normalize, rather than linking it as an external dependency of kernel32

svn path=/trunk/; revision=36929

reactos/dll/nls/normaliz_redist/normaliz_redist.rbuild
reactos/dll/win32/kernel32/kernel32.rbuild
reactos/tools/rbuild/backend/mingw/modulehandler.cpp

index 729f79f..f25c822 100644 (file)
@@ -7,7 +7,6 @@
 <module name="normaliz_redist" type="win32dll" installname="normaliz_redist.dll">
        <library>normalize</library>
        <library>idna</library>
-       <library>icu4ros</library>
        <library>normaliz_redist_data</library>
        <library>libcntpr</library>
        <library>kernel32</library>
index 3217f2d..906b316 100644 (file)
                                </directory>
                        </if>
                </directory>
+
+               <library>normalize</library>
        </module>
        <module name="kernel32" type="win32dll" baseaddress="${BASEADDRESS_KERNEL32}" installbase="system32" installname="kernel32.dll">
                <importlibrary definition="kernel32.def" />
 
                <file>kernel32.rc</file>
 
-               <library>normalize</library>
-               <library>icu4ros</library>
-
                <library>ntdll</library>
        </module>
 </group>
index 0f98bf0..a444c18 100644 (file)
@@ -347,6 +347,18 @@ MingwModuleHandler::GetImportLibraryDependency (
                dep = backend->GetFullName ( *library_target );
                delete library_target;
        }
+
+       if ( IsStaticLibrary ( importedModule ) || importedModule.type == ObjectLibrary )
+       {
+               const std::vector<Library*>& libraries = importedModule.non_if_data.libraries;
+
+               for ( size_t i = 0; i < libraries.size (); ++ i )
+               {
+                       dep += " ";
+                       dep += GetImportLibraryDependency ( *libraries[i]->importedModule );
+               }
+       }
+
        return dep;
 }
 
@@ -2891,7 +2903,6 @@ MingwBootLoaderModuleHandler::GenerateBootLoaderModuleTarget ()
        CLEAN_FILE ( junk_tmp );
        string objectsMacro = GetObjectsMacro ( module );
        string linkDepsMacro = GetLinkingDependenciesMacro ();
-       string libsMacro = GetLibsMacro ();
 
        GenerateRules ();
 
@@ -2968,7 +2979,6 @@ MingwBootProgramModuleHandler::GenerateBootProgramModuleTarget ()
        CLEAN_FILE ( junk_cpy );
        string objectsMacro = GetObjectsMacro ( module );
        string linkDepsMacro = GetLinkingDependenciesMacro ();
-       string libsMacro = GetLibsMacro ();
        const Module *payload = module.project.LocateModule ( module.payload );
 
        GenerateRules ();