OSDN Git Service

* elf2flt.c (output_relocs) <use_resolved> [TARGET_arm]: Add
[uclinux-h8/elf2flt.git] / configure.in
index ff335a9..ae5dd27 100644 (file)
@@ -1,21 +1,41 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(elf2flt.c)
 
-AC_MSG_CHECKING(--with-libbfd=?)
 AC_ARG_WITH(libbfd,
        [ --with-libbfd=<file>  path to libbfd.a library to use ],
        [ ac_libbfd=$withval ],
        [ ac_libbfd=NONE ]
 )
-AC_MSG_RESULT($ac_libbfd)
 
-AC_MSG_CHECKING(--with-libiberty=?)
 AC_ARG_WITH(libiberty,
        [ --with-libiberty=<file>  path to libiberty.a library to use ],
        [ ac_libiberty=$withval ],
        [ ac_libiberty=NONE ]
 )
-AC_MSG_RESULT($ac_libiberty)
+
+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_CANONICAL_HOST
 AC_CANONICAL_TARGET
@@ -25,6 +45,35 @@ 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
        echo
        echo "You need to specify the location of the libfd.a and libiberty.a"
@@ -32,15 +81,28 @@ if test "$ac_libbfd" = "NONE" -o "$ac_libiberty" = "NONE" ; then
        echo
        echo "Run configure again specifying these options:"
        echo
-       echo "  ./configure --target=<ARCH> --with-libbfd=<libbfd.a> --with-libiberty=<libiberty.a>"
+       echo "  ./configure --target=<ARCH> --with-bfd-include-dir=<dir> --with-libbfd=<libbfd.a> --with-libiberty=<libiberty.a>"
+       echo
+       exit 1
+fi
+
+if test "$ac_bfd_include_dir" = "NONE" ; then
+       echo
+       echo "You need to specify the location of the bfd.h header from a"
+       echo "configured/compiled version of the binutils package for your target."
+       echo "Without this your elf2flt may crash as it will try to use the"
+       echo "systems bfd.h which may be from a different binutils package."
+       echo
+       echo "Run configure again specifying these options:"
+       echo
+       echo "  ./configure --target=<ARCH> --with-bfd-include-dir=<dir> --with-libbfd=<libbfd.a> --with-libiberty=<libiberty.a>"
        echo
        exit 1
 fi
-LDFLAGS="$LDFLAGS $ac_libbfd $ac_libiberty"
 
 dnl Checks for header files.
 AC_HEADER_STDC
-AC_CHECK_HEADERS(fcntl.h unistd.h)
+AC_CHECK_HEADERS(fcntl.h unistd.h bfd.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -48,12 +110,18 @@ 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_OUTPUT(Makefile)
+AC_OUTPUT(Makefile ld-elf2flt)