diff options
author | eb | 2008-08-20 21:41:26 +0000 |
---|---|---|
committer | eb | 2008-08-20 21:41:26 +0000 |
commit | bb084b53d9f5d1dcf3c4ac2c5605352a2df6551f (patch) | |
tree | 9fd92462aade79ae637112fb3604bd4594039c4d /config/gr_lib64.m4 | |
parent | ec20f96de2e8a1ab95e370522eeb6ba840c9f09e (diff) | |
download | gnuradio-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.m4 | 80 |
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 ]) + |