You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
181 lines
4.7 KiB
181 lines
4.7 KiB
dnl @synopsis GP_CHECK_POPT(FLAG)
|
|
dnl
|
|
dnl Check whether libpopt is available.
|
|
dnl FLAG must be one of
|
|
dnl "mandatory"
|
|
dnl "default-enabled"
|
|
dnl "default-disabled"
|
|
dnl
|
|
AC_DEFUN([GP_CHECK_POPT],[
|
|
#
|
|
# [GP_CHECK_POPT]
|
|
#
|
|
AC_REQUIRE([GP_CONFIG_MSG])dnl
|
|
m4_if([$1],[mandatory], [_GP_CHECK_POPT([mandatory])],
|
|
[$1],[default-enabled], [_GP_CHECK_POPT([disable])],
|
|
[$1],[default-disabled], [_GP_CHECK_POPT([enable])],
|
|
[m4_errprint(__file__:__line__:[ Error:
|
|
Illegal argument to $0: `$1'
|
|
Valid values are: mandatory, default-enabled, default-disabled
|
|
])m4_exit(1)])dnl
|
|
])dnl
|
|
dnl
|
|
AC_DEFUN([_GP_CHECK_POPT],[
|
|
m4_if([$1],[mandatory],[
|
|
try_popt=yes
|
|
require_popt=yes
|
|
],[
|
|
try_popt=auto
|
|
require_popt=no
|
|
AC_ARG_ENABLE([popt],
|
|
[AS_HELP_STRING([--$1-popt],[Do not use popt])],
|
|
[ if test "x$withval" = no \
|
|
|| test "x$withval" = off \
|
|
|| test "x$withval" = false;
|
|
then
|
|
try_popt=no
|
|
require_popt=no
|
|
elif test "x$withval" = yes \
|
|
|| test "x$withval" = on \
|
|
|| test "x$withval" = true
|
|
then
|
|
try_popt=yes
|
|
require_popt=yes
|
|
fi
|
|
])dnl
|
|
])dnl
|
|
|
|
AC_MSG_CHECKING([whether popt is required])
|
|
AC_MSG_RESULT([${require_popt}])
|
|
|
|
if test "$require_popt" != yes; then
|
|
AC_MSG_CHECKING([whether popt is requested])
|
|
AC_MSG_RESULT([${try_popt}])
|
|
fi
|
|
|
|
dnl Implicit AC_SUBST
|
|
AC_ARG_VAR([POPT_CFLAGS],[CPPFLAGS to compile with libpopt])dnl
|
|
AC_ARG_VAR([POPT_LIBS],[LDFLAGS to link with libpopt])dnl
|
|
|
|
have_popt=no
|
|
|
|
if test "x$POPT_CFLAGS" = "x" && test "x$POPT_LIBS" = "x"; then
|
|
|
|
# try to find options to compile popt.h
|
|
CPPFLAGS_save="$CPPFLAGS"
|
|
popth_found=no
|
|
for popt_prefix in "" /usr /usr/local
|
|
do
|
|
if test -n "${popt_prefix}"; then
|
|
:
|
|
elif test -d "${popt_prefix}/include"; then
|
|
CPPFLAGS="-I${popt_prefix}/include ${CPPFLAGS}"
|
|
else
|
|
continue
|
|
fi
|
|
ac_cv_header_popt_h=""
|
|
unset ac_cv_header_popt_h
|
|
AC_CHECK_HEADER([popt.h], [popth_found=yes])
|
|
if test "$popth_found" = yes; then break; fi
|
|
done
|
|
CPPFLAGS="$CPPFLAGS_save"
|
|
if test "$popth_found" = "yes"; then
|
|
if test "$popt_prefix" = ""; then
|
|
POPT_CFLAGS=""
|
|
else
|
|
POPT_CFLAGS="-I${popt_prefix}/include"
|
|
fi
|
|
else
|
|
AC_MSG_ERROR([
|
|
* Cannot autodetect popt.h
|
|
*
|
|
* Set POPT_CFLAGS and POPT_LIBS correctly.
|
|
])
|
|
fi
|
|
|
|
# try to find options to link against popt
|
|
LDFLAGS_save="$LDFLAGS"
|
|
popt_links=no
|
|
for popt_prefix in /usr "" /usr/local; do
|
|
# We could have "/usr" and "lib64" at the beginning of the
|
|
# lists. Then the first tested location would
|
|
# incidentally be the right one on 64bit systems, and
|
|
# thus work around a bug in libtool on 32bit systems:
|
|
#
|
|
# 32bit libtool doesn't know about 64bit systems, and so the
|
|
# compilation will fail when linking a 32bit library from
|
|
# /usr/lib to a 64bit binary.
|
|
#
|
|
# This hack has been confirmed to workwith a
|
|
# 32bit Debian Sarge and 64bit Fedora Core 3 system.
|
|
for ldir in lib64 "" lib; do
|
|
popt_libdir="${popt_prefix}/${ldir}"
|
|
if test "${popt_libdir}" = "/"; then
|
|
popt_libdir=""
|
|
elif test -d "${popt_libdir}"; then
|
|
LDFLAGS="-L${popt_libdir} ${LDFLAGS}"
|
|
else
|
|
continue
|
|
fi
|
|
# Avoid caching of results
|
|
ac_cv_lib_popt_poptStuffArgs=""
|
|
unset ac_cv_lib_popt_poptStuffArgs
|
|
AC_CHECK_LIB([popt], [poptStuffArgs], [popt_links=yes])
|
|
if test "$popt_links" = yes; then break; fi
|
|
done
|
|
if test "$popt_links" = yes; then break; fi
|
|
done
|
|
LDFLAGS="$LDFLAGS_save"
|
|
if test "$popt_links" = "yes"; then
|
|
if test "$popt_libdir" = ""; then
|
|
POPT_LIBS="-lpopt"
|
|
else
|
|
POPT_LIBS="-L${popt_libdir} -lpopt"
|
|
fi
|
|
else
|
|
AC_MSG_ERROR([
|
|
* Cannot autodetect library directory containing popt
|
|
*
|
|
* Set POPT_CFLAGS and POPT_LIBS correctly.
|
|
])
|
|
fi
|
|
have_popt=yes
|
|
elif test "x$POPT_CFLAGS" != "x" && test "x$POPT_LIBS" != "x"; then
|
|
# just use the user specivied option
|
|
popt_msg="yes (user specified)"
|
|
have_popt=yes
|
|
else
|
|
AC_MSG_ERROR([
|
|
* Fatal: Either set both POPT_CFLAGS and POPT_LIBS or neither.
|
|
])
|
|
fi
|
|
|
|
AC_MSG_CHECKING([if popt is functional])
|
|
if test "$require_popt$have_popt" = "yesno"; then
|
|
AC_MSG_RESULT([no, but required])
|
|
AC_MSG_ERROR([
|
|
* popt library not found
|
|
* Fatal: ${PACKAGE_NAME} (${PACKAGE_TARNAME}) requires popt
|
|
* Please install it and/or set POPT_CFLAGS and POPT_LIBS.
|
|
])
|
|
fi
|
|
AC_MSG_RESULT([${have_popt}])
|
|
|
|
GP_CONFIG_MSG([use popt library], [${have_popt}])
|
|
if test "$have_popt" = "yes"; then
|
|
AC_DEFINE([HAVE_POPT],[1],[whether the popt library is available])
|
|
GP_CONFIG_MSG([popt libs],[${POPT_LIBS}])
|
|
GP_CONFIG_MSG([popt cppflags],[${POPT_CFLAGS}])
|
|
fi
|
|
AM_CONDITIONAL([HAVE_POPT],[test "$have_popt" = "yes"])
|
|
])dnl
|
|
dnl
|
|
dnl Please do not remove this:
|
|
dnl filetype: 7595380e-eff3-49e5-90ab-e40f1d544639
|
|
dnl I use this to find all the different instances of this file which
|
|
dnl are supposed to be synchronized.
|
|
dnl
|
|
dnl Local Variables:
|
|
dnl mode: autoconf
|
|
dnl End:
|