From: Nick Ing-Simmons Date: Thu, 27 Nov 1997 19:13:36 +0000 (+0000) Subject: GCC builds perl.dll and perl.exe on Win32 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=04dc04aa73cc58d998c1f2e8d4c3f8576eee7e49;p=p5sagit%2Fp5-mst-13.2.git GCC builds perl.dll and perl.exe on Win32 p4raw-id: //depot/ansiperl@326 --- diff --git a/win32/makedef.pl b/win32/makedef.pl index 55b3e29..d87cbed 100644 --- a/win32/makedef.pl +++ b/win32/makedef.pl @@ -31,10 +31,13 @@ warn join(' ',keys %define)."\n"; my $CCTYPE = shift || "MSVC"; -print "LIBRARY Perl\n"; -print "DESCRIPTION 'Perl interpreter, export autogenerated'\n"; -print "CODE LOADONCALL\n"; -print "DATA LOADONCALL NONSHARED MULTIPLE\n"; +if ($CCTYPE ne 'GCC') + { + print "LIBRARY Perl\n"; + print "DESCRIPTION 'Perl interpreter, export autogenerated'\n"; + print "CODE LOADONCALL\n"; + print "DATA LOADONCALL NONSHARED MULTIPLE\n"; + } print "EXPORTS\n"; $skip_sym=<<'!END!OF!SKIP!'; @@ -214,6 +217,8 @@ if ($define{'USE_THISPTR'} || $define{'USE_THREADS'}) unless ($define{'USE_THREADS'}) { $skip_sym .= "Perl_thread_create\n"; + $skip_sym .= "Perl_find_threadsv\n"; + $skip_sym .= "Perl_threadsv_names\n"; } # All symbols have a Perl_ prefix because that's what embed.h diff --git a/win32/makegcc.mk b/win32/makegcc.mk index 668f9b5..a61d4be 100644 --- a/win32/makegcc.mk +++ b/win32/makegcc.mk @@ -288,14 +288,8 @@ $(DYNALOADER).obj : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c #------------------------------------------------------------ $(GLOBEXE): perlglob.obj -.IF "$(CCTYPE)" == "BORLAND" - $(CC) -c -w -v -tWM -I$(CCINCDIR) perlglob.c - $(LINK32) -Tpe -ap $(LINK_FLAGS) c0x32.obj perlglob.obj \ - $(CCLIBDIR)\32BIT\wildargs.obj,$@,,import32.lib cw32mt.lib, -.ELSE - $(LINK32) $(LINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \ - perlglob.obj setargv.obj -.ENDIF + $(LINK32) $(LINK_FLAGS) -o $@ \ + perlglob.obj $(LIBFILES) $(GLOBBAT) : ..\lib\File\DosGlob.pm $(MINIPERL) $(MINIPERL) $(PL2BAT) - < ..\lib\File\DosGlob.pm > $(GLOBBAT) @@ -351,10 +345,17 @@ perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym makedef.pl $(MINIPERL) -w makedef.pl $(DEFINES) $(CCTYPE) > perldll.def $(PERLDLL): perldll.def $(CORE_OBJ) $(WIN32_OBJ) $(DLL_OBJ) - $(LINK32) -dll -o $@ $(LINK_FLAGS) \ + $(LINK32) -dll -o $@ -Wl,--base-file -Wl,perl.base $(LINK_FLAGS) \ $(mktmp $(LKPRE) $(CORE_OBJ:s,\,\\) \ $(WIN32_OBJ:s,\,\\) $(DLL_OBJ:s,\,\\) $(LIBFILES) $(LKPOST)) - dlltool --output-lib $(PERLIMPLIB) --def perldll.def --dll perl.dll --base-file $(PERLDLL) + dlltool --output-lib $(PERLIMPLIB) \ + --dllname perl.dll \ + --def perldll.def \ + --base-file perl.base \ + --output-exp perl.exp + $(LINK32) -dll -o $@ $(LINK_FLAGS) \ + $(mktmp $(LKPRE) $(CORE_OBJ:s,\,\\) \ + $(WIN32_OBJ:s,\,\\) $(DLL_OBJ:s,\,\\) $(LIBFILES) perl.exp $(LKPOST)) $(XCOPY) $(PERLIMPLIB) ..\lib\CORE perl.def : $(MINIPERL) makeperldef.pl