m4/lib-prefix.m4
6053d09a
 # lib-prefix.m4 serial 5 (gettext-0.15)
 dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Bruno Haible.
 
 dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
 dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
 dnl require excessive bracketing.
 ifdef([AC_HELP_STRING],
 [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
 [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
 
 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
 dnl to access previously installed libraries. The basic assumption is that
 dnl a user will want packages to use other packages he previously installed
 dnl with the same --prefix option.
 dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
 dnl libraries, but is otherwise very convenient.
 AC_DEFUN([AC_LIB_PREFIX],
 [
   AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
   AC_LIB_WITH_FINAL_PREFIX([
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
   ])
   AC_LIB_ARG_WITH([lib-prefix],
 [  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
   --without-lib-prefix    don't search for libraries in includedir and libdir],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
     else
       if test "X$withval" = "X"; then
         AC_LIB_WITH_FINAL_PREFIX([
           eval additional_includedir=\"$includedir\"
           eval additional_libdir=\"$libdir\"
         ])
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
       fi
     fi
 ])
   if test $use_additional = yes; then
     dnl Potentially add $additional_includedir to $CPPFLAGS.
     dnl But don't add it
     dnl   1. if it's the standard /usr/include,
     dnl   2. if it's already present in $CPPFLAGS,
     dnl   3. if it's /usr/local/include and we are using GCC on Linux,
     dnl   4. if it doesn't exist as a directory.
     if test "X$additional_includedir" != "X/usr/include"; then
       haveit=
       for x in $CPPFLAGS; do
         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
         if test "X$x" = "X-I$additional_includedir"; then
           haveit=yes
           break
         fi
       done
       if test -z "$haveit"; then
         if test "X$additional_includedir" = "X/usr/local/include"; then
           if test -n "$GCC"; then
             case $host_os in
               linux* | gnu* | k*bsd*-gnu) haveit=yes;;
             esac
           fi
         fi
         if test -z "$haveit"; then
           if test -d "$additional_includedir"; then
             dnl Really add $additional_includedir to $CPPFLAGS.
             CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
           fi
         fi
       fi
     fi
     dnl Potentially add $additional_libdir to $LDFLAGS.
     dnl But don't add it
     dnl   1. if it's the standard /usr/lib,
     dnl   2. if it's already present in $LDFLAGS,
     dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
     dnl   4. if it doesn't exist as a directory.
     if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
       haveit=
       for x in $LDFLAGS; do
         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
         if test "X$x" = "X-L$additional_libdir"; then
           haveit=yes
           break
         fi
       done
       if test -z "$haveit"; then
         if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
           if test -n "$GCC"; then
             case $host_os in
               linux*) haveit=yes;;
             esac
           fi
         fi
         if test -z "$haveit"; then
           if test -d "$additional_libdir"; then
             dnl Really add $additional_libdir to $LDFLAGS.
             LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
           fi
         fi
       fi
     fi
   fi
 ])
 
 dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
 dnl acl_final_exec_prefix, containing the values to which $prefix and
 dnl $exec_prefix will expand at the end of the configure script.
 AC_DEFUN([AC_LIB_PREPARE_PREFIX],
 [
   dnl Unfortunately, prefix and exec_prefix get only finally determined
   dnl at the end of configure.
   if test "X$prefix" = "XNONE"; then
     acl_final_prefix="$ac_default_prefix"
   else
     acl_final_prefix="$prefix"
   fi
   if test "X$exec_prefix" = "XNONE"; then
     acl_final_exec_prefix='${prefix}'
   else
     acl_final_exec_prefix="$exec_prefix"
   fi
   acl_save_prefix="$prefix"
   prefix="$acl_final_prefix"
   eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
   prefix="$acl_save_prefix"
 ])
 
 dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
 dnl variables prefix and exec_prefix bound to the values they will have
 dnl at the end of the configure script.
 AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
 [
   acl_save_prefix="$prefix"
   prefix="$acl_final_prefix"
   acl_save_exec_prefix="$exec_prefix"
   exec_prefix="$acl_final_exec_prefix"
   $1
   exec_prefix="$acl_save_exec_prefix"
   prefix="$acl_save_prefix"
 ])
 
 dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
9d444ac6
 dnl the basename of the libdir, for example: "lib", "lib32", or "lib64".
6053d09a
 AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
 [
9d444ac6
   AC_REQUIRE([AC_LIB_MULTILIB_GUESS])
6053d09a
 ])