diff options
Diffstat (limited to 'main/bacula/configure-detect-gcc.patch')
-rw-r--r-- | main/bacula/configure-detect-gcc.patch | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/main/bacula/configure-detect-gcc.patch b/main/bacula/configure-detect-gcc.patch new file mode 100644 index 0000000000..2d0c647da7 --- /dev/null +++ b/main/bacula/configure-detect-gcc.patch @@ -0,0 +1,81 @@ +This fixes building with ccache +http://bugs.bacula.org/view.php?id=2118 + +diff --git a/autoconf/configure.in b/autoconf/configure.in +index 47d45de..2a6a194 100644 +--- a/autoconf/configure.in ++++ b/autoconf/configure.in +@@ -87,17 +87,6 @@ AC_PROG_CXX + AC_PROG_CC_C_O dnl Determine if C compiler support -c -o. + AC_PROG_GCC_TRADITIONAL dnl Determine if ioctl() need -traditional. + +-BASECC=`basename $CC` +-have_gcc=no +-if test "x$BASECC" = xgcc; then +- AC_DEFINE(HAVE_GCC) +- have_gcc=yes +-fi +-AC_PATH_PROG(CXX, $CXX, $CXX) +-if test ! -e $CXX; then +- AC_MSG_ERROR(Unable to find C++ compiler) +-fi +- + dnl ------------------------------------------------------- + dnl Check for programs. + dnl ------------------------------------------------------ +@@ -2854,10 +2843,18 @@ AC_DEFINE(FDLIBS) + + CFLAGS=${CFLAGS--O} + +-if test x$have_gcc = xyes ; then ++dnl ++dnl Check if gcc ++dnl ++AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ ++ #if !defined (__GNUC__) ++ #error "not gcc" ++ #endif ++ ]])], [ + CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti" + CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti" +-fi ++]) ++ + LDFLAGS=${LDFLAGS--O} + CPPFLAGS="$CPPFLAGS" + CFLAGS="$CFLAGS" +diff --git a/src/findlib/file_attrs.c b/src/findlib/file_attrs.c +index 9268ce1..42036bb 100644 +--- a/src/findlib/file_attrs.c ++++ b/src/findlib/file_attrs.c +@@ -368,7 +368,7 @@ void encode_stat(char *buf, struct stat *statp, int stat_size, int32_t LinkFI, i + #ifdef HAVE_TYPEOF + #define plug(st, val) st = (typeof st)val + #else +- #if !HAVE_GCC & HAVE_SUN_OS ++ #if !defined(__GNUC__) & HAVE_SUN_OS + /* Sun compiler does not handle templates correctly */ + #define plug(st, val) st = val + #elif __sgi +diff --git a/src/lib/bsys.c b/src/lib/bsys.c +index 40e048e..f352db0 100644 +--- a/src/lib/bsys.c ++++ b/src/lib/bsys.c +@@ -859,7 +859,7 @@ void allow_os_suspensions() + #endif + + +-#if HAVE_BACKTRACE && HAVE_GCC ++#if HAVE_BACKTRACE && defined(__GNUC__) + #include <cxxabi.h> + #include <execinfo.h> + void stack_trace() +@@ -910,6 +910,6 @@ void stack_trace() + } + actuallyfree(stack_strings); /* malloc()ed by backtrace_symbols */ + } +-#else /* HAVE_BACKTRACE && HAVE_GCC */ ++#else /* HAVE_BACKTRACE && defined(__GNUC__) */ + void stack_trace() {} +-#endif /* HAVE_BACKTRACE && HAVE_GCC */ ++#endif /* HAVE_BACKTRACE && defined(__GNUC__) */ |