123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- AC_PREREQ(2.61)
- AC_INIT([stressapptest], [1.0.11_autoconf], [opensource@google.com])
- AC_ARG_WITH(static, [ --with-static enable static linking])
- if test "$with_static" = "yes"
- then
- AC_MSG_NOTICE([Compiling with staticaly linked libraries.])
- LIBS="$LIBS -static"
- else
- AC_MSG_NOTICE([Compiling with dynamically linked libraries.])
- fi
- AC_ARG_WITH(cpu, [ --with-cpu define host cpu])
- if test -z "$with_cpu"
- then
- AC_CANONICAL_HOST
- else
- host_cpu=$with_cpu
- fi
- # Checking for target cpu and setting custom configuration
- # for the different platforms
- AS_CASE(["$host_cpu"],
- [*x86_64*], [
- AC_DEFINE([STRESSAPPTEST_CPU_X86_64],[],
- [Defined if the target CPU is x86_64])
- ],
- [*i686*], [
- AC_DEFINE([STRESSAPPTEST_CPU_I686],[],
- [Defined if the target CPU is i686])
- ],
- [*mips*], [
- AC_DEFINE([STRESSAPPTEST_CPU_MIPS],[],
- [Defined if the target CPU is MIPS])
- ],
- [*powerpc*], [
- AC_DEFINE([STRESSAPPTEST_CPU_PPC],[],
- [Defined if the target CPU is PowerPC])
- ],
- [*armv7a*], [
- AC_DEFINE([STRESSAPPTEST_CPU_ARMV7A],[],
- [Defined if the target CPU is armv7a])
- ],
- [*aarch64*], [
- AC_DEFINE([STRESSAPPTEST_CPU_AARCH64],[],
- [Defined if the target CPU is aarch64])
- ],
- [*loongarch*], [
- AC_DEFINE([STRESSAPPTEST_CPU_LOONGARCH],[],
- [Defined if the target CPU is LOONGARCH])
- ],
- [AC_MSG_WARN([Unsupported CPU: $host_cpu! Try x86_64, i686, mips, powerpc, armv7a, aarch64 or loongarch])]
- )
- ## The following allows like systems to share settings. This is not meant to
- ## imply that these OS are the same thing. From OpenOffice dmake configure.in
- AS_CASE(["$host_os"],
- [*linux*], [
- OS_VERSION=linux
- AC_DEFINE([STRESSAPPTEST_OS_LINUX],[],
- [Defined if the target OS is Linux])
- ],
- [*darwin*], [
- OS_VERSION=macosx
- AC_DEFINE([STRESSAPPTEST_OS_DARWIN],[],
- [Defined if the target OS is OSX])
- ],
- [*freebsd*], [
- OS_VERSION=bsd
- AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
- [Defined if the target OS is BSD based])
- ],
- [*netbsd*], [
- OS_VERSION=bsd
- AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
- [Defined if the target OS is BSD based])
- ],
- [AC_MSG_WARN([unsupported system: $host_os])]
- )
- AM_INIT_AUTOMAKE([-Wall -Werror foreign])
- AC_CONFIG_SRCDIR([src/])
- AC_CONFIG_HEADER([src/stressapptest_config.h])
- # Checks for programs.
- # Don't generate CXXFLAGS defaults: if CXXFLAGS are unset
- # AC_PROG_CXX will override them with unwanted defaults.
- CXXFLAGS="$CXXFLAGS"
- AC_PROG_CXX
- AC_PROG_CC
- #Getting user and host info
- username=$(whoami)
- AC_MSG_CHECKING([user ID])
- AC_MSG_RESULT([$username])
- hostname=$(uname -n)
- AC_MSG_CHECKING([host name])
- AC_MSG_RESULT([$hostname])
- timestamp=$(date)
- AC_MSG_CHECKING([current timestamp])
- AC_MSG_RESULT([$timestamp])
- if test -n "$SOURCE_DATE_EPOCH"
- then
- timestamp=$(date -u -d "@$SOURCE_DATE_EPOCH" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" 2>/dev/null || date -u)
- username=reproducible
- hostname=reproducible
- fi
- AC_DEFINE_UNQUOTED([STRESSAPPTEST_TIMESTAMP],
- "$username @ $hostname on $timestamp",
- [Timestamp when ./configure was executed])
- AC_ARG_ENABLE([default-optimizations],
- [AS_HELP_STRING([--disable-default-optimizations], [Disable default optimization flag overrides])])
- AS_IF([test x"$enable_default_optimizations" != xno], [
- #Default cxxflags
- CXXFLAGS="$CXXFLAGS -DCHECKOPTS"
- CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall"
- CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops -funroll-loops -DNDEBUG"
- ])
- AC_SYS_LARGEFILE
- # Checks for header files.
- AC_HEADER_DIRENT
- AC_HEADER_STDC
- # Skip malloc.h to prevent redefinition of HAVE_MALLOC_H on some platforms
- AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h], [], [AC_MSG_FAILURE([Missing some header files.])])
- AC_CHECK_HEADERS([pthread.h])
- AC_SEARCH_LIBS([pthread_create], [pthread])
- AC_CHECK_TYPE([pthread_barrier_t], AC_DEFINE(HAVE_PTHREAD_BARRIERS, [1], [Define to 1 if the system has `pthread_barrier'.]))
- AC_CHECK_HEADERS([libaio.h])
- AC_SEARCH_LIBS([io_setup], [aio])
- AC_CHECK_HEADERS([sys/shm.h])
- AC_SEARCH_LIBS([shm_open], [rt])
- # Checks for typedefs, structures, and compiler characteristics.
- AC_HEADER_STDBOOL
- AC_C_CONST
- AC_C_INLINE
- AC_TYPE_PID_T
- AC_C_RESTRICT
- AC_TYPE_SIZE_T
- AC_TYPE_SSIZE_T
- AC_HEADER_TIME
- AC_TYPE_UINT16_T
- AC_C_VOLATILE
- # Checks for library functions.
- AC_FUNC_CLOSEDIR_VOID
- AC_PROG_GCC_TRADITIONAL
- AC_FUNC_SELECT_ARGTYPES
- AC_TYPE_SIGNAL
- AC_FUNC_STRERROR_R
- AC_FUNC_VPRINTF
- AC_CHECK_FUNCS([ftruncate gettimeofday memset munmap select socket strtol strtoull])
- AC_CHECK_FUNCS([mmap64 posix_memalign rand_r sched_getaffinity])
- AC_CHECK_FUNCS([pthread_rwlockattr_setkind_np])
- AC_CONFIG_FILES([Makefile src/Makefile])
- AC_OUTPUT
|