root / firmware / fx2 / config / gr_lib64.m4 @ 70eae1d2
History | View | Annotate | Download (2.8 kB)
| 1 |
dnl |
|---|---|
| 2 |
dnl Copyright 2005,2008 Free Software Foundation, Inc. |
| 3 |
dnl |
| 4 |
dnl This file is part of GNU Radio |
| 5 |
dnl |
| 6 |
dnl GNU Radio is free software; you can redistribute it and/or modify |
| 7 |
dnl it under the terms of the GNU General Public License as published by |
| 8 |
dnl the Free Software Foundation; either version 3, or (at your option) |
| 9 |
dnl any later version. |
| 10 |
dnl |
| 11 |
dnl GNU Radio is distributed in the hope that it will be useful, |
| 12 |
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 |
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 14 |
dnl GNU General Public License for more details. |
| 15 |
dnl |
| 16 |
dnl You should have received a copy of the GNU General Public License |
| 17 |
dnl along with GNU Radio; see the file COPYING. If not, write to |
| 18 |
dnl the Free Software Foundation, Inc., 51 Franklin Street, |
| 19 |
dnl Boston, MA 02110-1301, USA. |
| 20 |
dnl |
| 21 |
|
| 22 |
dnl GR_LIB64() |
| 23 |
dnl |
| 24 |
dnl Checks to see if we're on a x86_64 or powerpc64 machine, and if so, determine |
| 25 |
dnl if libdir should end in "64" or not. |
| 26 |
dnl |
| 27 |
dnl Sets gr_libdir_suffix to "" or "64" and calls AC_SUBST(gr_libdir_suffix) |
| 28 |
dnl May append "64" to libdir. |
| 29 |
dnl |
| 30 |
dnl The current heuristic is: |
| 31 |
dnl if the host_cpu isn't x86_64 or powerpc64, then "" |
| 32 |
dnl if the host_os isn't linux, then "" |
| 33 |
dnl if we're cross-compiling, ask the linker, by way of the selected compiler |
| 34 |
dnl if we're x86_64 and there's a /lib64 and it's not a symlink, then "64", else "" |
| 35 |
dnl else ask the compiler |
| 36 |
dnl |
| 37 |
AC_DEFUN([GR_LIB64],[ |
| 38 |
AC_REQUIRE([AC_CANONICAL_HOST]) |
| 39 |
AC_REQUIRE([AC_PROG_CXX]) |
| 40 |
|
| 41 |
AC_MSG_CHECKING([gr_libdir_suffix]) |
| 42 |
gr_libdir_suffix="" |
| 43 |
AC_SUBST(gr_libdir_suffix) |
| 44 |
|
| 45 |
case "$host_os" in |
| 46 |
linux*) is_linux=yes ;; |
| 47 |
*) is_linux=no ;; |
| 48 |
esac |
| 49 |
|
| 50 |
if test "$is_linux" = no || test "$host_cpu" != "x86_64" && test "$host_cpu" != "powerpc64"; then |
| 51 |
gr_libdir_suffix="" |
| 52 |
elif test "$cross_compiling" = yes; then |
| 53 |
_GR_LIB64_ASK_COMPILER |
| 54 |
elif test "$host_cpu" = "x86_64"; then |
| 55 |
if test -d /lib64 && test ! -L /lib64; then |
| 56 |
gr_libdir_suffix=64 |
| 57 |
fi |
| 58 |
else |
| 59 |
_GR_LIB64_ASK_COMPILER |
| 60 |
fi |
| 61 |
AC_MSG_RESULT([$gr_libdir_suffix]) |
| 62 |
|
| 63 |
|
| 64 |
AC_MSG_CHECKING([whether to append 64 to libdir]) |
| 65 |
t=${libdir##*/lib}
|
| 66 |
if test "$t" != 64 && test "$gr_libdir_suffix" = "64"; then |
| 67 |
libdir=${libdir}64
|
| 68 |
AC_MSG_RESULT([yes. Setting libdir to $libdir]) |
| 69 |
else |
| 70 |
AC_MSG_RESULT([no]) |
| 71 |
fi |
| 72 |
]) |
| 73 |
|
| 74 |
dnl If we're using g++, extract the first SEARCH_DIR("...") entry from the linker script
|
| 75 |
dnl and see if it contains a suffix after the final .../lib part of the path. |
| 76 |
dnl (This works because the linker script varies depending on whether we're generating |
| 77 |
dnl 32-bit or 64-bit executables) |
| 78 |
dnl |
| 79 |
AC_DEFUN([_GR_LIB64_ASK_COMPILER],[ |
| 80 |
if test "$ac_cv_cxx_compiler_gnu" = "yes"; |
| 81 |
then |
| 82 |
gr_libdir_suffix=`$CXX -Wl,--verbose 2>/dev/null | sed -n -e '/SEARCH_DIR/{s/;.*$//; s,^.*/,,; s/".*$//; s/^lib//; p}'`
|
| 83 |
fi |
| 84 |
]) |
| 85 |
|