summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EXTERN.h8
-rw-r--r--INTERN.h2
-rw-r--r--win32/makefile.mk31
3 files changed, 18 insertions, 23 deletions
diff --git a/EXTERN.h b/EXTERN.h
index 4e4f1addcc..db8db2b24f 100644
--- a/EXTERN.h
+++ b/EXTERN.h
@@ -28,14 +28,14 @@
# define dEXTCONST const
# else
# if defined(PERLDLL) || defined(__SYMBIAN32__)
-# define EXT extern __declspec(dllexport)
+# define EXT EXTERN_C __declspec(dllexport)
# define dEXT
-# define EXTCONST extern __declspec(dllexport) const
+# define EXTCONST EXTERN_C __declspec(dllexport) const
# define dEXTCONST const
# else
-# define EXT extern __declspec(dllimport)
+# define EXT EXTERN_C __declspec(dllimport)
# define dEXT
-# define EXTCONST extern __declspec(dllimport) const
+# define EXTCONST EXTERN_C __declspec(dllimport) const
# define dEXTCONST const
# endif
# endif
diff --git a/INTERN.h b/INTERN.h
index e6e0602657..eaaf6b2c64 100644
--- a/INTERN.h
+++ b/INTERN.h
@@ -35,7 +35,7 @@
# ifdef __cplusplus
# define EXT
# define dEXT
-# define EXTCONST extern const
+# define EXTCONST EXTERN_C const
# define dEXTCONST const
# else
# define EXT
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 191e6cb7ad..1fb2df427f 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -498,11 +498,9 @@ LIBC =
#LIBC = -lmsvcrt
# same libs as MSVC
-LIBFILES = $(LIBC) \
- -lmoldname -lkernel32 -luser32 -lgdi32 \
- -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 \
- -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr \
- -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
+LIBFILES = $(LIBC) -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool \
+ -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 \
+ -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
.IF "$(CFG)" == "Debug"
OPTIMIZE = -g -O2 -DDEBUGGING
@@ -643,11 +641,10 @@ BUILDOPT += -D_USE_32BIT_TIME_T
.ENDIF
.ENDIF
-LIBBASEFILES = \
- oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
- comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
- netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \
- version.lib odbc32.lib odbccp32.lib comctl32.lib
+LIBBASEFILES = oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
+ comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
+ netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib \
+ odbc32.lib odbccp32.lib comctl32.lib
# Avoid __intel_new_proc_init link error for libircmt.
# libmmd is /MD equivelent, other variants exist.
@@ -1088,16 +1085,14 @@ CHECKDMAKE :
@exit 1
.ENDIF
-$(GLOBEXE) : perlglob$(o)
+$(GLOBEXE) : perlglob.c
.IF "$(CCTYPE)" == "GCC"
- $(LINK32) $(BLINK_FLAGS) -mconsole -o $@ perlglob$(o) $(LIBFILES)
+ $(LINK32) $(OPTIMIZE) $(BLINK_FLAGS) -mconsole -o $@ perlglob.c $(LIBFILES)
.ELSE
- $(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ perlglob$(o) setargv$(o)
- $(EMBED_EXE_MANI)
+ $(CC) $(OPTIMIZE) -Fe$@ perlglob.c -link $(BLINK_FLAGS) setargv$(o) \
+ $(LIBFILES) && $(EMBED_EXE_MANI)
.ENDIF
-perlglob$(o) : perlglob.c
-
config.w32 : $(CFGSH_TMPL)
copy $(CFGSH_TMPL) config.w32
@@ -1408,8 +1403,8 @@ $(MINIDIR)\globals$(o) : $(GENERATED_HEADERS)
$(GENUUDMAP) $(GENERATED_HEADERS) .UPDATEALL : ..\mg_raw.h
.IF "$(CCTYPE)" == "GCC"
- $(LINK32) $(CFLAGS_O) -o..\generate_uudmap.exe ..\generate_uudmap.c $(BLINK_FLAGS) \
- $(mktmp $(LKPRE) $(LIBFILES) $(LKPOST))
+ $(LINK32) $(CFLAGS_O) -o..\generate_uudmap.exe ..\generate_uudmap.c \
+ $(BLINK_FLAGS) -x $(mktmp $(LKPRE) $(LIBFILES) $(LKPOST))
.ELSE
$(CC) $(CFLAGS_O) -Fe..\generate_uudmap.exe ..\generate_uudmap.c @$(mktmp -link $(LIBFILES)) -link $(BLINK_FLAGS)
$(EMBED_EXE_MANI:s/$@/..\generate_uudmap.exe/)