summaryrefslogtreecommitdiff
path: root/config/gr_lib64.m4
diff options
context:
space:
mode:
authoreb2008-08-20 21:41:26 +0000
committereb2008-08-20 21:41:26 +0000
commitbb084b53d9f5d1dcf3c4ac2c5605352a2df6551f (patch)
tree9fd92462aade79ae637112fb3604bd4594039c4d /config/gr_lib64.m4
parentec20f96de2e8a1ab95e370522eeb6ba840c9f09e (diff)
downloadgnuradio-bb084b53d9f5d1dcf3c4ac2c5605352a2df6551f.tar.gz
gnuradio-bb084b53d9f5d1dcf3c4ac2c5605352a2df6551f.tar.bz2
gnuradio-bb084b53d9f5d1dcf3c4ac2c5605352a2df6551f.zip
resolved problem w/ lib vs lib64; added boost stuff to gnuradio-core.pc.in
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@9358 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'config/gr_lib64.m4')
-rw-r--r--config/gr_lib64.m480
1 files changed, 54 insertions, 26 deletions
diff --git a/config/gr_lib64.m4 b/config/gr_lib64.m4
index f34779a49..751f774b4 100644
--- a/config/gr_lib64.m4
+++ b/config/gr_lib64.m4
@@ -19,39 +19,67 @@ dnl the Free Software Foundation, Inc., 51 Franklin Street,
dnl Boston, MA 02110-1301, USA.
dnl
-# GR_LIB64()
-#
-# Checks to see if we're on a x86_64 or powerpc64 machine, and if so, detemine
-# if libdir should end in "64" or not.
-#
-# May append "64" to libdir.
-# Sets gr_libdir_suffix to "" or "64"
-#
+dnl GR_LIB64()
+dnl
+dnl Checks to see if we're on a x86_64 or powerpc64 machine, and if so, determine
+dnl if libdir should end in "64" or not.
+dnl
+dnl Sets gr_libdir_suffix to "" or "64" and calls AC_SUBST(gr_libdir_suffix)
+dnl May append "64" to libdir.
+dnl
+dnl The current heuristic is:
+dnl if the host_cpu isn't x86_64 or powerpc64, then ""
+dnl if the host_os isn't linux, then ""
+dnl if we're cross-compiling, ask the linker, by way of the selected compiler
+dnl if we're x86_64 and there's a /lib64 and it's not a symlink, then "64", else ""
+dnl else ask the compiler
+dnl
AC_DEFUN([GR_LIB64],[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AC_PROG_CXX])
- # If we're using g++, extract the first SEARCH_DIR("...") entry from the linker script
- # and see if it contains a suffix after the final .../lib part of the path.
- # (This works because the linker script varies depending on whether we're generating
- # 32-bit or 64-bit executables)
+ AC_MSG_CHECKING([gr_libdir_suffix])
+ gr_libdir_suffix=""
+ AC_SUBST(gr_libdir_suffix)
- AC_MSG_CHECKING([libdir suffix])
- if test "$ac_cv_cxx_compiler_gnu" = "yes";
- then
- gr_libdir_suffix=`$CXX -Wl,--verbose 2>/dev/null | sed -n -e '/SEARCH_DIR/{s/;.*$//; s,^.*/,,; s/".*$//; s/^lib//; p}'`
+ case "$host_os" in
+ linux*) is_linux=yes ;;
+ *) is_linux=no ;;
+ esac
+
+ if test "$is_linux" = no || test "$host_cpu" != "x86_64" && test "$host_cpu" != "powerpc64"; then
+ gr_libdir_suffix=""
+ elif test "$cross_compiling" = yes; then
+ _GR_LIB64_ASK_COMPILER
+ elif test "$host_cpu" = "x86_64"; then
+ if test -d /lib64 && test ! -L /lib64; then
+ gr_libdir_suffix=64
+ fi
+ else
+ _GR_LIB64_ASK_COMPILER
fi
AC_MSG_RESULT([$gr_libdir_suffix])
- AC_SUBST(gr_libdir_suffix)
- if test "$host_cpu" = "x86_64" || test "$host_cpu" = "powerpc64" ; then
- AC_MSG_CHECKING([libdir for lib64 suffix])
- t=${libdir##*/lib}
- if test "$t" != 64 && test "$gr_libdir_suffix" = "64"; then
- libdir=${libdir}64
- AC_MSG_RESULT([no. Setting libdir to $libdir])
- else
- AC_MSG_RESULT([yes])
- fi
+
+ AC_MSG_CHECKING([whether to append 64 to libdir])
+ t=${libdir##*/lib}
+ if test "$t" != 64 && test "$gr_libdir_suffix" = "64"; then
+ libdir=${libdir}64
+ AC_MSG_RESULT([yes. Setting libdir to $libdir])
+ else
+ AC_MSG_RESULT([no])
+ fi
+])
+
+dnl If we're using g++, extract the first SEARCH_DIR("...") entry from the linker script
+dnl and see if it contains a suffix after the final .../lib part of the path.
+dnl (This works because the linker script varies depending on whether we're generating
+dnl 32-bit or 64-bit executables)
+dnl
+AC_DEFUN([_GR_LIB64_ASK_COMPILER],[
+ if test "$ac_cv_cxx_compiler_gnu" = "yes";
+ then
+ gr_libdir_suffix=`$CXX -Wl,--verbose 2>/dev/null | sed -n -e '/SEARCH_DIR/{s/;.*$//; s,^.*/,,; s/".*$//; s/^lib//; p}'`
fi
])
+