1dnl Process this file with autoconf to produce a configure script. 2dnl Configure input file for elfutils. -*-autoconf-*- 3dnl 4dnl Copyright (C) 1996-2002, 2003, 2004, 2005, 2006, 2007, 2008 Red Hat, Inc. 5dnl 6dnl This program is free software; you can redistribute it and/or modify 7dnl it under the terms of the GNU General Public License as published by 8dnl the Free Software Foundation, version 2. 9dnl 10dnl This program is distributed in the hope that it will be useful, 11dnl but WITHOUT ANY WARRANTY; without even the implied warranty of 12dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13dnl GNU General Public License for more details. 14dnl 15dnl You should have received a copy of the GNU General Public License 16dnl along with this program; if not, write to the Free Software Foundation, 17dnl Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 18dnl 19AC_INIT([Red Hat elfutils],[0.138],[http://bugzilla.redhat.com/bugzilla/], 20 [elfutils]) 21 22AC_CONFIG_AUX_DIR([config]) 23AC_CONFIG_FILES([config/Makefile]) 24 25AC_COPYRIGHT([Copyright (C) 1996-2007, 2008 Red Hat, Inc.]) 26AC_PREREQ(2.59) dnl Minimum Autoconf version required. 27 28dnl We use GNU make extensions; automake 1.10 defaults to -Wportability. 29AM_INIT_AUTOMAKE([gnits 1.8 -Wno-portability dist-bzip2 no-dist-gzip]) 30AM_MAINTAINER_MODE 31 32dnl Unique ID for this build. 33MODVERSION="Build on $(hostname) $(date +%FT%R:%S%z)" 34AC_SUBST([MODVERSION]) 35AC_DEFINE_UNQUOTED(MODVERSION, "$MODVERSION") 36AH_TEMPLATE([MODVERSION], [Identifier for modules in the build.]) 37 38AC_CONFIG_SRCDIR([libelf/libelf.h]) 39AC_CONFIG_FILES([Makefile]) 40AC_CONFIG_HEADERS([config.h]) 41 42AC_CONFIG_MACRO_DIR([m4]) 43AC_CONFIG_FILES([m4/Makefile]) 44 45dnl The RPM spec file. We substitute a few values in the file. 46AC_CONFIG_FILES([elfutils.spec:config/elfutils.spec.in]) 47 48 49AC_CANONICAL_HOST 50 51AC_ARG_ENABLE([tls], 52AS_HELP_STRING([--enable-tls], [enable use of thread local storage]), 53use_tls=yes, use_tls=no) 54AM_CONDITIONAL(USE_TLS, test "$use_tls" = yes) 55AS_IF([test "$use_tls" = yes], [AC_DEFINE(USE_TLS)]) 56 57AH_TEMPLATE([USE_TLS], [Defined if thread local storage should be used.]) 58 59dnl Add all the languages for which translations are available. 60ALL_LINGUAS= 61 62AC_PROG_CC 63AC_PROG_RANLIB 64AC_PROG_YACC 65AM_PROG_LEX 66 67AC_CACHE_CHECK([for gcc with C99 support], ac_cv_c99, [dnl 68old_CFLAGS="$CFLAGS" 69CFLAGS="$CFLAGS -std=gnu99" 70AC_COMPILE_IFELSE([dnl 71int foo (int a) { for (int i = 0; i < a; ++i) if (i % 4) break; int s = a; }], 72 ac_cv_c99=yes, ac_cv_c99=no) 73CFLAGS="$old_CFLAGS"]) 74AS_IF([test "x$ac_cv_c99" != xyes], 75 AC_MSG_ERROR([gcc with C99 support required])) 76 77LOCALEDIR=$datadir 78AC_SUBST(LOCALEDIR) 79AC_DEFINE_UNQUOTED(LOCALEDIR, "$LOCALEDIR") 80AH_TEMPLATE([LOCALEDIR], [Directory to place translation files in.]) 81 82DATADIRNAME=$datadir 83AC_SUBST(DATADIRNAME) 84 85dnl This test must come as early as possible after the compiler configuration 86dnl tests, because the choice of the file model can (in principle) affect 87dnl whether functions and headers are available, whether they work, etc. 88AC_SYS_LARGEFILE 89 90dnl Enable the linker to be build as a native-only linker. By default it 91dnl can handle all architectures but this comes at a cost. A native 92dnl will be slightly faster, small, and has fewer dependencies. 93native_ld=no 94AC_ARG_ENABLE([generic], 95AS_HELP_STRING([--disable-generic], [do not build generic linker]), [dnl 96if test "$enable_generic" = no; then 97 case "$host_cpu" in 98 i?86) 99 AC_DEFINE(NATIVE_ELF, 32) 100 native_ld=yes 101 base_cpu=i386 102 ;; 103 *) 104 AC_MSG_ERROR([no machine-specific linker for this configuration available]) 105 ;; 106 esac 107fi]) 108AH_TEMPLATE([NATIVE_ELF], 109[Define to 32 or 64 if a specific implementation is wanted.]) 110AM_CONDITIONAL(NATIVE_LD, test "$native_ld" = yes) 111dnl The automake generated Makefile cannot deal with macros in the name 112dnl of files if at any time there is no such file, even if the filename 113dnl would not be used. 114AS_IF([test -z "$base_cpu"], [base_cpu=none]) 115AC_SUBST(base_cpu) 116dnl Support to work around automake's inflexible dependency generation. 117dnl See src/Makefile.am for more information. 118AM_CONDITIONAL(NEVER, false) 119 120dnl Enable debugging via mudflap. This option will cause most libraries 121dnl to be built as archives which are statically linked into the applications. 122dnl All code, as far as possible, is compiled instrumented to catch all 123dnl the bugs valgrind is able to catch. 124use_mudflap=no 125AC_ARG_ENABLE([mudflap], 126AS_HELP_STRING([--enable-mudflap], 127[build binaries with mudflap instrumentation]), [dnl 128if test "x$enable_mudflap" = xyes; then 129 # Check whether the compiler support -fmudflap. 130 old_CFLAGS="$CFLAGS" 131 CFLAGS="$CFLAGS -fmudflap" 132 AC_TRY_COMPILE([], [], use_mudflap=yes, use_mudflap=fail) 133 CFLAGS="$old_CFLAGS" 134fi]) 135if test "$use_mudflap" = fail; then 136 AC_MSG_FAILURE([--enable-mudflap requires a compiler which understands this option]) 137fi 138AM_CONDITIONAL(MUDFLAP, test "$use_mudflap" = yes) 139 140dnl enable debugging of branch prediction. 141use_debugpred=0 142AC_ARG_ENABLE([debugpred], 143AC_HELP_STRING([--enable-debugpred], 144[build binaries with support to debug branch prediction]), 145[use_debugpred=1], [use_debugpred=0]) 146AC_SUBST([DEBUGPRED], $use_debugpred) 147 148dnl Enable gprof suport. 149AC_ARG_ENABLE([gprof], 150AC_HELP_STRING([--enable-gprof], 151[build binaries with gprof support]), [use_gprof=yes], [use_gprof=no]) 152if test "$use_gprof" = yes; then 153 CFLAGS="$CFLAGS -pg" 154 LDFLAGS="$LDFLAGS -pg" 155fi 156AM_CONDITIONAL(GPROF, test "$use_gprof" = yes) 157 158# Enable gcov suport. 159AC_ARG_ENABLE([gcov], 160AC_HELP_STRING([--enable-gcov], 161[build binaries with gcov support]), [use_gcov=yes], [use_gcov=no]) 162if test "$use_gcov" = yes; then 163 CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage" 164 LDFLAGS="$LDFLAGS -fprofile-arcs" 165fi 166AM_CONDITIONAL(GCOV, test "$use_gcov" = yes) 167 168AM_CONDITIONAL(BUILD_STATIC, [dnl 169test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes]) 170 171AC_ARG_ENABLE([tests-rpath], 172AC_HELP_STRING([--enable-tests-rpath], [build $ORIGIN-using rpath into tests]), 173 [tests_use_rpath=yes], [tests_use_rpath=no]) 174AM_CONDITIONAL(TESTS_RPATH, test "$tests_use_rpath" = yes) 175 176LIBEBL_SUBDIR="$PACKAGE" 177AC_ARG_ENABLE([libebl-subdir], 178AS_HELP_STRING([--enable-libebl-subdir=DIR], 179[install libebl_CPU modules in $(libdir)/DIR]), [dnl 180LIBEBL_SUBDIR="$enable_libebl_subdir"]) 181AC_SUBST([LIBEBL_SUBDIR]) 182AC_DEFINE_UNQUOTED(LIBEBL_SUBDIR, "$LIBEBL_SUBDIR") 183AH_TEMPLATE([LIBEBL_SUBDIR], [$libdir subdirectory containing libebl modules.]) 184 185dnl The directories with content. 186 187dnl Documentation. 188dnl Commented out for now. 189dnl AC_CONFIG_FILES([doc/Makefile]) 190 191dnl Support library. 192AC_CONFIG_FILES([lib/Makefile]) 193 194dnl ELF library. 195AC_CONFIG_FILES([libelf/Makefile]) 196 197dnl Higher-level ELF support library. 198AC_CONFIG_FILES([libebl/Makefile]) 199 200dnl DWARF library. 201AC_CONFIG_FILES([libdw/Makefile]) 202 203dnl Higher-level DWARF support library. 204AC_CONFIG_FILES([libdwfl/Makefile]) 205 206dnl CPU handling library. 207AC_CONFIG_FILES([libcpu/Makefile]) 208 209dnl Assembler library. 210AM_CONDITIONAL(HAVE_LIBASM, true)dnl Used in tests/Makefile.am, which see. 211AC_CONFIG_FILES([libasm/Makefile]) 212 213dnl CPU-specific backend libraries. 214AC_CONFIG_FILES([backends/Makefile]) 215 216dnl Tools. 217AC_CONFIG_FILES([src/Makefile po/Makefile.in]) 218 219dnl Test suite. 220AM_CONDITIONAL(STANDALONE, false)dnl Used in tests/Makefile.am, which see. 221AC_CONFIG_FILES([tests/Makefile]) 222 223# Get the definitions necessary to create the Makefiles in the po 224# subdirectories. This is a small subset of the gettext rules. 225AC_SUBST(USE_NLS, yes) 226AM_PO_SUBDIRS 227 228dnl Appended to the config.h file. 229dnl We hide all kinds of configuration magic in lib/eu-config.h. 230AH_BOTTOM([#include <eu-config.h>]) 231 232dnl Version compatibility header. 233AC_CONFIG_FILES([version.h:config/version.h.in]) 234AC_SUBST([eu_version]) 235case $PACKAGE_VERSION in 2360.???) eu_version=${PACKAGE_VERSION#0.} ;; 237?.???) eu_version=${PACKAGE_VERSION/./} ;; 238?.??) eu_version=${PACKAGE_VERSION/./}0 ;; 239?.?) eu_version=${PACKAGE_VERSION/./}00 ;; 240*) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;; 241esac 242 243AC_OUTPUT 244