From f21aa86be80017b16ab40e60c3e119f5fa6b4dcc Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Thu, 13 Jul 2017 05:44:18 +0000 Subject: [PATCH] Makefile: C++ compiler flag --std=c++11 We would like to use C++11 features in the future, so tell the compiler to use C++11. The lpsolve library relies on the WIN32 macro definition to detect Windows instead of the usual _WIN32. WIN32 seems not to be defined in mingw/gcc when standard mode is active, so we define it ourselves. http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system#WindowsCygwinnonPOSIXandMinGW git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12010 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/Makefile | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/prism/Makefile b/prism/Makefile index 8a34364a..a6c51c4a 100644 --- a/prism/Makefile +++ b/prism/Makefile @@ -158,7 +158,7 @@ ifeq ($(OSTYPE),linux) # Position Independent Code required on AMD64/Itanium CUDD_XCFLAGS = -m64 -fPIC -DPIC -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 $(DEBUG) CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CPPFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CPPFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) BINDISTSUFFIX = linux64 else @@ -167,13 +167,13 @@ ifeq ($(OSTYPE),linux) # Note: We omit the -m64 flag from here since it seems to be unsupported by gcc on IA64 CUDD_XCFLAGS = -fPIC -DPIC -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 $(DEBUG) CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CPPFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CPPFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) BINDISTSUFFIX = linux64 else CUDD_XCFLAGS = -m32 -malign-double -DHAVE_IEEE_754 -DBSD $(DEBUG) CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CPPFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CPPFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) BINDISTSUFFIX = linux32 endif @@ -192,7 +192,7 @@ endif ifeq ($(OSTYPE),solaris) CUDD_XCFLAGS = -mcpu=ultrasparc -DHAVE_IEEE_754 -DUNIX100 -DEPD_BIG_ENDIAN $(DEBUG) CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CPPFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CPPFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) BINDISTSUFFIX = solaris BIN_TARGETS=prism.linux xprism.linux @@ -211,7 +211,8 @@ ifeq ($(OSTYPE),cygwin) CPP = /usr/bin/x86_64-w64-mingw32-g++ CUDD_XCFLAGS = -fPIC -DPIC -malign-double -DHAVE_IEEE_754 -DHAVE_GETRLIMIT=0 -DRLIMIT_DATA_DEFAULT=268435456 -DHAVE_SYS_RESOURCE_H=0 -DHAVE_SYS_WAIT_H=0 -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=4 -fpermissive $(DEBUG) -static-libgcc -static-libstdc++ CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CPPFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + # need -DWIN32 for lpsolve (WIN32 is only defined by mingw/gcc without --std=c++11) + CPPFLAGS = --std=c++11 -DWIN32 $(CUDD_XCFLAGS) $(OPTIMISE) LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) -Wl,--add-stdcall-alias -Wl,-Bstatic,--whole-archive -lpthread -Wl,-Bdynamic,--no-whole-archive BINDISTSUFFIX = win64 else @@ -219,7 +220,8 @@ ifeq ($(OSTYPE),cygwin) CPP = /usr/bin/i686-w64-mingw32-g++ CUDD_XCFLAGS = -march=i686 -malign-double -DHAVE_IEEE_754 -DHAVE_GETRLIMIT=0 -DRLIMIT_DATA_DEFAULT=268435456 -DHAVE_SYS_RESOURCE_H=0 -DHAVE_SYS_WAIT_H=0 $(DEBUG) -static-libgcc -static-libstdc++ CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CPPFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + # need -DWIN32 for lpsolve (WIN32 is only defined by mingw/gcc without --std=c++11) + CPPFLAGS = --std=c++11 -DWIN32 $(CUDD_XCFLAGS) $(OPTIMISE) LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) -Wl,--add-stdcall-alias -Wl,-Bstatic,--whole-archive -lpthread -Wl,-Bdynamic,--no-whole-archive BINDISTSUFFIX = win32 endif @@ -239,14 +241,14 @@ ifeq ($(OSTYPE),darwin) ifeq ($(ARCH),x86_64) CUDD_XCFLAGS = -arch x86_64 -fPIC -DPIC -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 -fno-common $(DEBUG) CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CPPFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CPPFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) -Wl,-search_paths_first BINDISTSUFFIX = osx64 BIN_TARGETS=prism.darwin64 xprism.linux else CUDD_XCFLAGS = -arch i386 -DHAVE_IEEE_754 -DBSD -fno-common $(DEBUG) CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CPPFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CPPFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) -Wl,-search_paths_first BINDISTSUFFIX = osx32 BIN_TARGETS=prism.darwin32 xprism.linux