X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=configure.in;h=951eb32407b9cf0db7791a71d398ca934befda91;hb=118576a9da18d9f0fe6be19dc43afbbb91f20187;hp=5ab89837113cd410e8acc168da50838ce5945b29;hpb=4565de8dfc8dcbf5b4499d370cda376982b4398c;p=uclinux-h8%2Felf2flt.git
diff --git a/configure.in b/configure.in
index 5ab8983..951eb32 100644
--- a/configure.in
+++ b/configure.in
@@ -2,64 +2,101 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(elf2flt.c)
AC_ARG_WITH(zlib-prefix,
- [ --with-zlib-prefix=
path to installed zlib ],
+ AS_HELP_STRING([--with-zlib-prefix=], [path to installed zlib]),
[ ac_zlib_prefix=$withval ],
[ ac_zlib_prefix=NONE ]
)
AC_ARG_WITH(libbfd,
- [ --with-libbfd= path to libbfd.a library to use ],
+ AS_HELP_STRING([--with-libbfd=], [path to libbfd.a library to use]),
[ ac_libbfd=$withval ],
[ ac_libbfd=NONE ]
)
AC_ARG_WITH(libiberty,
- [ --with-libiberty= path to libiberty.a library to use ],
+ AS_HELP_STRING([--with-libiberty=], [path to libiberty.a library to use]),
[ ac_libiberty=$withval ],
[ ac_libiberty=NONE ]
)
AC_ARG_WITH(bfd-include-dir,
- [ --with-bfd-include-dir= include path for correct bfd.h ],
+ AS_HELP_STRING([--with-bfd-include-dir=], [include path for correct bfd.h]),
[ ac_bfd_include_dir=$withval ],
[ ac_bfd_include_dir=NONE ]
)
AC_ARG_WITH(binutils-include-dir,
- [ --with-binutils-include-dir= include path for binutils headers ],
+ AS_HELP_STRING([--with-binutils-include-dir=], [include path for binutils headers]),
[ ac_binutils_include_dir=$withval ],
[ ac_binutils_include_dir=NONE ]
)
AC_ARG_WITH(binutils-ldscript-dir,
- [ --with-binutils-ldscript-dir= path to install elf2flt.ld ],
+ AS_HELP_STRING([--with-binutils-ldscript-dir=], [path to install elf2flt.ld]),
[ ac_binutils_ldscript_dir=$withval ],
[ ac_binutils_ldscript_dir=NONE ]
)
AC_ARG_WITH(binutils-build-dir,
- [ --with-binutils-build-dir= path to compiled binutils tree ],
+ AS_HELP_STRING([--with-binutils-build-dir=], [path to compiled binutils tree]),
[ ac_binutils_build_dir=$withval ],
[ ac_binutils_build_dir=NONE ]
)
+AC_ARG_ENABLE(ld-elf2flt-binary,
+ AS_HELP_STRING([--disable-ld-elf2flt-binary], [use ld-elf2flt shell script]),
+ [ use_ld_elf2flt_binary=$enableval ],
+ [ use_ld_elf2flt_binary=yes ]
+)
+
+dnl convert a yes/no variable to 1/0 for C code
+var_yn_to_10() {
+ if eval test \"\$$1\" = yes ; then
+ eval $1=1
+ else
+ eval $1=0
+ fi
+}
+
AC_ARG_ENABLE(got-check,
- [ --disable-got-check - disable check for GOT (needed on H8) ],
+ AS_HELP_STRING([--disable-got-check], [disable check for GOT (needed on H8)]),
[ got_check=$enableval ],
[ got_check=yes ]
)
+var_yn_to_10 got_check
-AC_ARG_ENABLE(emit_relocs,
- [ --disable-emit-relocs - don't use the --emit-relocs (-q) linker option ],
+AC_ARG_ENABLE(emit-relocs,
+ AS_HELP_STRING([--disable-emit-relocs], [don't use the --emit-relocs (-q) linker option]),
[ emit_relocs=$enableval ],
[ emit_relocs=yes ]
)
+var_yn_to_10 emit_relocs
+
+AC_ARG_ENABLE(emit-ctor-dtor,
+ AS_HELP_STRING([--enable-emit-ctor-dtor], [manually create ctor/dtor list]),
+ [ emit_ctor_dtor=$enableval ],
+ [ emit_ctor_dtor=no ]
+)
+var_yn_to_10 emit_ctor_dtor
+
+AC_ARG_ENABLE(always-reloc-text,
+ AS_HELP_STRING([--enable-always-reloc-text], [always process text relocs ignoring pic/got (needed on Blackfin)]),
+ [ always_reloc_text=$enableval ],
+ [
+ case $target in
+ bfin*) always_reloc_text=yes;;
+ *) always_reloc_text=no;;
+ esac
+ ]
+)
+var_yn_to_10 always_reloc_text
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
dnl Checks for programs.
AC_PROG_CC
+AC_USE_SYSTEM_EXTENSIONS
AC_PROG_INSTALL
if test "$ac_binutils_build_dir" != "NONE"; then
@@ -135,6 +172,13 @@ Run configure again specifying these options:
])
fi
+SYMBOL_PREFIX=
+case $target in
+ h8300|bfin*)
+ SYMBOL_PREFIX=_
+ ;;
+esac
+
dnl Make sure we resolve system symbols before libiberty/libbfd ones.
dnl Otherwise, things like getopt get screwed up because the system headers
dnl redirect some functions to the system symbols, but other local symbols
@@ -152,7 +196,14 @@ AC_C_CONST
dnl Checks for library functions.
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS(dcgettext libintl_dgettext)
+AC_CHECK_FUNCS([ \
+ dcgettext \
+ getline \
+ libintl_dgettext \
+ strsignal \
+])
+
+test "$GCC" = yes && CFLAGS="-Wall $CFLAGS"
dnl Subsitute values
AC_SUBST(target)
@@ -164,8 +215,12 @@ AC_SUBST(bfd_include_dir)
AC_SUBST(binutils_include_dir)
AC_SUBST(zlib_include_dir)
AC_SUBST(binutils_ldscript_dir)
+AC_SUBST(use_ld_elf2flt_binary)
AC_SUBST(got_check)
AC_SUBST(emit_relocs)
+AC_SUBST(emit_ctor_dtor)
+AC_SUBST(always_reloc_text)
+AC_SUBST(SYMBOL_PREFIX)
-AC_OUTPUT(Makefile ld-elf2flt)
+AC_OUTPUT(ld-elf2flt.sh:ld-elf2flt.in Makefile elf2flt.ld)