On 07/01/2013 01:41 PM, Tsantilas Christos wrote:
> The problem looks that it is that is is uses an older version to
> configure openSSL which is installed under the "/usr/" and finally
> builds with a newer version which installed under the "/usr/local/"
> 
> This is because it finds an other component under the "/usr/local" and
> include these locations to build squid.
> 
> I believe that configuring using:
>   ./configure --with-openssl=/usr/local/
> will fix the problem.
> 
> We have also a "3.HEAD-amd64-FreeBSD-9.1" build which uses the gcc
> compiler.  In configure.ac script I am seeing the following tests:
> 
> if test "$squid_cv_compiler" = "gcc"; then
>   case "$squid_host_os" in
>   .....
>   freebsd)
>     # FreeBSD places local libraries and packages in /usr/local
>     CFLAGS="$CFLAGS -I/usr/local/include"
>     CXXFLAGS="$CXXFLAGS -I/usr/local/include"
>     LDFLAGS="$LDFLAGS -L/usr/local/lib -Wl,-R/usr/local/lib"
>     ;;
> 
> We should include the "/usr/local/" include and library paths for clang
> compiler too.


The attached patch should fix this
It just add the "usr/local/*" paths for FreeBSD in all compilers. Looks
that the "-I", "-L" and "-Wl,-R" flags supported for both clang and gcc,
so for these compilers the patch should work well.
Are we supporting any other compiler in FreeBSD?




=== modified file 'configure.ac'
--- configure.ac	2013-06-30 15:54:22 +0000
+++ configure.ac	2013-07-03 09:19:14 +0000
@@ -178,54 +178,64 @@
 SQUID_CC_GUESS_VARIANT
 SQUID_CC_GUESS_OPTIONS
 
 dnl find out the exe extension for this platform.
 dnl If it is not empty, use it for CGI as well.
 AC_EXEEXT
 AC_OBJEXT
 
 if test "x$EXEEXT" = "x" ; then
   CGIEXT=".cgi"
 else
   # automake automatically adds .exe when installing binaries
   CGIEXT=""
 fi
 AC_SUBST(CGIEXT)
 
 AM_CONDITIONAL(ENABLE_WIN32SPECIFIC,
                [test "x$squid_host_os" = "xmingw" -o "x$squid_host_os" = "xcygwin"])
 AM_CONDITIONAL(USE_IPC_WIN32,[test "x$squid_host_os" = "xmingw"])
 
-if test "x$squid_host_os" = "xmingw"; then
+case "$squid_host_os" in
+mingw)
   AC_PATH_PROG(WIN32_PSAPI, psapi.dll, none)
   CFLAGS="$CFLAGS -mthreads"
   CXXFLAGS="$CXXFLAGS -mthreads"
   if test "x$ac_cv_path_WIN32_PSAPI" = "xnone"; then
     AC_MSG_NOTICE([PSAPI.DLL is recommended to run Squid on Windows NT Platform])
     AC_MSG_NOTICE([Please see PSAPI.DLL section on doc/win32-relnotes.html.])
   else
     AC_DEFINE(HAVE_WIN32_PSAPI,1,[Define if you have PSAPI.DLL on Windows systems])
     LIBS="$LIBS -lpsapi"
   fi
   MINGW_LIBS="-lmingwex"
   AC_SUBST(MINGW_LIBS)
-fi
+  ;;
+freebsd)
+    # FreeBSD places local libraries and packages in /usr/local
+    CFLAGS="$CFLAGS -I/usr/local/include"
+    CXXFLAGS="$CXXFLAGS -I/usr/local/include"
+    LDFLAGS="$LDFLAGS -L/usr/local/lib -Wl,-R/usr/local/lib"
+    ;;
+*)
+    ;;
+esac
 
 dnl Substitutions
 AC_DEFINE_UNQUOTED(CONFIG_HOST_TYPE, "$host",[Host type from configure])
 
 AC_DEFINE_UNQUOTED(SQUID_CONFIGURE_OPTIONS, "$ac_configure_args", 
                        [configure command line used to configure Squid])
 
 CACHE_EFFECTIVE_USER="nobody"
 AC_ARG_WITH(default-user,
   AS_HELP_STRING([--with-default-user=USER],[System user account for squid permissions. Default: nobody]),
  [ CACHE_EFFECTIVE_USER="$withval" ]
 )
 AC_SUBST(CACHE_EFFECTIVE_USER)
 
 DEFAULT_LOG_DIR="$localstatedir/logs"
 AC_ARG_WITH(logdir,
   AS_HELP_STRING([--with-logdir=PATH],
     [Default location for squid logs. default: PREFIX/var/logs]), [
 case $withval in
   yes|no)
@@ -312,46 +322,40 @@
                   -woff 1009,1014,1110,1116,1183,1185,1188,1204,1230,1233,1355 \
                   -Wl,-woff,85,-woff,84,-woff,134 \
                   -nostdinc -I/usr/include -D_BSD_SIGNALS $CXXFLAGS"
           ;;
         *)
           ;;
     esac
   fi
 fi
 
 dnl set squid required flags
 if test "$squid_cv_compiler" = "gcc"; then
   case "$squid_host_os" in
   mingw)
 dnl Guido Serassio (seras...@squid-cache.org) 20070811
 dnl Using the latest MinGW (gcc 3.4.5 + mingw-runtime 3.13) cannot build with
 dnl -Werror -Wmissing-prototypes -Wmissing-declarations
 dnl TODO: check if the problem will be present in any other newer MinGW release.
     SQUID_CFLAGS="$squid_cv_cc_option_wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow"
     ;;
-  freebsd)
-    # FreeBSD places local libraries and packages in /usr/local
-    CFLAGS="$CFLAGS -I/usr/local/include"
-    CXXFLAGS="$CXXFLAGS -I/usr/local/include"
-    LDFLAGS="$LDFLAGS -L/usr/local/lib -Wl,-R/usr/local/lib"
-    ;;
   *)
     SQUID_CFLAGS="$squid_cv_cc_option_wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow"
     ;;
   esac
   SQUID_CXXFLAGS="$squid_cv_cc_option_wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow"
 else
   SQUID_CFLAGS=
   SQUID_CXXFLAGS=
 fi
 
 if test "x$enable_strict_error_checking" != "xno"; then
   SQUID_CFLAGS="$SQUID_CFLAGS $squid_cv_cc_option_werror"
   SQUID_CXXFLAGS="$SQUID_CXXFLAGS $squid_cv_cxx_option_werror"
 fi
 
 # squid_cv_cc_arg_pipe is set by SQUID_CC_GUESS_OPTIONS
 SQUID_CXXFLAGS="$SQUID_CXXFLAGS $squid_cv_cc_arg_pipe"
 SQUID_CFLAGS="$SQUID_CFLAGS $squid_cv_cc_arg_pipe"
 
 # possibly include some build info tag into squid -v

Reply via email to