diff --git a/config.h.in b/config.h.in index f3f1b37..acb0017 100644 --- a/config.h.in +++ b/config.h.in @@ -15,6 +15,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_BITS_SIGNUM_H +/* Uses the Clang compiler */ +#undef HAVE_CLANG + /* Define to 1 if you have the header file. */ #undef HAVE_COMMONCRYPTO_COMMONDIGEST_H @@ -45,6 +48,12 @@ /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME +/* Uses the aCC compiler */ +#undef HAVE_HP_ACC + +/* Uses the gxlc++ compiler */ +#undef HAVE_IBM_GXLC + /* Define to 1 if you have the header file. */ #undef HAVE_ICONV_H @@ -72,6 +81,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_SHA_H +/* Uses the sunCC compiler */ +#undef HAVE_ORACLE_SUNCC + /* Define to 1 if you have the `port_create' function. */ #undef HAVE_PORT_CREATE diff --git a/configure b/configure index 2eaa1c3..06aa163 100755 --- a/configure +++ b/configure @@ -747,13 +747,13 @@ ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules +enable_dependency_tracking enable_extrawarnings enable_static enable_debug enable_coverage enable_profiling enable_urandom -enable_dependency_tracking enable_commoncrypto enable_iconv enable_openssl @@ -1395,16 +1395,16 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build —-disable-extrawarnings do not compile with -Wextra warnings enabled --enable-static compile static binaries --enable-debug compile with debuging enabled --enable-coverage enable code coverage --enable-profiling enable profiling --enable-urandom use /dev/urandom - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build --disable-commoncrypto Don't use CommonCrypto hash implementations (OSX only) --enable-iconv Use iconv for locale-independent report and db files --disable-openssl Don't link against OpenSSL libraries @@ -3517,85 +3517,8 @@ ac_config_headers="$ac_config_headers config.h" -CFLAGS=${CFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} -CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} -# This is primarily to support old compilers that don’t understand -Wextra -# Check whether --enable-extrawarnings was given. -if test "${enable_extrawarnings+set}" = set; then : - enableval=$enable_extrawarnings; -fi - -if test "x$enable_extrawarnings" != "xno" -then - CFLAGS="${CFLAGS} -Wextra -Wno-unused-parameter" - CXXFLAGS="${CXXFLAGS} -Wextra -Wno-unused-parameter" -fi - -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; -fi - -if test "x$enable_static" = xyes -then LDFLAGS="${LDFLAGS} -static" -fi - -# Check whether --enable-debug was given. -if test "${enable_debug+set}" = set; then : - enableval=$enable_debug; -fi - -if test "x$enable_debug" = xyes -then - CFLAGS="${CFLAGS} -g" - CXXFLAGS="${CXXFLAGS} -g" - -$as_echo "#define DEBUG 1" >>confdefs.h - -else - -$as_echo "#define NDEBUG 1" >>confdefs.h - -fi - -# Check whether --enable-coverage was given. -if test "${enable_coverage+set}" = set; then : - enableval=$enable_coverage; -fi - -if test "x$enable_coverage" = xyes -then - CFLAGS="${CFLAGS} --coverage" - CXXFLAGS="${CXXFLAGS} --coverage" - LDFLAGS="${LDFLAGS} --coverage" -fi - -# Check whether --enable-profiling was given. -if test "${enable_profiling+set}" = set; then : - enableval=$enable_profiling; -fi - -if test "x$enable_profiling" = xyes -then - CFLAGS="${CFLAGS} -pg" - CXXFLAGS="${CXXFLAGS} -pg" - LDFLAGS="${LDFLAGS} -pg" -fi - -# Check whether --enable-urandom was given. -if test "${enable_urandom+set}" = set; then : - enableval=$enable_urandom; -fi - -if test "x$enable_urandom" = xyes -then - -$as_echo "#define ENABLE_DEV_URANDOM 1" >>confdefs.h - -fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -5187,6 +5110,129 @@ $as_echo "#define HAVE_GCC 0" >>confdefs.h fi +if test "x${CXX}" = "xclang++"; then + +$as_echo "#define HAVE_CLANG 1" >>confdefs.h + +else + +$as_echo "#define HAVE_CLANG 0" >>confdefs.h + +fi + +if test "x${CXX}" = "xgxlc++"; then + +$as_echo "#define HAVE_IBM_GXLC 1" >>confdefs.h + +else + +$as_echo "#define HAVE_IBM_GXLC 0" >>confdefs.h + +fi + +if test "x${CXX}" = "xsunCC"; then + +$as_echo "#define HAVE_ORACLE_SUNCC 1" >>confdefs.h + +else + +$as_echo "#define HAVE_ORACLE_SUNCC 0" >>confdefs.h + +fi + +if test "x${CXX}" = "xaCC"; then + +$as_echo "#define HAVE_HP_ACC 1" >>confdefs.h + +else + +$as_echo "#define HAVE_HP_ACC 0" >>confdefs.h + +fi + + + +CFLAGS=${CFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} +CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} + + + +# This is primarily to support old compilers that don’t understand -Wextra +# Check whether --enable-extrawarnings was given. +if test "${enable_extrawarnings+set}" = set; then : + enableval=$enable_extrawarnings; +fi + +if test "x$enable_extrawarnings" != "xno" +then + CFLAGS="${CFLAGS} -Wextra -Wno-unused-parameter" + CXXFLAGS="${CXXFLAGS} -Wextra -Wno-unused-parameter" +fi + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; +fi + +if test "x$enable_static" = xyes +then LDFLAGS="${LDFLAGS} -static" +fi + +# Check whether --enable-debug was given. +if test "${enable_debug+set}" = set; then : + enableval=$enable_debug; +fi + +if test "x$enable_debug" = xyes +then + CFLAGS="${CFLAGS} -g" + CXXFLAGS="${CXXFLAGS} -g" + +$as_echo "#define DEBUG 1" >>confdefs.h + +else + +$as_echo "#define NDEBUG 1" >>confdefs.h + +fi + +# Check whether --enable-coverage was given. +if test "${enable_coverage+set}" = set; then : + enableval=$enable_coverage; +fi + +if test "x$enable_coverage" = xyes +then + CFLAGS="${CFLAGS} --coverage" + CXXFLAGS="${CXXFLAGS} --coverage" + LDFLAGS="${LDFLAGS} --coverage" +fi + +# Check whether --enable-profiling was given. +if test "${enable_profiling+set}" = set; then : + enableval=$enable_profiling; +fi + +if test "x$enable_profiling" = xyes +then + CFLAGS="${CFLAGS} -pg" + CXXFLAGS="${CXXFLAGS} -pg" + LDFLAGS="${LDFLAGS} -pg" +fi + +# Check whether --enable-urandom was given. +if test "${enable_urandom+set}" = set; then : + enableval=$enable_urandom; +fi + +if test "x$enable_urandom" = xyes +then + +$as_echo "#define ENABLE_DEV_URANDOM 1" >>confdefs.h + +fi + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' diff --git a/configure.ac b/configure.ac index 588c0a9..542bb50 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -dnl Process this file with autoconf to produce a configure script. +zdnl Process this file with autoconf to produce a configure script. dnl dnl @@ -11,12 +11,63 @@ AM_CONFIG_HEADER(config.h) AC_COPYRIGHT([The developer of the original code and/or files is Tripwire, Inc. Portions created by Tripwire, Inc. are copyright 2000-2018 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, Inc. All rights reserved.]) AC_REVISION([$Revision: 2.4.3.8 $]) -dnl ############### -dnl Setup defaults -dnl ############### + + +dnl ################### +dnl Checks for programs +dnl ################### +AC_PROG_CC([gcc clang suncc aCC gxlc xlC_r xlC cl.exe]) +AC_PROG_CXX([g++ c++ clang++ sunCC aCC gxlc++ xlC_r xlC cl.exe]) +AC_PROG_RANLIB +AC_PROG_YACC +AC_PROG_LN_S +AC_PROG_LN +AN_MAKEVAR([AR], [AC_PROG_AR]) +AN_PROGRAM([ar], [AC_PROG_AR]) +AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)]) +AC_PROG_AR +AC_PATH_PROG(path_to_vi, vi) +AC_PATH_PROG(path_to_sendmail, sendmail, "", [$PATH:/usr/libexec]) + +if test "x${GXX}" != "x"; then + AC_DEFINE(HAVE_GCC, 1, [Uses the GNU gcc compiler]) +else + AC_DEFINE(HAVE_GCC, 0, [Uses the GNU gcc compiler]) +fi + +if test "x${CXX}" = "xclang++"; then + AC_DEFINE(HAVE_CLANG, 1, [Uses the Clang compiler]) +else + AC_DEFINE(HAVE_CLANG, 0, [Uses the Clang compiler]) +fi + +if test "x${CXX}" = "xgxlc++"; then + AC_DEFINE(HAVE_IBM_GXLC, 1, [Uses the gxlc++ compiler]) +else + AC_DEFINE(HAVE_IBM_GXLC, 0, [Uses the gxlc++ compiler]) +fi + +if test "x${CXX}" = "xsunCC"; then + AC_DEFINE(HAVE_ORACLE_SUNCC, 1, [Uses the sunCC compiler]) +else + AC_DEFINE(HAVE_ORACLE_SUNCC, 0, [Uses the sunCC compiler]) +fi + +if test "x${CXX}" = "xaCC"; then + AC_DEFINE(HAVE_HP_ACC, 1, [Uses the aCC compiler]) +else + AC_DEFINE(HAVE_HP_ACC, 0, [Uses the aCC compiler]) +fi + + +dnl ##################### +dnl Set up base compiler flags +dnl ##################### + CFLAGS=${CFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} + dnl ##################### dnl Configuration options dnl ##################### @@ -66,27 +117,6 @@ then AC_DEFINE(ENABLE_DEV_URANDOM, 1, [Enable use of /dev/urandom]) fi -dnl ################### -dnl Checks for programs -dnl ################### -AC_PROG_CC([gcc clang suncc aCC gxlc xlC_r xlC cl.exe]) -AC_PROG_CXX([g++ c++ clang++ sunCC aCC gxlc++ xlC_r xlC cl.exe]) -AC_PROG_RANLIB -AC_PROG_YACC -AC_PROG_LN_S -AC_PROG_LN -AN_MAKEVAR([AR], [AC_PROG_AR]) -AN_PROGRAM([ar], [AC_PROG_AR]) -AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)]) -AC_PROG_AR -AC_PATH_PROG(path_to_vi, vi) -AC_PATH_PROG(path_to_sendmail, sendmail, "", [$PATH:/usr/libexec]) - -if test "x${GXX}" != "x"; then - AC_DEFINE(HAVE_GCC, 1, [Uses the GNU gcc compiler]) -else - AC_DEFINE(HAVE_GCC, 0, [Uses the GNU gcc compiler]) -fi dnl ####################### dnl Checks for header files diff --git a/src/core/error.h b/src/core/error.h index a6a3437..1b7be5e 100644 --- a/src/core/error.h +++ b/src/core/error.h @@ -127,7 +127,7 @@ protected: // to be added to the exception class. /////////////////////////////////////////////////////////////////////////////// -#if HAVE_GCC +#if HAVE_GCC || HAVE_IBM_GXLC # define TSS_BEGIN_EXCEPTION_EXPLICIT #else # define TSS_BEGIN_EXCEPTION_EXPLICIT explicit