135 lines
3.3 KiB
Plaintext
135 lines
3.3 KiB
Plaintext
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)
|
|
|