mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
20e95c23ab
config/gettext-sister.m4 instead of the old gettext.m4. Regenerate all affected autotools files. Include intl in gdb releases again.
270 lines
6.5 KiB
Plaintext
270 lines
6.5 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script
|
|
dnl
|
|
AC_PREREQ(2.57)
|
|
AC_INIT(ldmain.c)
|
|
|
|
AC_CANONICAL_SYSTEM
|
|
AC_ISC_POSIX
|
|
|
|
changequote(,)dnl
|
|
BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in`
|
|
changequote([,])dnl
|
|
AM_INIT_AUTOMAKE(ld, ${BFD_VERSION})
|
|
|
|
AM_PROG_LIBTOOL
|
|
|
|
AC_ARG_WITH(lib-path, [ --with-lib-path=dir1:dir2... set default LIB_PATH],LIB_PATH=$withval)
|
|
AC_ARG_ENABLE(targets,
|
|
[ --enable-targets alternative target configurations],
|
|
[case "${enableval}" in
|
|
yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
|
|
;;
|
|
no) enable_targets= ;;
|
|
*) enable_targets=$enableval ;;
|
|
esac])dnl
|
|
AC_ARG_ENABLE(64-bit-bfd,
|
|
[ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)],
|
|
[case "${enableval}" in
|
|
yes) want64=true ;;
|
|
no) want64=false ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
|
|
esac],[want64=false])dnl
|
|
|
|
AC_ARG_WITH(sysroot,
|
|
[ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
|
|
[
|
|
case ${with_sysroot} in
|
|
yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
|
|
*) TARGET_SYSTEM_ROOT=$with_sysroot ;;
|
|
esac
|
|
|
|
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
|
|
use_sysroot=yes
|
|
|
|
if test "x$exec_prefix" = xNONE; then
|
|
if test "x$prefix" = xNONE; then
|
|
test_prefix=/usr/local
|
|
else
|
|
test_prefix=$prefix
|
|
fi
|
|
else
|
|
test_prefix=$exec_prefix
|
|
fi
|
|
case ${TARGET_SYSTEM_ROOT} in
|
|
"${test_prefix}"|"${test_prefix}/"*|\
|
|
'${exec_prefix}'|'${exec_prefix}/'*)
|
|
t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
|
|
TARGET_SYSTEM_ROOT_DEFINE="$t"
|
|
;;
|
|
esac
|
|
], [
|
|
use_sysroot=no
|
|
TARGET_SYSTEM_ROOT=
|
|
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
|
|
])
|
|
AC_SUBST(use_sysroot)
|
|
AC_SUBST(TARGET_SYSTEM_ROOT)
|
|
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
|
|
|
|
AM_BINUTILS_WARNINGS
|
|
|
|
AM_CONFIG_HEADER(config.h:config.in)
|
|
|
|
if test -z "$target" ; then
|
|
AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
|
|
fi
|
|
if test -z "$host" ; then
|
|
AC_MSG_ERROR(Unrecognized host system type; please check config.sub.)
|
|
fi
|
|
|
|
# host-specific stuff:
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_INSTALL
|
|
|
|
ALL_LINGUAS="fr sv tr es da vi zh_CN"
|
|
ZW_GNU_GETTEXT_SISTER_DIR
|
|
AM_PO_SUBDIRS
|
|
|
|
AC_EXEEXT
|
|
|
|
AC_PROG_YACC
|
|
AM_PROG_LEX
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
. ${srcdir}/configure.host
|
|
|
|
AC_SUBST(HDEFINES)
|
|
AC_SUBST(HOSTING_CRT0)
|
|
AC_SUBST(HOSTING_LIBS)
|
|
AC_SUBST(NATIVE_LIB_DIRS)
|
|
|
|
AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h elf-hints.h)
|
|
AC_CHECK_FUNCS(sbrk realpath glob)
|
|
AC_HEADER_DIRENT
|
|
|
|
AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
|
|
AC_CACHE_VAL(ld_cv_decl_getopt_unistd_h,
|
|
[AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);],
|
|
ld_cv_decl_getopt_unistd_h=yes, ld_cv_decl_getopt_unistd_h=no)])
|
|
AC_MSG_RESULT($ld_cv_decl_getopt_unistd_h)
|
|
if test $ld_cv_decl_getopt_unistd_h = yes; then
|
|
AC_DEFINE([HAVE_DECL_GETOPT], 1,
|
|
[Is the prototype for getopt in <unistd.h> in the expected format?])
|
|
fi
|
|
|
|
BFD_BINARY_FOPEN
|
|
|
|
AC_CHECK_DECLS([strstr, free, sbrk, getenv, environ])
|
|
|
|
# When converting linker scripts into strings for use in emulation
|
|
# files, use astring.sed if the compiler supports ANSI string
|
|
# concatenation, or ostring.sed otherwise. This is to support the
|
|
# broken Microsoft MSVC compiler, which limits the length of string
|
|
# constants, while still supporting pre-ANSI compilers which do not
|
|
# support string concatenation.
|
|
AC_MSG_CHECKING([whether ANSI C string concatenation works])
|
|
AC_CACHE_VAL(ld_cv_string_concatenation,
|
|
[AC_TRY_COMPILE(,[char *a = "a" "a";],
|
|
[ld_cv_string_concatenation=yes],
|
|
[ld_cv_string_concatenation=no])])
|
|
AC_MSG_RESULT($ld_cv_string_concatenation)
|
|
if test "$ld_cv_string_concatenation" = "yes"; then
|
|
STRINGIFY=astring.sed
|
|
else
|
|
STRINGIFY=ostring.sed
|
|
fi
|
|
AC_SUBST(STRINGIFY)
|
|
|
|
# target-specific stuff:
|
|
|
|
all_targets=
|
|
EMUL=
|
|
all_emuls=
|
|
all_emul_extras=
|
|
all_libpath=
|
|
|
|
dnl We need to get an arbitrary number of tdir definitions into
|
|
dnl Makefile. We can't do it using AC_SUBST, because autoconf does
|
|
dnl not permit literal newlines in an AC_SUBST variables. So we use a
|
|
dnl file.
|
|
rm -f tdirs
|
|
|
|
for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
|
|
do
|
|
if test "$targ_alias" = "all"; then
|
|
all_targets=true
|
|
else
|
|
# Canonicalize the secondary target names.
|
|
result=`$ac_config_sub $targ_alias 2>/dev/null`
|
|
if test -n "$result"; then
|
|
targ=$result
|
|
else
|
|
targ=$targ_alias
|
|
fi
|
|
|
|
. ${srcdir}/configure.tgt
|
|
|
|
if test "$targ" = "$target"; then
|
|
EMUL=$targ_emul
|
|
fi
|
|
|
|
if test x${want64} = xfalse; then
|
|
. ${srcdir}/../bfd/config.bfd
|
|
fi
|
|
|
|
for i in $targ_emul $targ_extra_emuls $targ_extra_libpath; do
|
|
case " $all_emuls " in
|
|
*" e${i}.o "*) ;;
|
|
*)
|
|
all_emuls="$all_emuls e${i}.o"
|
|
eval result=\$tdir_$i
|
|
test -z "$result" && result=$targ_alias
|
|
echo tdir_$i=$result >> tdirs
|
|
;;
|
|
esac
|
|
done
|
|
|
|
for i in $targ_emul $targ_extra_libpath; do
|
|
case " $all_libpath " in
|
|
*" ${i} "*) ;;
|
|
*)
|
|
if test -z "$all_libpath"; then
|
|
all_libpath=${i}
|
|
else
|
|
all_libpath="$all_libpath ${i}"
|
|
fi
|
|
;;
|
|
esac
|
|
done
|
|
|
|
for i in $targ_extra_ofiles; do
|
|
case " $all_emul_extras " in
|
|
*" ${i} "*) ;;
|
|
*)
|
|
all_emul_extras="$all_emul_extras ${i}"
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
done
|
|
|
|
AC_SUBST(EMUL)
|
|
|
|
TDIRS=tdirs
|
|
AC_SUBST_FILE(TDIRS)
|
|
|
|
if test x${all_targets} = xtrue; then
|
|
if test x${want64} = xfalse; then
|
|
AC_CHECK_SIZEOF(long)
|
|
if test "x${ac_cv_sizeof_long}" = "x8"; then
|
|
want64=true
|
|
fi
|
|
fi
|
|
if test x${want64} = xtrue; then
|
|
EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)'
|
|
else
|
|
EMULATION_OFILES='$(ALL_EMULATIONS)'
|
|
fi
|
|
EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES)'
|
|
else
|
|
EMULATION_OFILES=$all_emuls
|
|
EMUL_EXTRA_OFILES=$all_emul_extras
|
|
fi
|
|
AC_SUBST(EMULATION_OFILES)
|
|
AC_SUBST(EMUL_EXTRA_OFILES)
|
|
AC_SUBST(LIB_PATH)
|
|
|
|
EMULATION_LIBPATH=$all_libpath
|
|
AC_SUBST(EMULATION_LIBPATH)
|
|
|
|
if test x${enable_static} = xno; then
|
|
TESTBFDLIB="--rpath ../bfd/.libs ../bfd/.libs/libbfd.so"
|
|
else
|
|
TESTBFDLIB="../bfd/.libs/libbfd.a"
|
|
fi
|
|
AC_SUBST(TESTBFDLIB)
|
|
|
|
target_vendor=${target_vendor=$host_vendor}
|
|
case "$target_vendor" in
|
|
hp) EXTRA_SHLIB_EXTENSION=".sl" ;;
|
|
*) EXTRA_SHLIB_EXTENSION= ;;
|
|
esac
|
|
|
|
case "$target_os" in
|
|
lynxos) EXTRA_SHLIB_EXTENSION=".a" ;;
|
|
esac
|
|
|
|
if test x${EXTRA_SHLIB_EXTENSION} != x ; then
|
|
AC_DEFINE_UNQUOTED(EXTRA_SHLIB_EXTENSION, "$EXTRA_SHLIB_EXTENSION",
|
|
[Additional extension a shared object might have.])
|
|
fi
|
|
|
|
dnl Required by html and install-html
|
|
AC_SUBST(datarootdir)
|
|
AC_SUBST(docdir)
|
|
AC_SUBST(htmldir)
|
|
|
|
AC_OUTPUT(Makefile po/Makefile.in:po/Make-in)
|