#endif
#endif
-/* The GCC strength-reduce bug is fixed for FreeBSD 2.1.5 and later */
+/* Suppress warnings dependant from compiler versions */
#ifndef DefaultGcc2i386Opt
-#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 5)
-#define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
- -Wno-unused-result -Wno-deprecated-register
-#endif
+# if defined(__clang__) && defined(__clang_major__) && defined(__clang_minor__)
+# if (__clang_major__ > 3) || \
+ (__clang_major__ == 3 && __clang_minor__ >= 4)
+# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
+ -Wno-unused-result -Wno-deprecated-register
+# else
+# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
+ -Wno-unused-result
+# endif
+# elif defined(__GNUC__) && defined(__GNUC_MINOR__)
+# if (__GNUC__ > 4) || \
+ (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
+ -Wno-unused-result -Wno-deprecated
+# else
+# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings
+# endif
+# else
+# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing
+# endif
#endif
+
#ifndef OptimizedCDebugFlags
# if defined(i386Architecture) || defined(AMD64Architecture)
# define OptimizedCDebugFlags DefaultGcc2i386Opt
#define StandardDefines -DCSRG_BASED
#define StandardIncludes -I/usr/local/include
+
+#ifndef TopMotifInclude
+#define TopMotifInclude /usr/local/include
+#endif
+
#define BuildLibPathVar LD_LIBRARY_PATH
#define DefaultUserPath /bin:/usr/bin:/usr/local/bin:$(BINDIR)
# endif
#endif
+/* Suppress warnings dependant from compiler versions */
#if !defined(GccWarningOptions)
-# define GccWarningOptions -Wpointer-arith -Wno-unused -Wno-write-strings -Wno-switch -Wno-unused-result -Wno-deprecated-register
+# if (defined __clang__)
+# define GccWarningOptions -Wpointer-arith -Wno-unused -Wno-write-strings -Wno-switch -Wno-unused-result -Wno-deprecated-register
+# else
+# define GccWarningOptions -Wpointer-arith -Wno-unused -Wno-write-strings -Wno-switch
+# endif
#endif
#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
#if defined(LinuxArchitecture) || defined(BSDArchitecture)
+#if defined(__llvm__)
+NOIMPLTEMPLATES =
+#else
+NOIMPLTEMPLATES = -fno-implicit-templates
+#endif
+
/*
* put cpp directives here rather than in CXXDEFINES because
* for some reason the CXXDEFINES aren't passed to the link phase
*/
CXXOPTIONS = \
-DSP_VOLATILE=volatile -DSP_CONST=const -DSP_ANSI_CLASS_INST \
- -DSP_HAVE_LOCALE -DSP_MULTI_BYTE -DSP_MANUAL_INST -fno-implicit-templates
+ -DSP_HAVE_LOCALE -DSP_MULTI_BYTE -DSP_MANUAL_INST $(NOIMPLTEMPLATES)
/*
* Flags passed into compile step when doing manual template instantiation.
*/
-CXXTEMPLATEFLAGS = -fno-implicit-templates
+CXXTEMPLATEFLAGS = $(NOIMPLTEMPLATES)
M4 = /usr/bin/m4