#__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
# with all compilers that are known to have a working optimizer.
!IF "$(__ICC)" == "define"
EXTRACFLAGS = $(EXTRACFLAGS) -Qstd=c99
!ENDIF
+!IF "$(USE_CPLUSPLUS)" == "define"
+EXTRACFLAGS = $(EXTRACFLAGS) $(CXX_FLAG)
+!ENDIF
CFLAGS = $(EXTRACFLAGS) $(INCLUDES) $(DEFINES) $(LOCDEFS) \
$(PCHFLAGS) $(OPTIMIZE)
LINK_FLAGS = -nologo -nodefaultlib $(LINK_DBG) \
"cc=$(CC)" \
"ld=$(LINK32)" \
"ccflags=$(EXTRACFLAGS) $(OPTIMIZE:"=\") $(DEFINES) $(BUILDOPT)" \
+ "usecplusplus=$(USE_CPLUSPLUS)" \
"cf_email=$(EMAIL)" \
"d_mymalloc=$(PERL_MALLOC)" \
"libs=$(LIBFILES)" \
@echo #undef UVXf>>$@
@echo #undef USE_64_BIT_INT>>$@
@echo #undef Size_t_size>>$@
+ @echo #undef USE_CPLUSPLUS>>$@
!IF "$(USE_LARGE_FILES)"=="define"
@echo #define Off_t __int64>>$@
@echo #define LSEEKSIZE ^8>>$@
@echo #define UVXf "lX">>$@
@echo #undef USE_64_BIT_INT>>$@
!ENDIF
+!IF "$(USE_CPLUSPLUS)"=="define"
+ @echo #define USE_CPLUSPLUS>>$@
+!ELSE
+ @echo #undef USE_CPLUSPLUS>>$@
+!ENDIF
@echo #endif>>$@
..\git_version.h : $(MINIPERL) ..\make_patchnum.pl
$opt{d_pseudofork} = 'define';
}
+if ($opt{usecplusplus} eq 'define') {
+ $opt{d_cplusplus} = 'define';
+ $opt{extern_C} = 'extern "C"';
+}
+
#if the fields above are defined, they override the defaults in the premade
#config file
while (<>) {
#__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
# with all compilers that are known to have a working optimizer.
.ENDIF
EXTRACFLAGS =
+.IF "$(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
EXTRACFLAGS = -nologo -GF -W3
.IF "$(__ICC)" == "define"
-EXTRACFLAGS = $(EXTRACFLAGS) -Qstd=c99
+EXTRACFLAGS += -Qstd=c99
+.ENDIF
+.IF "$(USE_CPLUSPLUS)" == "define"
+EXTRACFLAGS += $(CXX_FLAG)
.ENDIF
CFLAGS = $(EXTRACFLAGS) $(INCLUDES) $(DEFINES) $(LOCDEFS) \
$(PCHFLAGS) $(OPTIMIZE)
cc=$(CC) ~ \
ld=$(LINK32) ~ \
ccflags=$(EXTRACFLAGS) $(OPTIMIZE) $(DEFINES) $(BUILDOPT) ~ \
+ usecplusplus=$(USE_CPLUSPLUS) ~ \
cf_email=$(EMAIL) ~ \
d_mymalloc=$(PERL_MALLOC) ~ \
libs=$(LIBFILES:f) ~ \
@echo #undef NVff>>$@
@echo #undef NVgf>>$@
@echo #undef USE_LONG_DOUBLE>>$@
+ @echo #undef USE_CPLUSPLUS>>$@
.IF "$(USE_LARGE_FILES)"=="define"
@echo #define Off_t $(INT64)>>$@
@echo #define LSEEKSIZE ^8>>$@
@echo #define NVgf "g">>$@
@echo #undef USE_LONG_DOUBLE>>$@
.ENDIF
+.IF "$(USE_CPLUSPLUS)"=="define"
+ @echo #define USE_CPLUSPLUS>>$@
+.ELSE
+ @echo #undef USE_CPLUSPLUS>>$@
+.ENDIF
@echo #endif>>$@
..\git_version.h : $(MINIPERL) ..\make_patchnum.pl