diff --git a/config/CONFIG.Linux b/config/CONFIG.Linux index fdcfa14a9..8a92a3e35 100644 --- a/config/CONFIG.Linux +++ b/config/CONFIG.Linux @@ -54,15 +54,18 @@ CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w CCC_LD_FLAGS = CCC_LD_LIBS = +CCC_TEMPL_INST_FLAG = G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \ -Wmissing-prototypes -Woverloaded-virtual \ -Wwrite-strings -Wconversion -Wstrict-prototypes\ -Wpointer-arith -Winline +G++_TEMPL_INST_FLAG = -DEXPL_TEMPL CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN)) CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES) +TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG) # GNU make likes CXX instead of CCC CXX = $(CXX_$(CXXCMPLR)) @@ -111,7 +114,8 @@ TARGET_LDLIBS = $($(basename $@)_LDLIBS) TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS) CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS) -CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) +CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \ + $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG) CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS) diff --git a/config/CONFIG.Vx.68k b/config/CONFIG.Vx.68k index d669fa343..23328bbe8 100644 --- a/config/CONFIG.Vx.68k +++ b/config/CONFIG.Vx.68k @@ -8,7 +8,7 @@ RANLIB = $(VX_GNU_BIN)/ranlib68k YACC = $(EYACC) LEX = $(ELEX) CC = $(VX_GNU_BIN)/cc68k -B$(VX_GNU_LIB)/gcc-lib/ -nostdinc -CXX = $(VX_GNU_BIN)/cc68k -B$(VX_GNU_LIB)/gcc-lib/ -nostdinc +CXX = $(VX_GNU_BIN)/cc68k -B$(VX_GNU_LIB)/gcc-lib/ -nostdinc -DEXPL_TEMPL CPP = $(VX_GNU_BIN)/cpp68k -nostdinc #CPP = $(CC) -E GCC = $(CC) diff --git a/config/CONFIG.Vx.pc486 b/config/CONFIG.Vx.pc486 index f5ee19a7d..65717cc57 100644 --- a/config/CONFIG.Vx.pc486 +++ b/config/CONFIG.Vx.pc486 @@ -84,7 +84,7 @@ LDFLAGS = $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(VX_LDFLAGS) # Build compile line here COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c -COMPILE.cc = $(CC) -x 'c++' $(CFLAGS) $(CPPFLAGS) -c +COMPILE.cc = $(CC) -x 'c++' -DEXPL_TEMPL $(CFLAGS) $(CPPFLAGS) -c LINK.c = $(LD) $(LDFLAGS) CPPSNCFLAGS = $(USR_INCLUDES) $(VX_INCLUDES) diff --git a/config/CONFIG.WIN32 b/config/CONFIG.WIN32 index 0d3fa0c1e..259724be3 100644 --- a/config/CONFIG.WIN32 +++ b/config/CONFIG.WIN32 @@ -115,8 +115,8 @@ COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c # Problem: MS Visual C++ does not recognize *.cc as C++ source, # we have to compile xx.cc using the flag -Tp xx.cc, # i.e. -Tp has to be immediately before the source file name -# -kuk- -COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp + +COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -DEXPL_TEMPL -c -Tp LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -Fe$@ LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -Fe$@ diff --git a/config/CONFIG.alpha b/config/CONFIG.alpha index f3d909424..65cf90ade 100644 --- a/config/CONFIG.alpha +++ b/config/CONFIG.alpha @@ -61,15 +61,18 @@ CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w CCC_LD_FLAGS = CCC_LD_LIBS = +CCC_TEMPL_INST_FLAG = G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \ -Wmissing-prototypes -Woverloaded-virtual \ -Wwrite-strings -Wconversion -Wstrict-prototypes\ -Wpointer-arith -Winline +G++_TEMPL_INST_FLAG = -DEXPL_TEMPL CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN)) CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES) +TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG) # GNU make likes CXX instead of CCC CXX = $(CXX_$(CXXCMPLR)) @@ -121,7 +124,8 @@ TARGET_LDLIBS = $($(basename $@)_LDLIBS) TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS) CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS) -CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) +CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \ + $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG) CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS) diff --git a/config/CONFIG.hp700 b/config/CONFIG.hp700 index 162c4619b..0ab447cb0 100644 --- a/config/CONFIG.hp700 +++ b/config/CONFIG.hp700 @@ -51,15 +51,18 @@ CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w CCC_LD_FLAGS = CCC_LD_LIBS = +CCC_TEMPL_INST_FLAG = G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \ -Wmissing-prototypes -Woverloaded-virtual \ -Wwrite-strings -Wconversion -Wstrict-prototypes\ -Wpointer-arith -Winline +G++_TEMPL_INST_FLAG = -DEXPL_TEMPL CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN)) CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES) +TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG) # GNU make likes CXX instead of CCC CXX = $(CXX_$(CXXCMPLR)) @@ -113,7 +116,8 @@ TARGET_LDLIBS = $($(basename $@)_LDLIBS) TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS) CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS) -CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) +CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \ + $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG) CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) ARFLAGS = rv diff --git a/config/CONFIG.sgi b/config/CONFIG.sgi index 11af27203..4f9b9238a 100644 --- a/config/CONFIG.sgi +++ b/config/CONFIG.sgi @@ -59,15 +59,18 @@ CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w CCC_LD_FLAGS = CCC_LD_LIBS = +CCC_TEMPL_INST_FLAG = G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \ -Wmissing-prototypes -Woverloaded-virtual \ -Wwrite-strings -Wconversion -Wstrict-prototypes\ -Wpointer-arith -Winline +G++_TEMPL_INST_FLAG = -DEXPL_TEMPL CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN)) CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES) +TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG) # GNU make likes CXX instead of CCC CXX = $(CXX_$(CXXCMPLR)) @@ -106,7 +109,7 @@ ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS) UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(OP_SYS_FLAGS) -UNIX_CXXFLAGS = $(UNIX_CFLAGS) +UNIX_CXXFLAGS = $(UNIX_CFLAGS) # Target specific flags TARGET_CFLAGS = $($(basename $@)_CFLAGS) @@ -117,7 +120,8 @@ TARGET_LDLIBS = $($(basename $@)_LDLIBS) TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS) CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS) -CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) +CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \ + $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG) CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS) diff --git a/config/CONFIG.solaris b/config/CONFIG.solaris index 93182cd30..667c83902 100644 --- a/config/CONFIG.solaris +++ b/config/CONFIG.solaris @@ -79,16 +79,19 @@ CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w CCC_LD_FLAGS = -L$(SPECIAL_LANG) CCC_LD_LIBS = +CCC_TEMPL_INST_FLAG = G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \ -Wmissing-prototypes -Woverloaded-virtual \ -Wwrite-strings -Wconversion -Wstrict-prototypes\ -Wpointer-arith -Winline +G++_TEMPL_INST_FLAG = -DEXPL_TEMPL CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN)) CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES) - +TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG) + # GNU make likes CXX instead of CCC CXX = $(CXX_$(CXXCMPLR)) @@ -129,7 +132,7 @@ UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) $(CCOMPILER_LDFLAGS) UNIX_LDLIBS = $(UNIX_SLIBS) -lm $(CCOMPILER_LDLIBS) # Architecture specific build flags -ARCH_DEP_CFLAGS = -DSOLARIS +ARCH_DEP_CFLAGS = -DSOLARIS -D_REENTRANT ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS) ARCH_DEP_LDLIBS = -lsocket -lnsl # -lsocket needed by libca.a @@ -148,7 +151,8 @@ TARGET_LDLIBS = $($(basename $@)_LDLIBS) TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS) CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS) -CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) +CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \ + $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG) CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS) diff --git a/config/CONFIG.sun4 b/config/CONFIG.sun4 index 0811f8a20..4211dd1c0 100644 --- a/config/CONFIG.sun4 +++ b/config/CONFIG.sun4 @@ -86,20 +86,22 @@ CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w CCC_LD_FLAGS = -L$(SPECIAL_LANG) CCC_LD_LIBS = +CCC_TEMPL_INST_FLAG = G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \ -Wmissing-prototypes -Woverloaded-virtual \ -Wwrite-strings -Wconversion -Wstrict-prototypes\ -Wpointer-arith -Winline +G++_TEMPL_INST_FLAG = -DEXPL_TEMPL CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN)) CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES) +TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG) # GNU make likes CXX instead of CCC CXX = $(CXX_$(CXXCMPLR)) - # Static Build options ACC_SFLAGS_YES= -Bstatic ACC_SFLAGS_NO= @@ -145,7 +147,8 @@ TARGET_LDLIBS = $($(basename $@)_LDLIBS) TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS) CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS) -CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) +CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) \ + $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG) CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS)