binutils.m4 revision cc2ee177dbb3befca43e36cfc56778b006c3d050
1dnl AX_BINUTILS - check for needed binutils stuff
2AC_DEFUN([AX_BINUTILS],
3[
4dnl some distro have a libiberty.a but does not have a libiberty.h
5AC_CHECK_HEADERS(libiberty.h)
6AC_CHECK_LIB(iberty, cplus_demangle,, AC_MSG_ERROR([liberty library not found]))
7AC_CHECK_FUNCS(xcalloc)
8AC_CHECK_FUNCS(xmemdup)
9AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl"; DL_LIB="-ldl", DL_LIB="")
10AC_CHECK_LIB(intl, main, LIBS="$LIBS -lintl"; INTL_LIB="-lintl", INTL_LIB="")
11AC_CHECK_LIB(bfd, bfd_openr,, AC_MSG_ERROR([bfd library not found]))
12
13# Determine if bfd_get_synthetic_symtab macro is available
14OS="`uname`"
15if test "$OS" = "Linux"; then
16	AC_MSG_CHECKING([whether bfd_get_synthetic_symtab() exists in BFD library])
17	rm -f test-for-synth
18	AC_LANG_CONFTEST(
19		[AC_LANG_PROGRAM([[#include <bfd.h>]],
20			[[asymbol * synthsyms;	bfd * ibfd = 0; 
21			long synth_count = bfd_get_synthetic_symtab(ibfd, 0, 0, 0, 0, &synthsyms);
22			extern const bfd_target bfd_elf64_powerpc_vec;
23			extern const bfd_target bfd_elf64_powerpcle_vec;
24			char * ppc_name = bfd_elf64_powerpc_vec.name;
25			char * ppcle_name = bfd_elf64_powerpcle_vec.name;]])
26		])
27	$CC conftest.$ac_ext $LIBS -o  test-for-synth > /dev/null 2>&1
28	if test -f test-for-synth; then
29		echo "yes"
30		SYNTHESIZE_SYMBOLS='1'
31	else
32		echo "no"
33		SYNTHESIZE_SYMBOLS='0'
34	fi
35	AC_DEFINE_UNQUOTED(SYNTHESIZE_SYMBOLS, $SYNTHESIZE_SYMBOLS, [Synthesize special symbols when needed])
36	rm -f test-for-synth*
37
38fi
39]
40)
41