commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r9354 - gnuradio/branches/developers/eb/lib64/config


From: eb
Subject: [Commit-gnuradio] r9354 - gnuradio/branches/developers/eb/lib64/config
Date: Wed, 20 Aug 2008 13:07:38 -0600 (MDT)

Author: eb
Date: 2008-08-20 13:07:36 -0600 (Wed, 20 Aug 2008)
New Revision: 9354

Modified:
   gnuradio/branches/developers/eb/lib64/config/gr_lib64.m4
Log:
work-in-progress on lib64 issue

Modified: gnuradio/branches/developers/eb/lib64/config/gr_lib64.m4
===================================================================
--- gnuradio/branches/developers/eb/lib64/config/gr_lib64.m4    2008-08-20 
17:54:02 UTC (rev 9353)
+++ gnuradio/branches/developers/eb/lib64/config/gr_lib64.m4    2008-08-20 
19:07:36 UTC (rev 9354)
@@ -19,39 +19,65 @@
 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])
+  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" && test -d /lib64 && ! test -L /lib64; then
+    gr_libdir_suffix=64
+  else
+    _GR_LIB64_ASK_COMPILER  
+  fi
+  AC_MSG_RESULT([$gr_libdir_suffix])
+
+
+  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
-  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
-  fi
-])





reply via email to

[Prev in Thread] Current Thread [Next in Thread]