1
dnl This program is free software; you can redistribute it and/or modify
2
dnl it under the terms of the GNU General Public License as published by
3
dnl the Free Software Foundation; either version 2 of the License, or
4
dnl (at your option) any later version.
6
dnl This program is distributed in the hope that it will be useful,
7
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
8
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9
dnl GNU General Public License for more details.
11
dnl You should have received a copy of the GNU General Public License
12
dnl along with this program; if not, write to the Free Software
13
dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
14
dnl MA 02110-1301, USA.
17
AC_INIT([libclamavc++],[devel],[http://bugs.clamav.net])
18
AC_CONFIG_AUX_DIR([config])
19
AC_CONFIG_SRCDIR([llvm/configure])
20
AC_CONFIG_MACRO_DIR([m4])
21
AC_CONFIG_HEADER([clamavcxx-config.h])
23
AM_INIT_AUTOMAKE([1.9 -Wall -Wportability -Werror foreign no-define color-tests tar-pax])
24
AM_SILENT_RULES([yes])
26
cxxset=${CXXFLAGS+set}
29
if test "$cxxset" != set; then
30
# don't use the default -O2 -g because -g bloats the C++ binaries too much
35
LT_INIT([disable-static])
36
if test "$GXX" != "yes"; then
37
AC_MSG_ERROR([GNU C++ compiler not found, not building LLVM])
41
GMAKE="$llvm_cv_gnu_make_command"
43
AC_CONFIG_SUBDIRS([llvm])
44
AC_ARG_ENABLE([llvm],AC_HELP_STRING([-enable-llvm],
45
[Enable 'llvm' JIT/verifier support @<:@default=auto@:>@]),
46
[enable_llvm=$enableval], [enable_llvm="auto"])
48
AC_ARG_ENABLE(optimized, AC_HELP_STRING([-enable-optimized],
49
[Compile with optimizations enabled (default is YES)]),
50
enable_optimized=$enableval, enable_optimized=default)
51
AM_CONDITIONAL(DEBUG_BUILD,[test "x$enable_optimized" == "xno"])
53
dnl Set configure args for subdir
54
if test "$enable_optimized" = "default"; then
55
ac_configure_args="$ac_configure_args --enable-optimized"
58
dnl Pretend that GNU make is available for LLVM, we don't use LLVM's buildsystem
59
dnl anyway (except for make check)
60
ac_configure_args="$ac_configure_args llvm_cv_gnu_make_command=make"
61
AC_ARG_ENABLE(all-jit-targets, AC_HELP_STRING([-enable-all-jit-targets],
62
[Build all the targets that support JIT for testing (default NO)]),
63
enable_alltargets=$enableval, enable_alltargets=no)
64
if test "$enable_alltargets" = "yes"; then
65
new_args="$ac_configure_args --enable-targets=x86,powerpc,arm --enable-bindings=none --enable-libffi=no --without-llvmgcc --without-llvmgxx"
67
new_args="$ac_configure_args --enable-targets=host-only --enable-bindings=none --enable-libffi=no --without-llvmgcc --without-llvmgxx"
70
ac_configure_args=`echo $new_args | sed -e 's/-Werror //g'`
71
echo "$ac_configure_args"
73
if test "$enable_llvm" = "auto"; then
74
dnl Do some sanity checks, and don't automatically build on platforms
75
dnl that are not supported or have broken compilers.
76
dnl The user can override this by specifying --enable-llvm=yes.
77
AC_MSG_CHECKING([for supported C++ compiler version])
78
gxx_version=`${CXX} -dumpversion` ||
79
AC_MSG_ERROR([Unable to get GNU C++ compiler version])
80
case "${gxx_version}" in
82
AC_MSG_ERROR([C++ compiler too old (${gxx_version})])
85
AC_MSG_ERROR([C++ compiler is buggy])
88
AC_MSG_RESULT([ok (${gxx_version})])
91
AC_MSG_CHECKING([for supported OS])
93
i?86|amd64|x86_64|powerpc*)
95
darwin*|freebsd*|openbsd*|netbsd*|dragonfly*|linux*|solaris*|win32*|mingw*)
96
AC_MSG_RESULT([ok ($target_cpu-$target_os)])
99
AC_MSG_ERROR([OS $target_os is not supported, not building LLVM])
104
AC_MSG_ERROR([CPU support is untested, not building LLVM])
107
AC_MSG_ERROR([Unsupported CPU for JIT: $target_cpu, not building LLVM])
115
case "$target_cpu" in
127
# FreeBSD is only one which needs something else than -pthread,
128
# according to the logic in ClamAV's main configure.in.
131
THREAD_LIBS="-pthread -lc_r"
137
THREAD_LIBS="-pthread"
139
AC_SUBST([THREAD_LIBS])
141
if test "$enable_alltargets" = "yes"; then
146
AM_CONDITIONAL(BUILD_X86, [test "$build_x86" = "yes"])
147
AM_CONDITIONAL(BUILD_PPC, [test "$build_ppc" = "yes"])
148
AM_CONDITIONAL(BUILD_ARM, [test "$build_arm" = "yes"])