Build ntdll.dll. Modified: branches/xmlbuildsystem/reactos/config.template.xml Modified: branches/xmlbuildsystem/reactos/lib/directory.xml Added: branches/xmlbuildsystem/reactos/lib/ntdll/ntdll.xml Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp Modified: branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h _____
Modified: branches/xmlbuildsystem/reactos/config.template.xml --- branches/xmlbuildsystem/reactos/config.template.xml 2005-01-11 18:20:30 UTC (rev 12925) +++ branches/xmlbuildsystem/reactos/config.template.xml 2005-01-11 20:02:58 UTC (rev 12926) @@ -1,66 +0,0 @@
-<!-- - Architecture to build for - - Specify one of: i386 - Possible values in the future: alpha,i386,m68k,mips,powerpc ---> - -<define name="ARCH" value="i386" /> - - -<!-- - Which cpu should reactos optimze for - example : i486, i586, pentium, pentium2, pentum3, pentium4 - athlon-xp, athlon-mp, k6-2, - - see gcc manual for more cpu name and which cpu it can - be optimze for. ---> - -<define name="OARCH" value="i486" /> - -<!-- - Whether to compile in the kernel debugger ---> - -<define name="KDBG" value="0" /> - - -<!-- - Whether to compile for debugging ---> - -<define name="DBG" value="0" /> - - -<!-- - Whether to compile with optimizations ---> - -<define name="OPTIMIZED" value="0" /> - - -<!-- - Whether to compile a multiprocessor or single processor version ---> - -<define name="MP" value="0" /> - -<!-- - Whether to compile for ACPI compliant systems ---> - -<define name="ACPI" value="0" /> - - -<!-- - whether to use a 3GB User, 1GB Kernel memory map ---> - -<define name="3GB" value="1" /> - - -<!-- - Which version of NDIS do we support up to? -<define name="NDISVERSION" value="NDIS50" /> ---> _____
Modified: branches/xmlbuildsystem/reactos/lib/directory.xml --- branches/xmlbuildsystem/reactos/lib/directory.xml 2005-01-11 18:20:30 UTC (rev 12925) +++ branches/xmlbuildsystem/reactos/lib/directory.xml 2005-01-11 20:02:58 UTC (rev 12926) @@ -1,6 +1,9 @@
<directory name="kjs"> <xi:include href="kjs/kjs.xml" /> </directory> +<directory name="ntdll"> + <xi:include href="ntdll/ntdll.xml" /> +</directory> <directory name="pseh"> <xi:include href="pseh/pseh.xml" /> </directory> _____
Added: branches/xmlbuildsystem/reactos/lib/ntdll/ntdll.xml --- branches/xmlbuildsystem/reactos/lib/ntdll/ntdll.xml 2005-01-11 18:20:30 UTC (rev 12925) +++ branches/xmlbuildsystem/reactos/lib/ntdll/ntdll.xml 2005-01-11 20:02:58 UTC (rev 12926) @@ -0,0 +1,108 @@
+<module name="ntdll" type="nativedll"> + <dependency>genntdll</dependency> + <importlibrary definition="def/ntdll.def" /> + <define name="__NTDLL__" /> + <define name="_DISABLE_TIDENTS" /> + <library>rosrtl</library> + <library>rtl</library> + <library>string</library> + <directory name="csr"> + <file>capture.c</file> + <file>lpc.c</file> + <file>probe.c</file> + <file>thread.c</file> + </directory> + <directory name="dbg"> + <file>brkpoint.c</file> + <file>debug.c</file> + <file>print.c</file> + </directory> + <directory name="ldr"> + <file>entry.S</file> + <file>res.c</file> + <file>startup.c</file> + <file>utils.c</file> + </directory> + <directory name="main"> + <file>dllmain.c</file> + </directory> + <directory name="rtl"> + <directory name="i386"> + <file>alldiv.s</file> + <file>allmul.s</file> + <file>allrem.s</file> + <file>allshl.s</file> + <file>allshr.s</file> + <file>aulldiv.s</file> + <file>aullrem.s</file> + <file>aullshr.s</file> + <file>chkstk.s</file> + <file>except.s</file> + <file>exception.c</file> + <file>float.c</file> + <file>ftol.c</file> + </directory> + <file>access.c</file> + <file>apc.c</file> + <file>atom.c</file> + <file>callback.c</file> + <file>crc32.c</file> + <file>critical.c</file> + <file>dbgbuffer.c</file> + <file>exception.c</file> + <file>handle.c</file> + <file>intrlck.c</file> + <file>libsupp.c</file> + <file>math.c</file> + <file>message.c</file> + <file>misc.c</file> + <file>path.c</file> + <file>ppb.c</file> + <file>process.c</file> + <file>propvar.c</file> + <file>rangelist.c</file> + <file>registry.c</file> + <file>resource.c</file> + <file>teb.c</file> + <file>thread.c</file> + <file>timerqueue.c</file> + </directory> + <directory name="stdio"> + <file>sprintf.c</file> + <file>sscanf.c</file> + <file>swprintf.c</file> + </directory> + <directory name="stdlib"> + <file>abs.c</file> + <file>atoi64.c</file> + <file>atoi.c</file> + <file>atol.c</file> + <file>bsearch.c</file> + <file>itoa.c</file> + <file>itow.c</file> + <file>labs.c</file> + <file>lfind.c</file> + <file>mbstowcs.c</file> + <file>splitp.c</file> + <file>strtol.c</file> + <file>strtoul.c</file> + <file>wcstol.c</file> + <file>wcstombs.c</file> + <file>wcstoul.c</file> + <file>wtoi64.c</file> + <file>wtoi.c</file> + <file>wtol.c</file> + </directory> + <directory name="string"> + <file>ctype.c</file> + <file>memicmp.c</file> + <file>stricmp.c</file> + <file>strlwr.c</file> + <file>strnicmp.c</file> + <file>strpbrk.c</file> + <file>strstr.c</file> + <file>strupr.c</file> + <file>wstring.c</file> + </directory> + <file>napi.c</file> +</module> Property changes on: branches/xmlbuildsystem/reactos/lib/pseh ___________________________________________________________________ Name: svn:ignore - *.o *.d + *.o *.a *.d Property changes on: branches/xmlbuildsystem/reactos/lib/rosrtl ___________________________________________________________________ Name: svn:ignore + *.a Property changes on: branches/xmlbuildsystem/reactos/lib/rtl ___________________________________________________________________ Name: svn:ignore - *.o *.d *.sym *.map + *.o *.a *.d *.sym *.map Property changes on: branches/xmlbuildsystem/reactos/lib/string ___________________________________________________________________ Name: svn:ignore - *.o *.d *.sym *.map + *.o *.a *.d *.sym *.map _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp --- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp 2005-01-11 18:20:30 UTC (rev 12925) +++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp 2005-01-11 20:02:58 UTC (rev 12926) @@ -719,3 +719,65 @@
target.c_str ()); } } + + +static MingwNativeDLLModuleHandler nativedll_handler; + +MingwNativeDLLModuleHandler::MingwNativeDLLModuleHandler () + : MingwModuleHandler ( NativeDLL ) +{ +} + +void +MingwNativeDLLModuleHandler::Process ( const Module& module ) +{ + GeneratePreconditionDependencies ( module ); + GenerateNativeDLLModuleTarget ( module ); + GenerateInvocations ( module ); +} + +void +MingwNativeDLLModuleHandler::GenerateNativeDLLModuleTarget ( const Module& module ) +{ + static string ros_junk ( "$(ROS_TEMPORARY)" ); + string target ( FixupTargetFilename ( module.GetPath () ) ); + string workingDirectory = GetWorkingDirectory ( ); + string archiveFilename = GetModuleArchiveFilename ( module ); + string importLibraryDependencies = GetImportLibraryDependencies ( module ); + + if (module.importLibrary != NULL) + { + fprintf ( fMakefile, "%s:\n", + module.GetDependencyPath ().c_str () ); + + fprintf ( fMakefile, + "\t${dlltool} --dllname %s --def %s --output-lib %s --kill-at\n\n", + module.GetTargetName ().c_str (), + FixupTargetFilename ( module.GetBasePath () + SSEP + module.importLibrary->definition ).c_str (), + FixupTargetFilename ( module.GetDependencyPath () ).c_str () ); + } + + if (module.files.size () > 0) + { + fprintf ( fMakefile, "%s: %s %s\n", + target.c_str (), + archiveFilename.c_str (), + importLibraryDependencies.c_str () ); + + fprintf ( fMakefile, + "\t${gcc} -Wl,--subsystem,native -Wl,--entry,_DllMainCRTStartup@12 -Wl,--image-base,0x10000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib -mdll -o %s %s %s\n", + target.c_str (), + archiveFilename.c_str (), + importLibraryDependencies.c_str () ); + + GenerateArchiveTargetTarget ( module ); + GenerateObjectFileTargetsTarget ( module ); + } + else + { + fprintf ( fMakefile, "%s:\n\n", + target.c_str ()); + fprintf ( fMakefile, ".PHONY: %s\n\n", + target.c_str ()); + } +} _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h --- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h 2005-01-11 18:20:30 UTC (rev 12925) +++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h 2005-01-11 20:02:58 UTC (rev 12926) @@ -108,4 +108,14 @@
void GenerateKernelModeDLLModuleTarget ( const Module& module ); };
+ +class MingwNativeDLLModuleHandler : public MingwModuleHandler +{ +public: + MingwNativeDLLModuleHandler (); + virtual void Process ( const Module& module ); +private: + void GenerateNativeDLLModuleTarget ( const Module& module ); +}; + #endif /* MINGW_MODULEHANDLER_H */ _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp --- branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp 2005-01-11 18:20:30 UTC (rev 12925) +++ branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp 2005-01-11 20:02:58 UTC (rev 12926) @@ -152,6 +152,8 @@
return Kernel; if ( attribute.value == "kernelmodedll" ) return KernelModeDLL; + if ( attribute.value == "nativedll" ) + return NativeDLL; throw InvalidAttributeValueException ( location, attribute.name, attribute.value ); @@ -170,6 +172,8 @@ return ".exe"; case KernelModeDLL: return ".dll"; + case NativeDLL: + return ".dll"; } throw InvalidOperationException (__FILE__, __LINE__); _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h --- branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h 2005-01-11 18:20:30 UTC (rev 12925) +++ branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h 2005-01-11 20:02:58 UTC (rev 12926) @@ -65,7 +65,8 @@
BuildTool, StaticLibrary, Kernel, - KernelModeDLL + KernelModeDLL, + NativeDLL };
Property changes on: branches/xmlbuildsystem/reactos/tools/wmc ___________________________________________________________________ Name: svn:ignore - wmc *.coff *.d *.exe *.o *.sym *.dsp *.dsw *.ncb *.opt + wmc *.coff *.d *.exe *.o *.a *.sym *.dsp *.dsw *.ncb *.opt