|
Packit |
b23fcc |
# file : configure.ac
|
|
Packit |
b23fcc |
# copyright : Copyright (c) 2017-2020 Red Hat
|
|
Packit |
b23fcc |
# license : GNU GPL v3; see accompanying LICENSE file.
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
AC_PREREQ(2.64)
|
|
Packit |
b23fcc |
AC_INIT([Binary Annotations], 9.0,,[annobin-plugin])
|
|
Packit |
b23fcc |
AC_CONFIG_AUX_DIR([config])
|
|
Packit Service |
da26c4 |
AC_CONFIG_SRCDIR([annobin-global.h])
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
AC_CANONICAL_SYSTEM
|
|
Packit |
b23fcc |
AC_USE_SYSTEM_EXTENSIONS
|
|
Packit |
b23fcc |
GCC_TOPLEV_SUBDIRS
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
# foreign: Don't require README, INSTALL, NEWS, etc.
|
|
Packit |
b23fcc |
# no-define: Don't define PACKAGE and VERSION.
|
|
Packit |
b23fcc |
# -Wall: Issue all automake warnings.
|
|
Packit |
b23fcc |
# -Wno-portability: Don't warn about constructs supported by GNU make.
|
|
Packit |
b23fcc |
# (because GCC requires GNU make anyhow).
|
|
Packit |
b23fcc |
AM_INIT_AUTOMAKE([foreign no-dist no-define -Wall -Wno-portability])
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
AC_PROG_CXX
|
|
Packit |
b23fcc |
AC_LANG(C++)
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
LT_INIT([disable-static])
|
|
Packit |
b23fcc |
LT_OUTPUT
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
# Determine the target specific part of the plugin.
|
|
Packit |
b23fcc |
target_plugin="dummy.annobin.lo"
|
|
Packit |
b23fcc |
case ${target} in
|
|
Packit |
b23fcc |
aarch64*-*-*)
|
|
Packit |
b23fcc |
target_plugin="aarch64.annobin.lo"
|
|
Packit |
b23fcc |
;;
|
|
Packit |
b23fcc |
powerpc*-*-*)
|
|
Packit |
b23fcc |
target_plugin="powerpc.annobin.lo"
|
|
Packit |
b23fcc |
;;
|
|
Packit Service |
16c28e |
*86-*-*)
|
|
Packit Service |
16c28e |
target_plugin="i686.annobin.lo"
|
|
Packit Service |
16c28e |
;;
|
|
Packit Service |
16c28e |
x86_64-*-*)
|
|
Packit |
b23fcc |
target_plugin="x86_64.annobin.lo"
|
|
Packit |
b23fcc |
;;
|
|
Packit Service |
16c28e |
s390*-*-*)
|
|
Packit Service |
16c28e |
target_plugin="s390.annobin.lo"
|
|
Packit Service |
16c28e |
;;
|
|
Packit |
b23fcc |
*)
|
|
Packit |
b23fcc |
target_plugin="dummy.annobin.lo"
|
|
Packit |
b23fcc |
;;
|
|
Packit |
b23fcc |
esac
|
|
Packit |
b23fcc |
AC_SUBST(target_plugin)
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
# We need GCC plugin support.
|
|
Packit |
b23fcc |
GCC_PLUGIN
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
# Use an alternative GMP if requested.
|
|
Packit |
b23fcc |
GMP
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
# Determine if we should build annocheck.
|
|
Packit |
b23fcc |
ANNOCHECK
|
|
Packit |
b23fcc |
# Determine if we should build the clang-plugin
|
|
Packit |
b23fcc |
CLANG_PLUGIN
|
|
Packit Service |
da26c4 |
# Determine if we should build the gcc-plugin
|
|
Packit Service |
da26c4 |
BUILD_GCC_PLUGIN
|
|
Packit |
b23fcc |
# Determine if we should build the llvm-plugin
|
|
Packit |
b23fcc |
LLVM_PLUGIN
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|
Packit |
b23fcc |
AC_ARG_ENABLE(maintainer-mode,
|
|
Packit |
b23fcc |
[AS_HELP_STRING([--enable-maintainer-mode],
|
|
Packit |
b23fcc |
[enable make rules and dependencies not useful
|
|
Packit |
b23fcc |
(and sometimes confusing) to the casual installer])],
|
|
Packit |
b23fcc |
USE_MAINTAINER_MODE=$enableval,
|
|
Packit |
b23fcc |
USE_MAINTAINER_MODE=no)
|
|
Packit |
b23fcc |
AC_MSG_RESULT($USE_MAINTAINER_MODE)
|
|
Packit |
b23fcc |
AC_SUBST(MAINTAINER_MODE_TRUE)
|
|
Packit |
b23fcc |
AC_SUBST(MAINTAINER_MODE_FALSE)
|
|
Packit |
b23fcc |
if test "$USE_MAINTAINER_MODE" = yes; then
|
|
Packit |
b23fcc |
MAINTAINER_MODE_TRUE=
|
|
Packit |
b23fcc |
MAINTAINER_MODE_FALSE='#'
|
|
Packit |
b23fcc |
else
|
|
Packit |
b23fcc |
MAINTAINER_MODE_TRUE='#'
|
|
Packit |
b23fcc |
MAINTAINER_MODE_FALSE=
|
|
Packit |
b23fcc |
fi
|
|
Packit |
b23fcc |
MAINT=$MAINTAINER_MODE_TRUE
|
|
Packit |
b23fcc |
AC_SUBST(MAINT)dnl
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
if test x$gcc_plugin_dir != xno; then
|
|
Packit |
b23fcc |
AC_DEFINE([ANNOBIN_GCC_PLUGIN_DIR], [1], [Plugin is in GCC plugin directory.])
|
|
Packit |
b23fcc |
plugindir=$gcc_plugin_dir
|
|
Packit |
b23fcc |
# Otherwise, try to figure out a relative path from the driver (bindir) to
|
|
Packit |
b23fcc |
# the plugin (libexecdir).
|
|
Packit |
b23fcc |
#
|
|
Packit |
b23fcc |
else
|
|
Packit |
b23fcc |
# Get the expanded values for bindir and libexecdir.
|
|
Packit |
b23fcc |
#
|
|
Packit |
b23fcc |
if test x$exec_prefix = xNONE; then
|
|
Packit |
b23fcc |
if test x$prefix = xNONE; then
|
|
Packit |
b23fcc |
e_exec_prefix=$ac_default_prefix
|
|
Packit |
b23fcc |
else
|
|
Packit |
b23fcc |
e_exec_prefix=$prefix
|
|
Packit |
b23fcc |
fi
|
|
Packit |
b23fcc |
else
|
|
Packit |
b23fcc |
e_exec_prefix=$exec_prefix
|
|
Packit |
b23fcc |
fi
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
e_pkglibexecdir=`echo "$libexecdir/$PACKAGE_NAME" | sed "s?^\\\${exec_prefix}?$e_exec_prefix?"`
|
|
Packit |
b23fcc |
e_bindir=`echo "$bindir" | sed "s?^\\\${exec_prefix}?$e_exec_prefix?"`
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
# Try to find a common prefix.
|
|
Packit |
b23fcc |
#
|
|
Packit |
b23fcc |
common=$e_bindir
|
|
Packit |
b23fcc |
rel_plugindir=$e_pkglibexecdir
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
while test x$common != x/; do
|
|
Packit |
b23fcc |
suffix=`echo "$e_pkglibexecdir" | sed "s?^$common/*??"`
|
|
Packit |
b23fcc |
if test "x$suffix" != "x$e_pkglibexecdir"; then
|
|
Packit |
b23fcc |
# Replace all the remaining directories in bindir with ".."
|
|
Packit |
b23fcc |
# and append the suffix.
|
|
Packit |
b23fcc |
rel_plugindir=`echo "$e_bindir" | sed "s?^$common/*??"`
|
|
Packit |
b23fcc |
rel_plugindir=`echo "$rel_plugindir" | sed ['s?[^/][^/]*?..?g']`
|
|
Packit |
b23fcc |
if test "x$rel_plugindir" != x -a "x$suffix" != x; then
|
|
Packit |
b23fcc |
rel_plugindir="$rel_plugindir/$suffix"
|
|
Packit |
b23fcc |
else
|
|
Packit |
b23fcc |
rel_plugindir="$rel_plugindir$suffix"
|
|
Packit |
b23fcc |
fi
|
|
Packit |
b23fcc |
break
|
|
Packit |
b23fcc |
fi
|
|
Packit |
b23fcc |
common=`AS_DIRNAME(["$common"])`
|
|
Packit |
b23fcc |
done
|
|
Packit |
b23fcc |
AC_DEFINE_UNQUOTED([ANNOBIN_PLUGIN_PATH], ["$rel_plugindir"], [Plugin path.])
|
|
Packit |
b23fcc |
plugindir='$(pkglibexecdir)'
|
|
Packit |
b23fcc |
fi
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
AC_SUBST([plugindir])
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
# Check for debuginfod availability
|
|
Packit |
b23fcc |
DEBUGINFOD
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
DISABLE_RPATH
|
|
Packit |
b23fcc |
|
|
Packit |
b23fcc |
ACX_LT_HOST_FLAGS
|
|
Packit |
b23fcc |
AC_SUBST(target_noncanonical)
|
|
Packit |
b23fcc |
AC_TYPE_INT64_T
|
|
Packit |
b23fcc |
AC_TYPE_UINT64_T
|
|
Packit |
b23fcc |
AC_HEADER_SYS_WAIT
|
|
Packit Service |
da26c4 |
|
|
Packit Service |
da26c4 |
AM_CONDITIONAL([COND_TESTS], [test "$with_tests" != no])
|
|
Packit Service |
da26c4 |
AM_CONDITIONAL([COND_ANNOCHECK], [test "$with_annocheck" != no])
|
|
Packit Service |
da26c4 |
AM_CONDITIONAL([COND_CLANG], [test "$with_clang_plugin" == yes])
|
|
Packit Service |
da26c4 |
AM_CONDITIONAL([COND_GCC_PLUGIN], [test "$with_gcc_plugin" != no])
|
|
Packit Service |
da26c4 |
AM_CONDITIONAL([COND_LLVM], [test "$with_llvm_plugin" == yes])
|
|
Packit Service |
da26c4 |
|
|
Packit Service |
da26c4 |
AC_CONFIG_FILES(doc/Makefile Makefile)
|
|
Packit |
b23fcc |
if test "$with_tests" != no; then
|
|
Packit |
b23fcc |
AC_CONFIG_FILES(tests/Makefile)
|
|
Packit |
b23fcc |
fi
|
|
Packit |
b23fcc |
if test "$with_annocheck" != no; then
|
|
Packit |
b23fcc |
AC_CONFIG_FILES(annocheck/Makefile)
|
|
Packit |
b23fcc |
fi
|
|
Packit |
b23fcc |
if test "$with_clang" = yes; then
|
|
Packit |
b23fcc |
AC_CONFIG_FILES(clang-plugin/Makefile)
|
|
Packit |
b23fcc |
fi
|
|
Packit Service |
da26c4 |
if test "$with_gcc_plugin" != no; then
|
|
Packit Service |
da26c4 |
AC_CONFIG_FILES(gcc-plugin/Makefile)
|
|
Packit Service |
da26c4 |
AC_CONFIG_HEADERS(gcc-plugin/config.h)
|
|
Packit Service |
da26c4 |
fi
|
|
Packit |
b23fcc |
if test "$with_llvm" = yes; then
|
|
Packit |
b23fcc |
AC_CONFIG_FILES(llvm-plugin/Makefile)
|
|
Packit |
b23fcc |
fi
|
|
Packit Service |
da26c4 |
|
|
Packit |
b23fcc |
AC_OUTPUT
|