diff options
Diffstat (limited to 'package/elf2flt/src/configure.in')
-rw-r--r-- | package/elf2flt/src/configure.in | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/package/elf2flt/src/configure.in b/package/elf2flt/src/configure.in new file mode 100644 index 000000000..73443c6a3 --- /dev/null +++ b/package/elf2flt/src/configure.in @@ -0,0 +1,134 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(elf2flt.c) + +AC_ARG_WITH(libbfd, + [ --with-libbfd=<file> path to libbfd.a library to use ], + [ ac_libbfd=$withval ], + [ ac_libbfd=NONE ] +) + +AC_ARG_WITH(libiberty, + [ --with-libiberty=<file> path to libiberty.a library to use ], + [ ac_libiberty=$withval ], + [ ac_libiberty=NONE ] +) + +AC_ARG_WITH(bfd-include-dir, + [ --with-bfd-include-dir=<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=<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=<dir> path to install elf2flt.ld ], + [ ac_binutils_ldscript_dir=$withval ], + [ ac_binutils_ldscript_dir=NONE ] +) + +AC_ARG_ENABLE(got-check, + [ --disable-got-check - disable check for GOT (needed on H8) ], + [ got_check=$enableval ], + [ got_check=yes ] +) + +AC_ARG_ENABLE(emit_relocs, + [ --disable-emit-relocs - don't use the --emit-relocs (-q) linker option ], + [ emit_relocs=$enableval ], + [ emit_relocs=yes ] +) + +AC_CANONICAL_HOST +AC_CANONICAL_TARGET + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_INSTALL + +dnl Checks for libraries. +if test "$ac_libiberty" = "NONE"; then + AC_CHECK_LIB(iberty, objalloc_create) + ac_libiberty=auto +else + LIBS="$ac_libiberty $LIBS" +fi +if test "$ac_libbfd" = "NONE"; then + AC_CHECK_LIB(bfd, bfd_openr) + ac_libbfd=auto +else + LIBS="$ac_libbfd $LIBS" +fi + +bfd_include_dir= +if test "$ac_bfd_include_dir" != "NONE"; then + bfd_include_dir="-I$ac_bfd_include_dir" +fi + +binutils_include_dir= +if test "$ac_binutils_include_dir" != "NONE"; then + binutils_include_dir="-I$ac_binutils_include_dir" +fi + +binutils_ldscript_dir= +if test "$ac_binutils_ldscript_dir" = "NONE"; then + ac_binutils_ldscript_dir="\${TOOLDIR}/../${target_alias}/lib" +fi +binutils_ldscript_dir="$ac_binutils_ldscript_dir" + +if test "$ac_libbfd" = "NONE" -o "$ac_libiberty" = "NONE" ; then + AC_MSG_ERROR([ + +You need to specify the location of the libfd.a and libiberty.a +host libraries from the binutils package. + +Run configure again specifying these options: + + ./configure --target=<ARCH> --with-bfd-include-dir=<dir> --with-libbfd=<libbfd.a> --with-libiberty=<libiberty.a> +]) +fi + +if test "$ac_bfd_include_dir" = "NONE" ; then + AC_MSG_ERROR([ + +You need to specify the location of the bfd.h header from a +configured/compiled version of the binutils package for your target. +Without this your elf2flt may crash as it will try to use the +systems bfd.h which may be from a different binutils package. + +Run configure again specifying these options: + + ./configure --target=<ARCH> --with-bfd-include-dir=<dir> --with-libbfd=<libbfd.a> --with-libiberty=<libiberty.a> +]) +fi + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(fcntl.h unistd.h bfd.h) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST + +dnl Checks for library functions. +AC_FUNC_VPRINTF + +AC_CHECK_FUNCS(dcgettext) + +dnl Subsitute values +AC_SUBST(target) +AC_SUBST(target_alias) +AC_SUBST(target_cpu) +AC_SUBST(target_os) +AC_SUBST(target_vendor) +AC_SUBST(bfd_include_dir) +AC_SUBST(binutils_include_dir) +AC_SUBST(binutils_ldscript_dir) +AC_SUBST(got_check) +AC_SUBST(emit_relocs) + +AC_OUTPUT(Makefile ld-elf2flt) + |