mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
da48217f31
Make gdbserver's build system locate libiconv when building for Linux.
Commit 07b3255c3b
("Filter invalid encodings from Linux thread names")
make libiconv madantory for building gdbserver on Linux.
While trying to cross-compile gdb for xtensa-fsf-linux-uclibc (with a
toolchain generated with crosstool-ng), I got:
/home/smarchi/src/binutils-gdb/gdbserver/linux-low.cc:48:10: fatal error: iconv.h: No such file or directory
48 | #include <iconv.h>
| ^~~~~~~~~
I downloaded GNU libiconv, built it for that host, and installed it in
an arbitrary directory. I had to modify the gdbserver build system to
locate libiconv and use it, the result is this patch.
I eventually found that crosstool-ng has a config option to make uclibc
provide an implementation of iconv, which is of course much easier. But
given that this patch is now written, I think it would be worth merging
it, it could help some people who do not have iconv built-in their libc
in the future (and may not have the luxury of rebuilding their libc like
I do).
Using AM_ICONV in configure.ac adds these options for configure (the
same we have for gdb):
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
--without-libiconv-prefix don't search for libiconv in includedir and libdir
--with-libiconv-type=TYPE type of library to search for (auto/static/shared)
It sets the `LIBICONV` variable with whatever is needed to link with
libiconv, and adds the necessary `-I` flag to `CPPFLAGS`.
To avoid unnecessarily linking against libiconv on hosts that don't need
it, set `MAYBE_LIBICONV` with the contents of `LIBICONV` only if the
host is Linux, and use `MAYBE_LIBICONV` in `Makefile.in`.
Since libiconv is a hard requirement for Linux hosts, error out if it is
not found.
The bits in acinclude.m4 are similar to what we have in
gdb/acinclude.m4.
Update the top-level build system to support building against an in-tree
libiconv (I did not test this part though). Something tells me that the
all-gdbserver dependency on all-libiconv is unnecessary, since there is
already a dependency of configure-gdbserver on all-libiconv (and
all-gdbserver surely depends on configure-gdbserver). I just copied
what's done for GDB though.
ChangeLog:
* Makefile.def: Add configure-gdbserver and all-gdbserver
dependencies on all-libiconv.
* Makefile.in: Re-generate.
Change-Id: I90f8ef88dd4917df5a68b45550d93622fc9cfed4
Approved-By: Tom Tromey <tom@tromey.com>
478 lines
13 KiB
Plaintext
478 lines
13 KiB
Plaintext
dnl Autoconf configure script for GDB server.
|
|
dnl Copyright (C) 2000-2024 Free Software Foundation, Inc.
|
|
dnl
|
|
dnl This file is part of GDB.
|
|
dnl
|
|
dnl This program is free software; you can redistribute it and/or modify
|
|
dnl it under the terms of the GNU General Public License as published by
|
|
dnl the Free Software Foundation; either version 3 of the License, or
|
|
dnl (at your option) any later version.
|
|
dnl
|
|
dnl This program is distributed in the hope that it will be useful,
|
|
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
dnl GNU General Public License for more details.
|
|
dnl
|
|
dnl You should have received a copy of the GNU General Public License
|
|
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
AC_INIT
|
|
AC_CONFIG_MACRO_DIRS([../config])
|
|
AC_CONFIG_SRCDIR([server.cc])
|
|
AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
AC_SYS_LARGEFILE
|
|
AM_PROG_INSTALL_STRIP
|
|
|
|
# Set build, build_cpu, build_vendor and build_os.
|
|
AC_CANONICAL_BUILD
|
|
|
|
# Set host, host_cpu, host_vendor, and host_os.
|
|
AC_CANONICAL_HOST
|
|
|
|
# Set target, target_cpu, target_vendor, and target_os.
|
|
AC_CANONICAL_TARGET
|
|
|
|
AC_PROG_INSTALL
|
|
AC_CHECK_TOOL(AR, ar)
|
|
AC_PROG_RANLIB
|
|
|
|
AC_ARG_PROGRAM
|
|
|
|
# We require a C++17 compiler. Check if one is available, and if
|
|
# necessary, set CXX_DIALECT to some -std=xxx switch.
|
|
AX_CXX_COMPILE_STDCXX(17, , mandatory)
|
|
|
|
AC_HEADER_STDC
|
|
|
|
GDB_AC_COMMON
|
|
# This is set by GDB_AC_COMMON.
|
|
AC_SUBST(WIN32APILIBS)
|
|
|
|
GDB_AC_SELFTEST
|
|
|
|
ACX_NONCANONICAL_TARGET
|
|
ACX_NONCANONICAL_HOST
|
|
|
|
# Dependency checking.
|
|
ZW_CREATE_DEPDIR
|
|
|
|
dnl Set up for gettext.
|
|
ZW_GNU_GETTEXT_SISTER_DIR
|
|
|
|
# Create sub-directories for objects and dependencies.
|
|
CONFIG_SRC_SUBDIR="arch gdbsupport nat target"
|
|
AC_SUBST(CONFIG_SRC_SUBDIR)
|
|
|
|
AC_CONFIG_COMMANDS([gdbdepdir],[
|
|
for subdir in ${CONFIG_SRC_SUBDIR}
|
|
do
|
|
$SHELL $ac_aux_dir/mkinstalldirs $subdir/$DEPDIR
|
|
done],
|
|
[ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR CONFIG_SRC_SUBDIR="$CONFIG_SRC_SUBDIR"])
|
|
|
|
ZW_PROG_COMPILER_DEPENDENCIES([CC])
|
|
|
|
AC_CHECK_HEADERS(termios.h sys/reg.h string.h dnl
|
|
sys/procfs.h linux/elf.h dnl
|
|
fcntl.h signal.h sys/file.h dnl
|
|
sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl
|
|
netinet/tcp.h arpa/inet.h ws2tcpip.h)
|
|
AC_FUNC_FORK
|
|
AC_CHECK_FUNCS(pread pwrite pread64)
|
|
|
|
# Check the return and argument types of ptrace.
|
|
GDB_AC_PTRACE
|
|
|
|
# Check for UST
|
|
ustlibs=""
|
|
ustinc=""
|
|
|
|
AC_ARG_WITH(ust, [ --with-ust=PATH Specify prefix directory for the installed UST package
|
|
Equivalent to --with-ust-include=PATH/include
|
|
plus --with-ust-lib=PATH/lib])
|
|
AC_ARG_WITH(ust_include, [ --with-ust-include=PATH Specify directory for installed UST include files])
|
|
AC_ARG_WITH(ust_lib, [ --with-ust-lib=PATH Specify the directory for the installed UST library])
|
|
|
|
case $with_ust in
|
|
no)
|
|
ustlibs=
|
|
ustinc=
|
|
;;
|
|
"" | yes)
|
|
ustlibs=" -lust "
|
|
ustinc=""
|
|
;;
|
|
*)
|
|
ustlibs="-L$with_ust/lib -lust"
|
|
ustinc="-I$with_ust/include "
|
|
;;
|
|
esac
|
|
if test "x$with_ust_include" != x; then
|
|
ustinc="-I$with_ust_include "
|
|
fi
|
|
if test "x$with_ust_lib" != x; then
|
|
ustlibs="-L$with_ust_lib -lust"
|
|
fi
|
|
|
|
if test "x$with_ust" != "xno"; then
|
|
saved_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS $ustinc"
|
|
AC_MSG_CHECKING([for ust])
|
|
AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM(
|
|
[
|
|
#define CONFIG_UST_GDB_INTEGRATION
|
|
#include <ust/ust.h>
|
|
],
|
|
[]
|
|
)],
|
|
[AC_MSG_RESULT([yes]);
|
|
AC_DEFINE(HAVE_UST, 1, [Define if UST is available])],
|
|
[AC_MSG_RESULT([no])
|
|
ustlibs= ; ustinc= ]
|
|
)
|
|
CFLAGS="$saved_CFLAGS"
|
|
fi
|
|
|
|
# Flags needed for UST
|
|
AC_SUBST(ustlibs)
|
|
AC_SUBST(ustinc)
|
|
|
|
AM_GDB_COMPILER_TYPE
|
|
AM_GDB_WARNINGS
|
|
|
|
dnl dladdr is glibc-specific. It is used by thread-db.c but only for
|
|
dnl debugging messages. It lives in -ldl which is handled below so we don't
|
|
dnl use AC_CHECK_LIB (or AC_SEARCH_LIBS) here. Instead we just temporarily
|
|
dnl augment LIBS.
|
|
old_LIBS="$LIBS"
|
|
LIBS="$LIBS -ldl"
|
|
AC_CHECK_FUNCS(dladdr)
|
|
LIBS="$old_LIBS"
|
|
|
|
libiberty_INIT
|
|
|
|
AC_CHECK_DECLS([perror, vasprintf, vsnprintf])
|
|
|
|
AC_CHECK_TYPES(socklen_t, [], [],
|
|
[#include <sys/types.h>
|
|
#if HAVE_SYS_SOCKET_H
|
|
# include <sys/socket.h>
|
|
#elif HAVE_WS2TCPIP_H
|
|
# include <ws2tcpip.h>
|
|
#endif
|
|
])
|
|
|
|
case "${target}" in
|
|
*-android*)
|
|
# Starting with NDK version 9, <elf.h> actually includes definitions
|
|
# of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes
|
|
# <sys/exec_elf.h> which defines some of the ELF types incorrectly,
|
|
# leading to conflicts with the defintions from <linux/elf.h>.
|
|
# This makes it impossible for us to include both <elf.h> and
|
|
# <linux/elf.h>, which means that, in practice, we do not have
|
|
# access to Elf32_auxv_t and Elf64_auxv_t on this platform.
|
|
# Therefore, do not try to auto-detect availability, as it would
|
|
# get it wrong on this platform.
|
|
;;
|
|
*)
|
|
AC_CHECK_TYPES([Elf32_auxv_t, Elf64_auxv_t], [], [],
|
|
#include <elf.h>
|
|
)
|
|
esac
|
|
|
|
ACX_PKGVERSION([GDB])
|
|
ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
|
|
AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
|
|
AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
|
|
|
|
# Check for various supplementary target information (beyond the
|
|
# triplet) which might affect the choices in configure.srv.
|
|
case "${target}" in
|
|
changequote(,)dnl
|
|
i[34567]86-*-linux*)
|
|
changequote([,])dnl
|
|
AC_CACHE_CHECK([if building for x86-64], [gdb_cv_i386_is_x86_64],
|
|
[save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $CFLAGS"
|
|
AC_EGREP_CPP([got it], [
|
|
#if __x86_64__
|
|
got it
|
|
#endif
|
|
], [gdb_cv_i386_is_x86_64=yes],
|
|
[gdb_cv_i386_is_x86_64=no])
|
|
CPPFLAGS="$save_CPPFLAGS"])
|
|
;;
|
|
|
|
x86_64-*-linux*)
|
|
AC_CACHE_CHECK([if building for x32], [gdb_cv_x86_is_x32],
|
|
[save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $CFLAGS"
|
|
AC_EGREP_CPP([got it], [
|
|
#if __x86_64__ && __ILP32__
|
|
got it
|
|
#endif
|
|
], [gdb_cv_x86_is_x32=yes],
|
|
[gdb_cv_x86_is_x32=no])
|
|
CPPFLAGS="$save_CPPFLAGS"])
|
|
;;
|
|
|
|
m68k-*-*)
|
|
AC_CACHE_CHECK([if building for Coldfire], [gdb_cv_m68k_is_coldfire],
|
|
[save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $CFLAGS"
|
|
AC_EGREP_CPP([got it], [
|
|
#ifdef __mcoldfire__
|
|
got it
|
|
#endif
|
|
], [gdb_cv_m68k_is_coldfire=yes],
|
|
[gdb_cv_m68k_is_coldfire=no])
|
|
CPPFLAGS="$save_CPPFLAGS"])
|
|
;;
|
|
esac
|
|
|
|
. ${srcdir}/configure.srv
|
|
|
|
if test "${srv_mingwce}" = "yes"; then
|
|
LIBS="$LIBS -lws2"
|
|
elif test "${srv_mingw}" = "yes"; then
|
|
# WIN32APILIBS is set by GDB_AC_COMMON.
|
|
LIBS="$LIBS $WIN32APILIBS"
|
|
fi
|
|
|
|
if test "${srv_linux_usrregs}" = "yes"; then
|
|
AC_DEFINE(HAVE_LINUX_USRREGS, 1,
|
|
[Define if the target supports PTRACE_PEEKUSR for register ]
|
|
[access.])
|
|
fi
|
|
|
|
if test "${srv_linux_regsets}" = "yes"; then
|
|
AC_DEFINE(HAVE_LINUX_REGSETS, 1,
|
|
[Define if the target supports register sets.])
|
|
|
|
AC_MSG_CHECKING(for PTRACE_GETREGS)
|
|
AC_CACHE_VAL(
|
|
[gdbsrv_cv_have_ptrace_getregs],
|
|
[AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM([#include <sys/ptrace.h>], [PTRACE_GETREGS;])],
|
|
[gdbsrv_cv_have_ptrace_getregs=yes],
|
|
[gdbsrv_cv_have_ptrace_getregs=no]
|
|
)]
|
|
)
|
|
AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getregs)
|
|
if test "${gdbsrv_cv_have_ptrace_getregs}" = "yes"; then
|
|
AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
|
|
[Define if the target supports PTRACE_GETREGS for register ]
|
|
[access.])
|
|
fi
|
|
|
|
AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
|
|
AC_CACHE_VAL(
|
|
[gdbsrv_cv_have_ptrace_getfpxregs],
|
|
[AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM([#include <sys/ptrace.h>], [PTRACE_GETFPXREGS;])],
|
|
[gdbsrv_cv_have_ptrace_getfpxregs=yes],
|
|
[gdbsrv_cv_have_ptrace_getfpxregs=no]
|
|
)]
|
|
)
|
|
AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getfpxregs)
|
|
if test "${gdbsrv_cv_have_ptrace_getfpxregs}" = "yes"; then
|
|
AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
|
|
[Define if the target supports PTRACE_GETFPXREGS for extended ]
|
|
[register access.])
|
|
fi
|
|
fi
|
|
|
|
if test "${srv_linux_btrace}" = "yes"; then
|
|
AC_DEFINE(HAVE_LINUX_BTRACE, 1,
|
|
[Define if the target supports branch tracing.])
|
|
fi
|
|
|
|
dnl Some systems (e.g., Android) have lwpid_t defined in libthread_db.h.
|
|
if test "$bfd_cv_have_sys_procfs_type_lwpid_t" != yes; then
|
|
GDBSERVER_HAVE_THREAD_DB_TYPE(lwpid_t)
|
|
fi
|
|
|
|
dnl Some systems (e.g., Android) have psaddr_t defined in libthread_db.h.
|
|
if test "$bfd_cv_have_sys_procfs_type_psaddr_t" != yes; then
|
|
GDBSERVER_HAVE_THREAD_DB_TYPE(psaddr_t)
|
|
fi
|
|
|
|
dnl Check for libdl, but do not add it to LIBS as only gdbserver
|
|
dnl needs it (and gdbreplay doesn't).
|
|
old_LIBS="$LIBS"
|
|
AC_CHECK_LIB(dl, dlopen)
|
|
LIBS="$old_LIBS"
|
|
|
|
srv_thread_depfiles=
|
|
srv_libs=
|
|
|
|
if test "$srv_linux_thread_db" = "yes"; then
|
|
if test "$ac_cv_lib_dl_dlopen" = "yes"; then
|
|
srv_libs="-ldl"
|
|
AC_MSG_CHECKING(for the dynamic export flag)
|
|
old_LDFLAGS="$LDFLAGS"
|
|
# Older GNU ld supports --export-dynamic but --dynamic-list may not be
|
|
# supported there.
|
|
RDYNAMIC="-Wl,--dynamic-list=${srcdir}/proc-service.list"
|
|
LDFLAGS="$LDFLAGS $RDYNAMIC"
|
|
AC_LINK_IFELSE(
|
|
[AC_LANG_PROGRAM([],[])],
|
|
[found="-Wl,--dynamic-list"
|
|
RDYNAMIC='-Wl,--dynamic-list=$(srcdir)/proc-service.list'],
|
|
[RDYNAMIC="-rdynamic"
|
|
LDFLAGS="$old_LDFLAGS $RDYNAMIC"
|
|
AC_LINK_IFELSE(
|
|
[AC_LANG_PROGRAM([], [])],
|
|
[found="-rdynamic"],
|
|
[found="no"
|
|
RDYNAMIC=""]
|
|
)]
|
|
)
|
|
AC_SUBST(RDYNAMIC)
|
|
LDFLAGS="$old_LDFLAGS"
|
|
AC_MSG_RESULT($found)
|
|
else
|
|
srv_libs="-lthread_db"
|
|
fi
|
|
|
|
srv_thread_depfiles="thread-db.o proc-service.o"
|
|
AC_DEFINE(USE_THREAD_DB, 1, [Define if we should use libthread_db.])
|
|
AC_CACHE_CHECK(
|
|
[for TD_VERSION],
|
|
[gdbsrv_cv_have_td_version],
|
|
[AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM([#include <thread_db.h>], [TD_VERSION;])],
|
|
[gdbsrv_cv_have_td_version=yes],
|
|
[gdbsrv_cv_have_td_version=no]
|
|
)]
|
|
)
|
|
if test "$gdbsrv_cv_have_td_version" = yes; then
|
|
AC_DEFINE(HAVE_TD_VERSION, 1, [Define if TD_VERSION is available.])
|
|
fi
|
|
fi
|
|
|
|
AC_ARG_WITH(libthread-db,
|
|
AS_HELP_STRING([--with-libthread-db=PATH], [use given libthread_db directly]),
|
|
[srv_libthread_db_path="${withval}"
|
|
srv_libs="$srv_libthread_db_path"
|
|
])
|
|
|
|
if test "$srv_libs" != "" -a "$srv_libs" != "-ldl"; then
|
|
AC_DEFINE(USE_LIBTHREAD_DB_DIRECTLY, 1, [Define if we should use libthread_db directly.])
|
|
fi
|
|
|
|
if test "$srv_xmlfiles" != ""; then
|
|
srv_xmlbuiltin="xml-builtin.o"
|
|
AC_DEFINE(USE_XML, 1, [Define if an XML target description is available.])
|
|
|
|
tmp_xmlfiles=$srv_xmlfiles
|
|
srv_xmlfiles=""
|
|
for f in $tmp_xmlfiles; do
|
|
srv_xmlfiles="$srv_xmlfiles \$(XML_DIR)/$f"
|
|
done
|
|
fi
|
|
|
|
GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_thread_depfiles"
|
|
GDBSERVER_LIBS="$srv_libs"
|
|
|
|
dnl Check whether the target supports __sync_*_compare_and_swap.
|
|
AC_CACHE_CHECK(
|
|
[whether the target supports __sync_*_compare_and_swap],
|
|
[gdbsrv_cv_have_sync_builtins],
|
|
[AC_LINK_IFELSE(
|
|
[AC_LANG_PROGRAM(
|
|
[],
|
|
[int foo, bar;
|
|
bar = __sync_val_compare_and_swap(&foo, 0, 1);]
|
|
)],
|
|
[gdbsrv_cv_have_sync_builtins=yes],
|
|
[gdbsrv_cv_have_sync_builtins=no]
|
|
)]
|
|
)
|
|
if test "$gdbsrv_cv_have_sync_builtins" = yes; then
|
|
AC_DEFINE(HAVE_SYNC_BUILTINS, 1,
|
|
[Define to 1 if the target supports __sync_*_compare_and_swap])
|
|
fi
|
|
|
|
dnl Check for -fvisibility=hidden support in the compiler.
|
|
saved_cflags="$CFLAGS"
|
|
CFLAGS="$CFLAGS -fvisibility=hidden"
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
|
|
[gdbsrv_cv_have_visibility_hidden=yes],
|
|
[gdbsrv_cv_have_visibility_hidden=no])
|
|
CFLAGS="$saved_cflags"
|
|
|
|
IPA_DEPFILES=""
|
|
extra_libraries=""
|
|
|
|
# check whether to enable the inprocess agent
|
|
if test "$ipa_obj" != "" \
|
|
-a "$gdbsrv_cv_have_sync_builtins" = yes \
|
|
-a "$gdbsrv_cv_have_visibility_hidden" = yes; then
|
|
have_ipa=true
|
|
else
|
|
have_ipa=false
|
|
fi
|
|
|
|
AC_ARG_ENABLE(inprocess-agent,
|
|
AS_HELP_STRING([--enable-inprocess-agent], [inprocess agent]),
|
|
[case "$enableval" in
|
|
yes) want_ipa=true ;;
|
|
no) want_ipa=false ;;
|
|
*) AC_MSG_ERROR([bad value $enableval for inprocess-agent]) ;;
|
|
esac],
|
|
[want_ipa=$have_ipa])
|
|
|
|
if $want_ipa ; then
|
|
if $have_ipa ; then
|
|
IPA_DEPFILES="$ipa_obj"
|
|
extra_libraries="$extra_libraries libinproctrace.so"
|
|
else
|
|
AC_MSG_ERROR([inprocess agent not supported for this target])
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(GDBSERVER_DEPFILES)
|
|
AC_SUBST(GDBSERVER_LIBS)
|
|
AC_SUBST(srv_xmlbuiltin)
|
|
AC_SUBST(srv_xmlfiles)
|
|
AC_SUBST(IPA_DEPFILES)
|
|
AC_SUBST(extra_libraries)
|
|
|
|
GNULIB=../gnulib/import
|
|
|
|
GNULIB_STDINT_H=
|
|
if test x"$STDINT_H" != x; then
|
|
GNULIB_STDINT_H=$GNULIB/$STDINT_H
|
|
fi
|
|
AC_SUBST(GNULIB_STDINT_H)
|
|
|
|
# Check for libiconv. It is a requirement for Linux hosts, and others hosts
|
|
# don't use it at all. Define MAYBE_LIBICONV only if the host is Linux.
|
|
AM_ICONV
|
|
MAYBE_LIBICONV=
|
|
case "$host" in
|
|
*linux*)
|
|
if test "$am_cv_func_iconv" != yes; then
|
|
AC_MSG_ERROR([could not find libiconv (required for host $host)])
|
|
fi
|
|
|
|
MAYBE_LIBICONV="$LIBICONV"
|
|
;;
|
|
esac
|
|
|
|
AC_SUBST(MAYBE_LIBICONV)
|
|
|
|
AC_CONFIG_FILES([Makefile])
|
|
|
|
AC_OUTPUT
|