diff --git a/reactos/base/applications/games/solitaire/solitaire.rbuild b/reactos/base/applications/games/solitaire/solitaire.rbuild index 3b4a8df0447..97173a0dafa 100644 --- a/reactos/base/applications/games/solitaire/solitaire.rbuild +++ b/reactos/base/applications/games/solitaire/solitaire.rbuild @@ -3,9 +3,9 @@ . cardlib - -lstdc++ 0x0501 0x0501 + advapi32 kernel32 user32 gdi32 diff --git a/reactos/base/setup/usetup/usetup.rbuild b/reactos/base/setup/usetup/usetup.rbuild index bece1aacfb6..e20064b0d2d 100644 --- a/reactos/base/setup/usetup/usetup.rbuild +++ b/reactos/base/setup/usetup/usetup.rbuild @@ -9,7 +9,6 @@ 0x0502 - -lgcc zlib inflib ext2lib diff --git a/reactos/base/shell/explorer/explorer.rbuild b/reactos/base/shell/explorer/explorer.rbuild index 5fccd6d6c7e..34a01da5c23 100644 --- a/reactos/base/shell/explorer/explorer.rbuild +++ b/reactos/base/shell/explorer/explorer.rbuild @@ -1,16 +1,15 @@ - - -fexceptions + -Wno-non-virtual-dtor . - 0x0600 0x0501 0x0500 + advapi32 kernel32 gdi32 user32 diff --git a/reactos/base/system/smss/smss.rbuild b/reactos/base/system/smss/smss.rbuild index 39b0649ee9f..015b5913da4 100644 --- a/reactos/base/system/smss/smss.rbuild +++ b/reactos/base/system/smss/smss.rbuild @@ -7,7 +7,6 @@ nt smlib ntdll - -lgcc smss.h client.c diff --git a/reactos/dll/3rdparty/mesa32/mesa32.rbuild b/reactos/dll/3rdparty/mesa32/mesa32.rbuild index 4b0e48f12a3..77e1ade8565 100644 --- a/reactos/dll/3rdparty/mesa32/mesa32.rbuild +++ b/reactos/dll/3rdparty/mesa32/mesa32.rbuild @@ -2,7 +2,6 @@ - -Wl,--enable-stdcall-fixup ntdll kernel32 msvcrt diff --git a/reactos/dll/ntdll/ntdll.rbuild b/reactos/dll/ntdll/ntdll.rbuild index 61073e9781c..8054b34a2b4 100644 --- a/reactos/dll/ntdll/ntdll.rbuild +++ b/reactos/dll/ntdll/ntdll.rbuild @@ -16,9 +16,6 @@ ntdllsys libcntpr pseh - -lgcc - -nostdlib - -nostartfiles ntstatus api.c diff --git a/reactos/dll/win32/cfgmgr32/cfgmgr32.rbuild b/reactos/dll/win32/cfgmgr32/cfgmgr32.rbuild index 61270cb3fbc..4f0ad22e908 100644 --- a/reactos/dll/win32/cfgmgr32/cfgmgr32.rbuild +++ b/reactos/dll/win32/cfgmgr32/cfgmgr32.rbuild @@ -1,9 +1,6 @@ - -nostartfiles - -nostdlib - -lgcc cfgmgr32.rc diff --git a/reactos/dll/win32/crtdll/crtdll.rbuild b/reactos/dll/win32/crtdll/crtdll.rbuild index 97a72f59390..d69b3c04a94 100644 --- a/reactos/dll/win32/crtdll/crtdll.rbuild +++ b/reactos/dll/win32/crtdll/crtdll.rbuild @@ -1,6 +1,4 @@ - -nostartfiles - -lgcc . include diff --git a/reactos/dll/win32/gdi32/gdi32.rbuild b/reactos/dll/win32/gdi32/gdi32.rbuild index 4418bac6d13..4a04b9b9e5a 100644 --- a/reactos/dll/win32/gdi32/gdi32.rbuild +++ b/reactos/dll/win32/gdi32/gdi32.rbuild @@ -50,8 +50,5 @@ utils.c path.c - -lgcc - -nostartfiles - -nostdlib gdi32.rc diff --git a/reactos/dll/win32/kernel32/kernel32.rbuild b/reactos/dll/win32/kernel32/kernel32.rbuild index 24cdeb00529..55899c5996a 100644 --- a/reactos/dll/win32/kernel32/kernel32.rbuild +++ b/reactos/dll/win32/kernel32/kernel32.rbuild @@ -131,9 +131,6 @@ wine pseh ntdll - -lgcc - -nostartfiles - -nostdlib kernel32.rc diff --git a/reactos/dll/win32/lpk/lpk.rbuild b/reactos/dll/win32/lpk/lpk.rbuild index cb3440264e2..fe83c7ec489 100644 --- a/reactos/dll/win32/lpk/lpk.rbuild +++ b/reactos/dll/win32/lpk/lpk.rbuild @@ -13,8 +13,5 @@ dllmain.c stub.c - -lgcc - -nostartfiles - -nostdlib lpk.rc diff --git a/reactos/dll/win32/lsasrv/lsasrv.rbuild b/reactos/dll/win32/lsasrv/lsasrv.rbuild index fc09c4fea16..b87a23a0681 100644 --- a/reactos/dll/win32/lsasrv/lsasrv.rbuild +++ b/reactos/dll/win32/lsasrv/lsasrv.rbuild @@ -4,8 +4,6 @@ . 0x600 0x0600 - -nostartfiles - -nostdlib lsa_server ntdll kernel32 diff --git a/reactos/dll/win32/msvcrt/msvcrt.rbuild b/reactos/dll/win32/msvcrt/msvcrt.rbuild index 75af5b3e4f5..a5a985284b9 100644 --- a/reactos/dll/win32/msvcrt/msvcrt.rbuild +++ b/reactos/dll/win32/msvcrt/msvcrt.rbuild @@ -1,8 +1,4 @@ - -nostartfiles - --enable-stdcall-fixup - -nostdlib - -lgcc . include diff --git a/reactos/dll/win32/samsrv/samsrv.rbuild b/reactos/dll/win32/samsrv/samsrv.rbuild index 342a0dbd6ee..a2ebe7f0476 100644 --- a/reactos/dll/win32/samsrv/samsrv.rbuild +++ b/reactos/dll/win32/samsrv/samsrv.rbuild @@ -3,8 +3,6 @@ . - -nostartfiles - -nostdlib ntdll kernel32 samsrv.c diff --git a/reactos/dll/win32/user32/user32.rbuild b/reactos/dll/win32/user32/user32.rbuild index 66106aa980f..607c4bd156e 100644 --- a/reactos/dll/win32/user32/user32.rbuild +++ b/reactos/dll/win32/user32/user32.rbuild @@ -74,8 +74,5 @@ window.c winpos.c - -lgcc - -nostartfiles - -nostdlib user32.rc diff --git a/reactos/drivers/filesystems/ext2/ext2.rbuild b/reactos/drivers/filesystems/ext2/ext2.rbuild index ea553020f8a..9247a254c26 100644 --- a/reactos/drivers/filesystems/ext2/ext2.rbuild +++ b/reactos/drivers/filesystems/ext2/ext2.rbuild @@ -3,7 +3,6 @@ inc - -lgcc ntoskrnl hal diff --git a/reactos/drivers/filesystems/fastfat/vfatfs.rbuild b/reactos/drivers/filesystems/fastfat/vfatfs.rbuild index c00a928605c..56ca836973c 100644 --- a/reactos/drivers/filesystems/fastfat/vfatfs.rbuild +++ b/reactos/drivers/filesystems/fastfat/vfatfs.rbuild @@ -3,7 +3,6 @@ . - -lgcc ntoskrnl hal blockdev.c diff --git a/reactos/drivers/storage/class/disk/disk.rbuild b/reactos/drivers/storage/class/disk/disk.rbuild index f2e63ce0fb2..e59a64ecc20 100644 --- a/reactos/drivers/storage/class/disk/disk.rbuild +++ b/reactos/drivers/storage/class/disk/disk.rbuild @@ -2,7 +2,6 @@ - -lgcc ntoskrnl hal class2 diff --git a/reactos/drivers/storage/class/ramdisk/ramdisk.rbuild b/reactos/drivers/storage/class/ramdisk/ramdisk.rbuild index a726f9e7c72..f37a12a8dcf 100644 --- a/reactos/drivers/storage/class/ramdisk/ramdisk.rbuild +++ b/reactos/drivers/storage/class/ramdisk/ramdisk.rbuild @@ -2,7 +2,6 @@ - -lgcc ntoskrnl hal class2 diff --git a/reactos/drivers/storage/ide/uniata/uniata.rbuild b/reactos/drivers/storage/ide/uniata/uniata.rbuild index 85b58c5293e..e874386627b 100644 --- a/reactos/drivers/storage/ide/uniata/uniata.rbuild +++ b/reactos/drivers/storage/ide/uniata/uniata.rbuild @@ -20,6 +20,4 @@ ros_glue.cpp ros_glue_asm.s - - -lgcc diff --git a/reactos/drivers/wdm/audio/drivers/mpu401/mpu401.rbuild b/reactos/drivers/wdm/audio/drivers/mpu401/mpu401.rbuild index 0396a37fda6..cbd1fef36b1 100644 --- a/reactos/drivers/wdm/audio/drivers/mpu401/mpu401.rbuild +++ b/reactos/drivers/wdm/audio/drivers/mpu401/mpu401.rbuild @@ -9,7 +9,6 @@ --> - -Wl,--entry,_DriverEntry@8 . .. ntoskrnl diff --git a/reactos/lib/3rdparty/bzip2/bzip2.rbuild b/reactos/lib/3rdparty/bzip2/bzip2.rbuild index ffeaf504b81..3437902a950 100644 --- a/reactos/lib/3rdparty/bzip2/bzip2.rbuild +++ b/reactos/lib/3rdparty/bzip2/bzip2.rbuild @@ -4,7 +4,6 @@ - -lgcc ntoskrnl hal bzlib.c diff --git a/reactos/ntoskrnl/ntoskrnl-generic.rbuild b/reactos/ntoskrnl/ntoskrnl-generic.rbuild index d3ee6313b61..cb7c7aad932 100644 --- a/reactos/ntoskrnl/ntoskrnl-generic.rbuild +++ b/reactos/ntoskrnl/ntoskrnl-generic.rbuild @@ -458,8 +458,5 @@ wmi.c ntoskrnl.rc - -nostartfiles - -nostdlib - -lgcc ntoskrnl_$(ARCH).lnk diff --git a/reactos/tools/rbuild/backend/mingw/mingw.cpp b/reactos/tools/rbuild/backend/mingw/mingw.cpp index e99d769ab59..ae2e4d45bbb 100644 --- a/reactos/tools/rbuild/backend/mingw/mingw.cpp +++ b/reactos/tools/rbuild/backend/mingw/mingw.cpp @@ -526,8 +526,9 @@ MingwBackend::GenerateGlobalVariables () const fprintf ( fMakefile, "PROJECT_RCFLAGS := $(PROJECT_CFLAGS) $(PROJECT_CDEFINES)\n" ); fprintf ( fMakefile, "PROJECT_WIDLFLAGS := $(PROJECT_CFLAGS) $(PROJECT_CDEFINES)\n" ); - fprintf ( fMakefile, "PROJECT_LFLAGS := %s\n", + fprintf ( fMakefile, "PROJECT_LFLAGS := \"$(shell ${TARGET_CC} -print-libgcc-file-name)\" %s\n", GenerateProjectLFLAGS ().c_str () ); + fprintf ( fMakefile, "PROJECT_LPPFLAGS := \"$(shell ${TARGET_CPP} -print-file-name=libstdc++.a)\" \"$(shell ${TARGET_CPP} -print-file-name=libgcc.a)\" \"$(shell ${TARGET_CPP} -print-file-name=libmingw32.a)\" \"$(shell ${TARGET_CPP} -print-file-name=libmingwex.a)\"\n" ); fprintf ( fMakefile, "PROJECT_CFLAGS += -Wall\n" ); fprintf ( fMakefile, "ifneq ($(OARCH),)\n" ); fprintf ( fMakefile, "PROJECT_CFLAGS += -march=$(OARCH)\n" ); diff --git a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp index fff325def12..55dd78248da 100644 --- a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp +++ b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp @@ -743,10 +743,9 @@ MingwModuleHandler::GenerateMacro ( size_t i; bool generateAssignment; + generateAssignment = (use_pch && module.pch != NULL ) || data.includes.size () > 0 || data.defines.size () > 0; if ( generatingCompilerMacro ) - generateAssignment = (use_pch && module.pch != NULL ) || data.includes.size () > 0 || data.defines.size () > 0 || data.compilerFlags.size () > 0; - else - generateAssignment = (use_pch && module.pch != NULL ) || data.includes.size () > 0 || data.defines.size () > 0; + generateAssignment |= data.compilerFlags.size () > 0; if ( generateAssignment ) { fprintf ( fMakefile, @@ -1581,7 +1580,8 @@ MingwModuleHandler::GenerateLinkerCommand ( { const FileLocation *target_file = GetTargetFilename ( module, NULL ); const FileLocation *definitionFilename = GetDefinitionFilename (); - string linker = module.cplusplus ? "${gpp}" : "${gcc}"; + const FileLocation temp_obj ( TemporaryDirectory, "", module.name + ".temp.ld" ); + string linker = "${ld}"; string objectsMacro = GetObjectsMacro ( module ); string libsMacro = GetLibsMacro (); @@ -1590,7 +1590,7 @@ MingwModuleHandler::GenerateLinkerCommand ( string linkerScriptArgument; if ( module.linkerScript != NULL ) - linkerScriptArgument = ssprintf ( " -Wl,-T,%s", backend->GetFullName ( *module.linkerScript->file ).c_str () ); + linkerScriptArgument = ssprintf ( " -T=%s", backend->GetFullName ( *module.linkerScript->file ).c_str () ); else linkerScriptArgument = ""; @@ -1603,17 +1603,23 @@ MingwModuleHandler::GenerateLinkerCommand ( fprintf ( fMakefile, "\t$(ECHO_LD)\n" ); string targetName ( module.output->name ); + fprintf ( fMakefile, "\t@echo $(subst $(SEP),/,%s) > %s\n", + objectsMacro.c_str (), + backend->GetFullName ( temp_obj ).c_str () ); + CLEAN_FILE ( temp_obj ); + if ( !module.IsDLL () ) { fprintf ( fMakefile, - "\t%s %s%s -o %s %s %s %s\n", + "\t%s %s%s @%s %s%s %s -o %s\n", linker.c_str (), linkerParameters.c_str (), linkerScriptArgument.c_str (), - target_macro.c_str (), - objectsMacro.c_str (), + backend->GetFullName ( temp_obj ).c_str (), + module.cplusplus ? "$(PROJECT_LPPFLAGS) " : "", libsMacro.c_str (), - GetLinkerMacro ().c_str () ); + GetLinkerMacro ().c_str (), + target_macro.c_str () ); } else if ( module.HasImportLibrary () ) { @@ -1631,15 +1637,16 @@ MingwModuleHandler::GenerateLinkerCommand ( module.underscoreSymbols ? " --add-underscore" : "" ); fprintf ( fMakefile, - "\t%s %s%s %s -o %s %s %s %s\n", + "\t%s %s%s %s @%s %s%s %s -o %s\n", linker.c_str (), linkerParameters.c_str (), linkerScriptArgument.c_str (), backend->GetFullName ( temp_exp ).c_str (), - target_macro.c_str (), - objectsMacro.c_str (), + backend->GetFullName ( temp_obj ).c_str (), + module.cplusplus ? "$(PROJECT_LPPFLAGS) " : "", libsMacro.c_str (), - GetLinkerMacro ().c_str () ); + GetLinkerMacro ().c_str (), + target_macro.c_str () ); fprintf ( fMakefile, "\t$(Q)$(PEFIXUP_TARGET) %s -exports%s\n", @@ -1659,14 +1666,15 @@ MingwModuleHandler::GenerateLinkerCommand ( //printf ( "%s will have all its functions exported\n", // module.target->name.c_str () ); fprintf ( fMakefile, - "\t%s %s%s -o %s %s %s %s\n", + "\t%s %s%s @%s %s%s %s -o %s\n", linker.c_str (), linkerParameters.c_str (), linkerScriptArgument.c_str (), - target_macro.c_str (), - objectsMacro.c_str (), + backend->GetFullName ( temp_obj ).c_str (), + module.cplusplus ? "$(PROJECT_LPPFLAGS) " : "", libsMacro.c_str (), - GetLinkerMacro ().c_str () ); + GetLinkerMacro ().c_str (), + target_macro.c_str () ); } GenerateBuildMapCode (); @@ -2529,7 +2537,7 @@ MingwKernelModuleHandler::GenerateKernelModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s", + string linkerParameters = ssprintf ( "-subsystem=native -entry=%s -image-base=%s", module.GetEntryPoint(!(Environment::GetArch() == "arm")).c_str (), module.baseaddress.c_str () ); @@ -2652,7 +2660,7 @@ MingwKernelModeDLLModuleHandler::GenerateKernelModeDLLModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -shared", + string linkerParameters = ssprintf ( "-subsystem=native -entry=%s -image-base=%s -file-alignment=0x1000 -section-alignment=0x1000 -shared", module.GetEntryPoint(true).c_str (), module.baseaddress.c_str () ); GenerateLinkerCommand ( dependencies, @@ -2701,7 +2709,7 @@ MingwKernelModeDriverModuleHandler::GenerateKernelModeDriverModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -shared", + string linkerParameters = ssprintf ( "-subsystem=native -entry=%s -image-base=%s -file-alignment=0x1000 -section-alignment=0x1000 -shared", module.GetEntryPoint(true).c_str (), module.baseaddress.c_str () ); GenerateLinkerCommand ( dependencies, @@ -2749,7 +2757,7 @@ MingwNativeDLLModuleHandler::GenerateNativeDLLModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib -shared", + string linkerParameters = ssprintf ( "-subsystem=native -entry=%s -image-base=%s -file-alignment=0x1000 -section-alignment=0x1000 -shared", module.GetEntryPoint(true).c_str (), module.baseaddress.c_str () ); GenerateLinkerCommand ( dependencies, @@ -2797,7 +2805,7 @@ MingwNativeCUIModuleHandler::GenerateNativeCUIModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib", + string linkerParameters = ssprintf ( "-subsystem=native -entry=%s -image-base=%s -file-alignment=0x1000 -section-alignment=0x1000", module.GetEntryPoint(true).c_str (), module.baseaddress.c_str () ); GenerateLinkerCommand ( dependencies, @@ -2922,7 +2930,7 @@ MingwWin32DLLModuleHandler::GenerateWin32DLLModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,console -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -shared", + string linkerParameters = ssprintf ( "-subsystem=console -entry=%s -image-base=%s -file-alignment=0x1000 -section-alignment=0x1000 -shared", module.GetEntryPoint(true).c_str (), module.baseaddress.c_str () ); GenerateLinkerCommand ( dependencies, @@ -2964,7 +2972,7 @@ MingwWin32OCXModuleHandler::GenerateWin32OCXModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,console -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -shared", + string linkerParameters = ssprintf ( "-subsystem=console -entry=%s -image-base=%s -file-alignment=0x1000 -section-alignment=0x1000 -shared", module.GetEntryPoint(true).c_str (), module.baseaddress.c_str () ); GenerateLinkerCommand ( dependencies, @@ -3013,7 +3021,7 @@ MingwWin32CUIModuleHandler::GenerateWin32CUIModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,console -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000", + string linkerParameters = ssprintf ( "-subsystem=console -entry=%s -image-base=%s -file-alignment=0x1000 -section-alignment=0x1000", module.GetEntryPoint(true).c_str (), module.baseaddress.c_str () ); GenerateLinkerCommand ( dependencies, @@ -3062,7 +3070,7 @@ MingwWin32GUIModuleHandler::GenerateWin32GUIModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,windows -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000", + string linkerParameters = ssprintf ( "-subsystem=windows -entry=%s -image-base=%s -file-alignment=0x1000 -section-alignment=0x1000", module.GetEntryPoint(true).c_str (), module.baseaddress.c_str () ); GenerateLinkerCommand ( dependencies, @@ -3684,7 +3692,7 @@ MingwTestModuleHandler::GenerateTestModuleTarget () string dependencies = linkDepsMacro + " " + objectsMacro; - string linkerParameters = ssprintf ( "-Wl,--subsystem,console -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000", + string linkerParameters = ssprintf ( "-subsystem=console -entry=%s -image-base=%s -file-alignment=0x1000 -section-alignment=0x1000", module.GetEntryPoint(true).c_str (), module.baseaddress.c_str () ); GenerateLinkerCommand ( dependencies, diff --git a/reactos/tools/rbuild/backend/mingw/modulehandler.h b/reactos/tools/rbuild/backend/mingw/modulehandler.h index 8c4cea5140c..238c3dc26a6 100644 --- a/reactos/tools/rbuild/backend/mingw/modulehandler.h +++ b/reactos/tools/rbuild/backend/mingw/modulehandler.h @@ -250,7 +250,6 @@ public: MingwKernelModeDLLModuleHandler ( const Module& module ); virtual HostType DefaultHost() { return HostFalse; } virtual void Process (); - std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; } void AddImplicitLibraries ( Module& module ); private: void GenerateKernelModeDLLModuleTarget (); @@ -264,7 +263,6 @@ public: virtual HostType DefaultHost() { return HostFalse; } virtual void Process (); std::string TypeSpecificCFlags() { return "-D__NTDRIVER__"; } - std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; } void AddImplicitLibraries ( Module& module ); private: void GenerateKernelModeDriverModuleTarget (); @@ -277,7 +275,6 @@ public: MingwNativeDLLModuleHandler ( const Module& module ); virtual HostType DefaultHost() { return HostFalse; } virtual void Process (); - std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; } void AddImplicitLibraries ( Module& module ); private: void GenerateNativeDLLModuleTarget (); @@ -291,7 +288,6 @@ public: virtual HostType DefaultHost() { return HostFalse; } virtual void Process (); std::string TypeSpecificCFlags() { return "-D__NTAPP__"; } - std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; } void AddImplicitLibraries ( Module& module ); private: void GenerateNativeCUIModuleTarget (); @@ -304,7 +300,6 @@ public: MingwWin32DLLModuleHandler ( const Module& module ); virtual HostType DefaultHost() { return HostFalse; } virtual void Process (); - std::string TypeSpecificLinkerFlags() { return module.cplusplus ? "-nostartfiles -lgcc" : "-nostartfiles -nostdlib -lgcc"; } void AddImplicitLibraries ( Module& module ); private: void GenerateWin32DLLModuleTarget (); @@ -317,7 +312,6 @@ public: MingwWin32OCXModuleHandler ( const Module& module ); virtual HostType DefaultHost() { return HostFalse; } virtual void Process (); - std::string TypeSpecificLinkerFlags() { return module.cplusplus ? "-nostartfiles -lgcc" : "-nostartfiles -nostdlib -lgcc"; } void AddImplicitLibraries ( Module& module ); private: void GenerateWin32OCXModuleTarget (); @@ -330,7 +324,6 @@ public: MingwWin32CUIModuleHandler ( const Module& module ); virtual HostType DefaultHost() { return HostFalse; } virtual void Process (); - std::string TypeSpecificLinkerFlags() { return module.cplusplus ? "-nostartfiles -lgcc" : "-nostartfiles -nostdlib -lgcc"; } void AddImplicitLibraries ( Module& module ); private: void GenerateWin32CUIModuleTarget (); @@ -343,7 +336,6 @@ public: MingwWin32GUIModuleHandler ( const Module& module ); virtual HostType DefaultHost() { return HostFalse; } virtual void Process (); - std::string TypeSpecificLinkerFlags() { return module.cplusplus ? "-nostartfiles -lgcc" : "-nostartfiles -nostdlib -lgcc"; } void AddImplicitLibraries ( Module& module ); private: void GenerateWin32GUIModuleTarget (); @@ -431,7 +423,6 @@ public: MingwTestModuleHandler ( const Module& module ); virtual HostType DefaultHost() { return HostFalse; } virtual void Process (); - std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; } protected: virtual void GetModuleSpecificCompilationUnits ( std::vector& compilationUnits ); private: