summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>1997-11-27 19:13:36 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>1997-11-27 19:13:36 +0000
commit04dc04aa73cc58d998c1f2e8d4c3f8576eee7e49 (patch)
tree54dbb98c29f2287e9a05c46eef74d82090c7b332 /win32
parenta835ef8a5ef2441baebe4910667c49a7be441c88 (diff)
downloadperl-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.pl13
-rw-r--r--win32/makegcc.mk21
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