Blame configure.ac

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