Home | History | Annotate | Download | only in stressapptest
      1 AC_PREREQ(2.61)
      2 AC_INIT([stressapptest], [1.0.4_autoconf], [opensource (a] google.com])
      3 
      4 AC_ARG_WITH(static, [  --with-static            enable static linking])
      5 
      6 if test "$with_static" == "yes"
      7 then
      8 	AC_MSG_NOTICE([Compiling with staticaly linked libraries.])
      9 	LIBS="$LIBS -static"
     10 else
     11 	AC_MSG_NOTICE([Compiling with dynamically linked libraries.])
     12 fi
     13 
     14 AC_CANONICAL_HOST
     15 AC_CANONICAL_BUILD
     16 # Checking for target cpu and setting custom configuration
     17 # for the different platforms
     18 AC_CANONICAL_TARGET
     19 case x"$target_cpu" in
     20   "xx86_64")
     21     AC_DEFINE([STRESSAPPTEST_CPU_X86_64],[],
     22               [Defined if the target CPU is x86_64])
     23     ;;
     24   "xi686")
     25     AC_DEFINE([STRESSAPPTEST_CPU_I686],[],
     26               [Defined if the target CPU is i686])
     27     ;;
     28   "xpowerpc")
     29     AC_DEFINE([STRESSAPPTEST_CPU_PPC],[],
     30               [Defined if the target CPU is PowerPC])
     31     ;;
     32   "xarmv7a")
     33     AC_DEFINE([STRESSAPPTEST_CPU_ARMV7A],[],
     34               [Defined if the target CPU is armv7a])
     35     ;;
     36   *)
     37     AC_MSG_ERROR([$target_cpu is not supported! Try x86_64, i686, powerpc, or armv7a])
     38     ;;
     39 esac
     40 
     41 _os=`uname`
     42 ## The following allows like systems to share settings. This is not meant to
     43 ## imply that these OS are the same thing. From OpenOffice dmake configure.in
     44 case "$_os" in
     45   "Linux")
     46     OS_VERSION=linux
     47     AC_DEFINE([STRESSAPPTEST_OS_LINUX],[],
     48               [Defined if the target OS is Linux])
     49     ;;
     50   "Darwin")
     51     OS_VERSION=macosx
     52     AC_DEFINE([STRESSAPPTEST_OS_DARWIN],[],
     53               [Defined if the target OS is OSX])
     54     ;;
     55   "FreeBSD")
     56     OS_VERSION=bsd
     57     AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
     58               [Defined if the target OS is BSD based])
     59     ;;
     60   "NetBSD")
     61     OS_VERSION=bsd
     62     AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
     63               [Defined if the target OS is BSD based])
     64     ;;
     65   *)
     66     AC_MSG_ERROR([$_os operating system is not suitable to build dmake!])
     67     ;;
     68 esac
     69 
     70 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
     71 AC_CONFIG_SRCDIR([src/])
     72 AC_CONFIG_HEADER([src/stressapptest_config.h])
     73 
     74 # Checks for programs.
     75 #  Don't generate CXXFLAGS defaults: if CXXFLAGS are unset
     76 #  AC_PROG_CXX will override them with unwanted defaults.
     77 CXXFLAGS="$CXXFLAGS"
     78 AC_PROG_CXX
     79 AC_PROG_CC
     80 
     81 #Getting user and host info
     82 username=$(whoami)
     83 AC_MSG_CHECKING([user ID])
     84 AC_MSG_RESULT([$username])
     85 
     86 hostname=$(uname -n)
     87 AC_MSG_CHECKING([host name])
     88 AC_MSG_RESULT([$hostname])
     89 
     90 timestamp=$(date)
     91 AC_MSG_CHECKING([current timestamp])
     92 AC_MSG_RESULT([$timestamp])
     93 
     94 AC_DEFINE_UNQUOTED([STRESSAPPTEST_TIMESTAMP],
     95                    "$username @ $hostname on $timestamp",
     96                    [Timestamp when ./configure was executed])
     97 
     98 #Default cxxflags
     99 CXXFLAGS="$CXXFLAGS -DCHECKOPTS"
    100 CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall -Wno-psabi"
    101 CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops  -funroll-loops -DNDEBUG"
    102 
    103 # Checks for header files.
    104 AC_HEADER_DIRENT
    105 AC_HEADER_STDC
    106 # Skip malloc.h to prevent redefinition of HAVE_MALLOC_H on some platforms
    107 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.])])
    108 AC_CHECK_HEADERS([pthread.h])
    109 AC_SEARCH_LIBS([pthread_create], [pthread])
    110 AC_CHECK_HEADERS([libaio.h])
    111 AC_SEARCH_LIBS([io_setup], [aio])
    112 AC_CHECK_HEADERS([sys/shm.h])
    113 AC_SEARCH_LIBS([shm_open], [rt])
    114 
    115 # Checks for typedefs, structures, and compiler characteristics.
    116 AC_HEADER_STDBOOL
    117 AC_C_CONST
    118 AC_C_INLINE
    119 AC_TYPE_PID_T
    120 AC_C_RESTRICT
    121 AC_TYPE_SIZE_T
    122 AC_TYPE_SSIZE_T
    123 AC_HEADER_TIME
    124 AC_TYPE_UINT16_T
    125 AC_C_VOLATILE
    126 
    127 
    128 # Checks for library functions.
    129 AC_FUNC_CLOSEDIR_VOID
    130 AC_PROG_GCC_TRADITIONAL
    131 AC_FUNC_SELECT_ARGTYPES
    132 AC_TYPE_SIGNAL
    133 AC_FUNC_STRERROR_R
    134 AC_FUNC_VPRINTF
    135 AC_CHECK_FUNCS([ftruncate gettimeofday memset munmap select socket strtol strtoull])
    136 AC_CHECK_FUNCS([mmap64 posix_memalign rand_r sched_getaffinity])
    137 
    138 AC_CONFIG_FILES([Makefile src/Makefile])
    139 AC_OUTPUT
    140