implement USE_CPLUSPLUS build option in win32/GNUmakefile
authorDaniel Dragan <bulk88@hotmail.com>
Wed, 25 Apr 2018 00:34:21 +0000 (20:34 -0400)
committerSteve Hay <steve.m.hay@googlemail.com>
Tue, 10 Jul 2018 07:36:51 +0000 (08:36 +0100)
win32/makefile.mk has had a C++ build option for a long time, but
GNUmakefile didn't. Over time, GNUmakefile and makefile.mk got more and
more syncronized in their features. There is very little left to implement
USE_CPLUSPLUS in GNUmakefile, so just implement it finally. This allows
the gmake/gcc 3.4.5 bundled with strawberry perl 5.8.9 to be used to build
USE_CPLUSPLUS mode perl since the dmake bundled with 5.8.9 whose version is
"Version 4.8-20070327-SHAY (Windows / MS Visual C++)"
has a bug generating cmd lines passed to cmd.exe which causes EUMM
makefiles to fail with

'..\..\miniperl.exe" "-I..\..\lib' is not recognized as an internal or
external command, operable program or batch file.

but newer dmakes such as "Version 4.12 (Windows / MinGW)" dont have this
bug. Researching the bug/regression with EUMM and ancient dmakes is left
for the future.

win32/GNUmakefile

index 99706b1..06aff86 100644 (file)
@@ -190,6 +190,11 @@ DEFAULT_INC_EXCLUDES_DOT := define
 #
 #__ICC         := define
 
+#
+# Uncomment this if you want to build everything in C++ mode
+#
+#USE_CPLUSPLUS := define
+
 #
 # uncomment next line if you want debug version of perl (big/slow)
 # If not enabled, we automatically try to use maximum optimization
@@ -588,6 +593,9 @@ LINK_DBG    = -s
 endif
 
 EXTRACFLAGS    =
+ifeq ($(USE_CPLUSPLUS),define)
+EXTRACFLAGS    += $(CXX_FLAG)
+endif
 CFLAGS         = $(EXTRACFLAGS) $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE)
 LINK_FLAGS     = $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)"
 OBJOUT_FLAG    = -o