##------------------------------------------------------------##
# Process this file with autoconf to produce a configure script.
-AC_INIT(Valgrind, 3.7.0.SVN, valgrind-users@lists.sourceforge.net)
+AC_INIT([Valgrind],[3.7.0.SVN],[valgrind-users@lists.sourceforge.net])
AC_CONFIG_SRCDIR(coregrind/m_main.c)
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign])
AM_MAINTAINER_MODE
AC_MSG_CHECKING([for 32 bit build support])
safe_CFLAGS=$CFLAGS
CFLAGS="-m32"
- AC_TRY_LINK(, [
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
return 0;
- ],
- [
+ ]])], [
AC_MSG_RESULT([yes])
], [
vg_cv_only64bit="yes"
AC_MSG_CHECKING([for CLOCK_MONOTONIC])
-AC_TRY_COMPILE(
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <time.h>
-], [
+]], [[
struct timespec t;
clock_gettime(CLOCK_MONOTONIC, &t);
return 0;
-],
-[
+]])], [
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_CLOCK_MONOTONIC], 1,
[Define to 1 if you have the `CLOCK_MONOTONIC' constant.])
AC_MSG_CHECKING([for pthread_rwlock_t])
-AC_TRY_COMPILE(
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#define _GNU_SOURCE
#include <pthread.h>
-], [
+]], [[
pthread_rwlock_t rwl;
-],
-[
+]])], [
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_PTHREAD_RWLOCK_T], 1,
[Define to 1 if you have the `pthread_rwlock_t' type.])
AC_MSG_CHECKING([for PTHREAD_MUTEX_ADAPTIVE_NP])
-AC_TRY_COMPILE(
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#define _GNU_SOURCE
#include <pthread.h>
-], [
+]], [[
return (PTHREAD_MUTEX_ADAPTIVE_NP);
-],
-[
+]])], [
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_PTHREAD_MUTEX_ADAPTIVE_NP], 1,
[Define to 1 if you have the `PTHREAD_MUTEX_ADAPTIVE_NP' constant.])
AC_MSG_CHECKING([for PTHREAD_MUTEX_ERRORCHECK_NP])
-AC_TRY_COMPILE(
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#define _GNU_SOURCE
#include <pthread.h>
-], [
+]], [[
return (PTHREAD_MUTEX_ERRORCHECK_NP);
-],
-[
+]])], [
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_PTHREAD_MUTEX_ERRORCHECK_NP], 1,
[Define to 1 if you have the `PTHREAD_MUTEX_ERRORCHECK_NP' constant.])
AC_MSG_CHECKING([for PTHREAD_MUTEX_RECURSIVE_NP])
-AC_TRY_COMPILE(
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#define _GNU_SOURCE
#include <pthread.h>
-], [
+]], [[
return (PTHREAD_MUTEX_RECURSIVE_NP);
-],
-[
+]])], [
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE_NP], 1,
[Define to 1 if you have the `PTHREAD_MUTEX_RECURSIVE_NP' constant.])
AC_MSG_CHECKING([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP])
-AC_TRY_COMPILE(
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#define _GNU_SOURCE
#include <pthread.h>
-], [
+]], [[
pthread_mutex_t m = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
return 0;
-],
-[
+]])], [
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP], 1,
[Define to 1 if you have the `PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP' constant.])
safe_CFLAGS=$CFLAGS
CFLAGS="-maltivec"
-AC_TRY_COMPILE(
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <altivec.h>
-], [
+]], [[
vector unsigned int v;
-],
-[
+]])], [
ac_have_altivec=yes
AC_MSG_RESULT([yes])
AC_DEFINE([HAS_ALTIVEC], 1,
safe_CFLAGS=$CFLAGS
CFLAGS="-mvsx"
-AC_TRY_COMPILE(
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <altivec.h>
-], [
+]], [[
vector unsigned int v;
__asm__ __volatile__("xsmaddadp 32, 32, 33" ::: "memory","cc");
-],
-[
+]])], [
ac_have_vsx=yes
AC_MSG_RESULT([yes])
], [
safe_CFLAGS=$CFLAGS
CFLAGS="-lpthread"
-AC_TRY_LINK(
-[
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
extern int pthread_create_glibc_2_0(void*, const void*,
void *(*)(void*), void*);
__asm__(".symver pthread_create_glibc_2_0, pthread_create@GLIBC_2.0");
-], [
+]], [[
#ifdef __powerpc__
/*
* Apparently on PowerPC linking this program succeeds and generates an
pthread_create_glibc_2_0(0, 0, 0, 0);
#endif
return 0;
-],
-[
+]])], [
ac_have_pthread_create_glibc_2_0=yes
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_PTHREAD_CREATE_GLIBC_2_0], 1,
# Check for eventfd_t, eventfd() and eventfd_read()
AC_MSG_CHECKING([for eventfd()])
-AC_TRY_LINK(
-[
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <sys/eventfd.h>
-], [
+]], [[
eventfd_t ev;
int fd;
fd = eventfd(5, 0);
eventfd_read(fd, &ev);
return 0;
-],
-[
+]])], [
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_EVENTFD], 1,
[Define to 1 if you have the `eventfd' function.])
safe_CFLAGS=$CFLAGS
CFLAGS="-m32"
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
return 0;
-],
-[
+]])], [
FLAG_M32="-m32"
AC_MSG_RESULT([yes])
], [
safe_CFLAGS=$CFLAGS
CFLAGS="-m64"
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
return 0;
-],
-[
+]])], [
FLAG_M64="-m64"
AC_MSG_RESULT([yes])
], [
safe_CFLAGS=$CFLAGS
CFLAGS="-mmmx"
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
return 0;
-],
-[
+]])], [
FLAG_MMMX="-mmmx"
AC_MSG_RESULT([yes])
], [
safe_CFLAGS=$CFLAGS
CFLAGS="-msse"
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
return 0;
-],
-[
+]])], [
FLAG_MSSE="-msse"
AC_MSG_RESULT([yes])
], [
safe_CFLAGS=$CFLAGS
CFLAGS="-mpreferred-stack-boundary=2"
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
return 0;
-],
-[
+]])], [
PREFERRED_STACK_BOUNDARY="-mpreferred-stack-boundary=2"
AC_MSG_RESULT([yes])
], [
safe_CFLAGS=$CFLAGS
CFLAGS="-Wno-pointer-sign"
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
return 0;
-],
-[
+]])], [
no_pointer_sign=yes
AC_MSG_RESULT([yes])
], [
safe_CFLAGS=$CFLAGS
CFLAGS="-Wno-empty-body"
-AC_TRY_COMPILE(
-[ ],
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
return 0;
-],
-[
+]])], [
AC_SUBST([FLAG_W_NO_EMPTY_BODY], [-Wno-empty-body])
AC_MSG_RESULT([yes])
-],
-[
+], [
AC_SUBST([FLAG_W_NO_EMPTY_BODY], [])
AC_MSG_RESULT([no])
])
safe_CFLAGS=$CFLAGS
CFLAGS="-Wno-format-zero-length"
-AC_TRY_COMPILE(
-[ ],
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
return 0;
-],
-[
+]])], [
AC_SUBST([FLAG_W_NO_FORMAT_ZERO_LENGTH], [-Wno-format-zero-length])
AC_MSG_RESULT([yes])
-],
-[
+], [
AC_SUBST([FLAG_W_NO_FORMAT_ZERO_LENGTH], [])
AC_MSG_RESULT([no])
])
safe_CFLAGS=$CFLAGS
CFLAGS="-Wno-nonnull"
-AC_TRY_COMPILE(
-[ ],
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
return 0;
-],
-[
+]])], [
AC_SUBST([FLAG_W_NO_NONNULL], [-Wno-nonnull])
AC_MSG_RESULT([yes])
-],
-[
+], [
AC_SUBST([FLAG_W_NO_NONNULL], [])
AC_MSG_RESULT([no])
])
safe_CFLAGS=$CFLAGS
CFLAGS="-Wno-overflow"
-AC_TRY_COMPILE(
-[ ],
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
return 0;
-],
-[
+]])], [
AC_SUBST([FLAG_W_NO_OVERFLOW], [-Wno-overflow])
AC_MSG_RESULT([yes])
-],
-[
+], [
AC_SUBST([FLAG_W_NO_OVERFLOW], [])
AC_MSG_RESULT([no])
])
safe_CFLAGS=$CFLAGS
CFLAGS="-Wno-uninitialized"
-AC_TRY_COMPILE(
-[ ],
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
return 0;
-],
-[
+]])], [
AC_SUBST([FLAG_W_NO_UNINITIALIZED], [-Wno-uninitialized])
AC_MSG_RESULT([yes])
-],
-[
+], [
AC_SUBST([FLAG_W_NO_UNINITIALIZED], [])
AC_MSG_RESULT([no])
])
safe_CFLAGS=$CFLAGS
CFLAGS="-Wextra"
-AC_TRY_COMPILE(
-[ ],
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
return 0;
-],
-[
+]])], [
AC_SUBST([FLAG_W_EXTRA], [-Wextra])
AC_MSG_RESULT([-Wextra])
], [
CFLAGS="-W"
- AC_TRY_COMPILE(
- [ ],
- [
+ AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[ ]], [[
return 0;
- ],
- [
+ ]]), [
AC_SUBST([FLAG_W_EXTRA], [-W])
AC_MSG_RESULT([-W])
], [
safe_CFLAGS=$CFLAGS
CFLAGS="-fno-stack-protector"
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
return 0;
-],
-[
+]])], [
no_stack_protector=yes
FLAG_FNO_STACK_PROTECTOR="-fno-stack-protector"
AC_MSG_RESULT([yes])
safe_CFLAGS=$CFLAGS
CFLAGS="--param inline-unit-growth=900"
-AC_TRY_COMPILE(
-[ ],
-[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
return 0;
-],
-[
+]])], [
AC_SUBST([FLAG_UNLIMITED_INLINE_UNIT_GROWTH],
["--param inline-unit-growth=900"])
AC_MSG_RESULT([yes])
# does the ppc assembler support "mtocrf" et al?
AC_MSG_CHECKING([if ppc32/64 as supports mtocrf/mfocrf])
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
__asm__ __volatile__("mtocrf 4,0");
__asm__ __volatile__("mfocrf 0,4");
-],
-[
+]])], [
ac_have_as_ppc_mftocrf=yes
AC_MSG_RESULT([yes])
], [
# automake-level symbol (BUILD_SSE3_TESTS), used in test Makefile.am's
AC_MSG_CHECKING([if x86/amd64 assembler speaks SSE3])
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
do { long long int x;
__asm__ __volatile__("fisttpq (%0)" : :"r"(&x) ); }
while (0)
-],
-[
+]])], [
ac_have_as_sse3=yes
AC_MSG_RESULT([yes])
], [
# automake-level symbol (BUILD_SSSE3_TESTS), used in test Makefile.am's
AC_MSG_CHECKING([if x86/amd64 assembler speaks SSSE3])
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
do { long long int x;
__asm__ __volatile__(
"pabsb (%0),%%xmm7" : : "r"(&x) : "xmm7" ); }
while (0)
-],
-[
+]])], [
ac_have_as_ssse3=yes
AC_MSG_RESULT([yes])
], [
# Note, this doesn't generate a C-level symbol. It generates a
# automake-level symbol (BUILD_PCLMULQDQ_TESTS), used in test Makefile.am's
AC_MSG_CHECKING([if x86/amd64 assembler supports 'pclmulqdq'])
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
do {
__asm__ __volatile__(
"pclmulqdq \$17,%%xmm6,%%xmm7" : : : "xmm6", "xmm7" ); }
while (0)
-],
-[
+]])], [
ac_have_as_pclmulqdq=yes
AC_MSG_RESULT([yes])
], [
# automake-level symbol (BUILD_LZCNT_TESTS), used in test Makefile.am's
AC_MSG_CHECKING([if x86/amd64 assembler supports 'lzcnt'])
-AC_TRY_COMPILE([], [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
do {
__asm__ __volatile__("lzcnt %rax,%rax");
} while (0)
-],
-[
+]])], [
ac_have_as_lzcnt=yes
AC_MSG_RESULT([yes])
], [
# automake-level symbol (BUILD_SSE42_TESTS), used in test Makefile.am's
AC_MSG_CHECKING([if x86/amd64 assembler speaks SSE4.2])
-AC_TRY_COMPILE(, [
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
do { long long int x;
__asm__ __volatile__(
"crc32q %%r15,%%r15" : : : "r15" ); }
while (0)
-],
-[
+]])], [
ac_have_as_sse42=yes
AC_MSG_RESULT([yes])
], [
# Verify whether the <linux/futex.h> header is usable.
AC_MSG_CHECKING([if <linux/futex.h> is usable])
-AC_TRY_COMPILE([
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <linux/futex.h>
-], [
+]], [[
return FUTEX_WAIT;
-],
-[
+]])], [
AC_DEFINE([HAVE_USABLE_LINUX_FUTEX_H], 1,
[Define to 1 if you have a usable <linux/futex.h> header file.])
AC_MSG_RESULT([yes])
#----------------------------------------------------------------------------
AC_FUNC_MEMCMP
AC_FUNC_MMAP
-AC_TYPE_SIGNAL
AC_CHECK_LIB([pthread], [pthread_create])
AC_CHECK_LIB([rt], [clock_gettime])
saved_CFLAGS=$CFLAGS
CC=$MPI_CC
CFLAGS=$mflag_primary
-AC_TRY_LINK([
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <mpi.h>
#include <stdio.h>
-],[
+]], [[
int r = MPI_Init(NULL,NULL);
r |= MPI_Type_get_contents( MPI_INT, 0,0,0, NULL,NULL,NULL );
return r;
-], [
+]])], [
ac_have_mpi2_pri=yes
AC_MSG_RESULT([yes, $MPI_CC])
], [
CC=$MPI_CC
fi
CFLAGS=$mflag_secondary
-AC_TRY_LINK([
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <mpi.h>
#include <stdio.h>
-],[
+]], [[
int r = MPI_Init(NULL,NULL);
r |= MPI_Type_get_contents( MPI_INT, 0,0,0, NULL,NULL,NULL );
return r;
-], [
+]])], [
ac_have_mpi2_sec=yes
AC_MSG_RESULT([yes, $MPI_CC])
], [
safe_CFLAGS=$CFLAGS
CFLAGS="$mflag_primary"
-AC_TRY_LINK(,
-[
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
int variable = 1;
return (__sync_bool_compare_and_swap(&variable, 1, 2)
&& __sync_add_and_fetch(&variable, 1) ? 1 : 0)
-],
-[
+]])], [
ac_have_builtin_atomic=yes
AC_MSG_RESULT([yes])
AC_DEFINE(HAVE_BUILTIN_ATOMIC, 1, [Define to 1 if gcc supports __sync_bool_compare_and_swap() and __sync_add_and_fetch()])
-],
-[
+], [
ac_have_builtin_atomic=no
AC_MSG_RESULT([no])
])
CXXFLAGS="$mflag_primary"
AC_LANG_PUSH(C++)
-AC_TRY_LINK(,
-[
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
int variable = 1;
return (__sync_bool_compare_and_swap(&variable, 1, 2)
&& __sync_add_and_fetch(&variable, 1) ? 1 : 0)
-],
-[
+]])], [
ac_have_builtin_atomic_cxx=yes
AC_MSG_RESULT([yes])
AC_DEFINE(HAVE_BUILTIN_ATOMIC_CXX, 1, [Define to 1 if g++ supports __sync_bool_compare_and_swap() and __sync_add_and_fetch()])
-],
-[
+], [
ac_have_builtin_atomic_cxx=no
AC_MSG_RESULT([no])
])