aboutsummaryrefslogtreecommitdiffstats
path: root/main/bacula/configure-detect-gcc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/bacula/configure-detect-gcc.patch')
-rw-r--r--main/bacula/configure-detect-gcc.patch81
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__) */