diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 1997-11-27 19:13:36 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 1997-11-27 19:13:36 +0000 |
commit | 04dc04aa73cc58d998c1f2e8d4c3f8576eee7e49 (patch) | |
tree | 54dbb98c29f2287e9a05c46eef74d82090c7b332 /win32 | |
parent | a835ef8a5ef2441baebe4910667c49a7be441c88 (diff) | |
download | perl-04dc04aa73cc58d998c1f2e8d4c3f8576eee7e49.tar.gz |
GCC builds perl.dll and perl.exe on Win32
p4raw-id: //depot/ansiperl@326
Diffstat (limited to 'win32')
-rw-r--r-- | win32/makedef.pl | 13 | ||||
-rw-r--r-- | win32/makegcc.mk | 21 |
2 files changed, 20 insertions, 14 deletions
diff --git a/win32/makedef.pl b/win32/makedef.pl index 55b3e29bcd..d87cbedac2 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 668f9b5d0a..a61d4bea5c 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 |