| 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) |
| |