[PATCH] Fix build on icc

From: Kinkie <gkinkie_at_gmail.com>
Date: Tue, 28 May 2013 10:09:20 +0200

Hi,
  this patch (minus the formatting, I will commit directly to trunk if
approved) fixes the build on Intel's compiler suite.
Summary of changes:
- change configure to not define _FILE_OFFSET_BITS=64 on 64+bit
platforms - it's not needed and it confuses libg++. To do this I need
to detect sizeof(long) early; it's a double check but I don't feel we
need to restructure the whole configure.ac for one single check
- #if-guard some gcc-specific #pragma directives so that they're not used on icc

------ the patch ------

=== modified file 'configure.ac'
--- configure.ac 2013-05-21 05:39:18 +0000
+++ configure.ac 2013-05-27 08:56:07 +0000
@@ -1583,6 +1583,9 @@
 esac
 ])

+#hack. Let's early-detect sizeof(long)
+AC_CHECK_SIZEOF(long)
+
 if test "x$squid_opt_enable_large_files" = "xyes" -a "x$buildmodel" = "x"; then
   for model in POSIX_V6_LPBIG_OFFBIG XBS5_LPBIG_OFFBIG
POSIX_V6_LP64_OFF64 XBS5_LP64_OFF64 POSIX_V6_ILP32_OFFBIG
XBS5_ILP32_OFFBIG; do
     if test "`getconf _$model 2>/dev/null || true`" = 1 || test
"`getconf $model 2>/dev/null || true`" ; then
@@ -1595,7 +1598,8 @@
   fi
 fi
 if test "x$buildmodel" = "xdefault" -o "x$buildmodel" = "x"; then
- if test "x$squid_opt_enable_large_files" = "xyes" ; then
+ # define _FILE_OFFSET_BITS if requested and needed
+ if test "x$squid_opt_enable_large_files" = "xyes" -a
$ac_cv_sizeof_long -le 4 ; then
     AC_MSG_NOTICE([Enabling -D_FILE_OFFSET_BITS=64])
     CFLAGS="-D_FILE_OFFSET_BITS=64 $CFLAGS"
     CXXFLAGS="-D_FILE_OFFSET_BITS=64 $CXXFLAGS"

=== modified file 'tools/purge/convert.cc'
--- tools/purge/convert.cc 2012-10-04 11:10:17 +0000
+++ tools/purge/convert.cc 2013-05-22 16:11:41 +0000
@@ -40,7 +40,7 @@
 // Initial revision
 //
 //
-#if (defined(__GNUC__) || defined(__GNUG__)) && !defined(__clang__)
+#if (defined(__GNUC__) || defined(__GNUG__)) && !defined(__clang__)
&& !defined(__INTEL_COMPILER)
 #pragma implementation
 #endif

=== modified file 'tools/purge/socket.cc'
--- tools/purge/socket.cc 2013-01-21 07:15:09 +0000
+++ tools/purge/socket.cc 2013-05-22 16:44:03 +0000
@@ -42,7 +42,7 @@
 // Initial revision
 //
 //
-#if (defined(__GNUC__) || defined(__GNUG__)) && !defined(__clang__)
+#if (defined(__GNUC__) || defined(__GNUG__)) && !defined(__clang__)
&& !defined(__INTEL_COMPILER)
 #pragma implementation
 #endif

--
    /kinkie
Received on Tue May 28 2013 - 08:09:34 MDT

This archive was generated by hypermail 2.2.0 : Tue May 28 2013 - 12:00:12 MDT