AC_INIT(libr.c) AM_INIT_AUTOMAKE(libr,0.6.0) AC_CONFIG_SRCDIR([src/libr.c]) AC_PROG_CC AC_PROG_CC_STDC AC_HEADER_STDC AC_PROG_INSTALL AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION(0.17) # It is important to build both a static and a shared version of the libr # library. The shared version is for future-proofing, whereas the static # version should be used to make a more portable binary until libr is # more widely distributed (as in distributed at all). AC_ENABLE_SHARED AC_ENABLE_STATIC # Setup libtool AC_PROG_LIBTOOL AC_SUBST(LIBTOOL_DEPS) ## Handle optional libraries (only header files are used) PKG_CHECK_MODULES(LIBGLADE, libglade-2.0 >= 2.0.0) ## Handle required components # Is this the best check for zlib that can be made? AC_CHECK_HEADERS(zlib.h math.h pthread.h) EXTRA_LIBS="-lz -lm -lpthread" EXTRA_CFLAGS="-fvisibility=hidden" AC_SUBST(EXTRA_CFLAGS) AC_SUBST(EXTRA_LIBS) ## Handle backend configuration LIBR_BACKEND="bfd" BACKEND_NAME="libbfd" AC_ARG_ENABLE(libelf, [ --enable-libelf use the libelf backend ], [ if test "$enableval" = "yes" ; then LIBR_BACKEND="elf" BACKEND_NAME="libelf" fi ]) AC_ARG_ENABLE(libbfd, [ --enable-libbfd use the libbfd backend (default) ], [ if test "$enableval" == "yes" ; then LIBR_BACKEND="bfd" BACKEND_NAME="libbfd" fi ]) AC_ARG_ENABLE(ro, [ --enable-ro use the read-only backend ], [ if test "$enableval" == "yes" ; then LIBR_BACKEND="ro" BACKEND_NAME="readonly" fi ]) echo "Using ${BACKEND_NAME} backend." if test "${LIBR_BACKEND}" == "bfd" ; then AC_CHECK_HEADER([bfd.h], [], [ AC_MSG_ERROR([Could not find libbfd header file (bfd.h)! This file is usually included in the package binutils-dev.]) ]) BACKEND_PKG="binutils" BACKEND_LIBS="-lbfd" BACKEND_CFLAGS="" AC_SUBST(BACKEND_LIBS) AC_SUBST(BACKEND_CFLAGS) elif test "${LIBR_BACKEND}" == "elf" ; then # Is libelf 0.8.2 safe enough? testing is currently on 0.8.6 BACKEND_PKG="elfutils" pkg_modules="libelf >= 0.8.2" PKG_CHECK_MODULES(BACKEND, [$pkg_modules]) fi AC_SUBST(BACKEND_NAME) AC_SUBST(LIBR_BACKEND) AC_SUBST(BACKEND_PKG) AC_CONFIG_HEADERS(config.h) AC_OUTPUT( src/Makefile man/Makefile po/Makefile.in Makefile )