Mercurial > hg > release > heapstats-1.0
view agent/configure.ac @ 73:1c29be77acb8 1.0.7
Bump to 1.0.7
author | KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp> |
---|---|
date | Fri, 10 Mar 2017 13:40:08 +0900 |
parents | 144f6b0a2dc1 |
children | 39b7535558bc |
line wrap: on
line source
-*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) AC_INIT([HeapStats],[1.0.7],[heapstats@icedtea.classpath.org],[heapstats_agent]) AC_CONFIG_SRCDIR([./src]) AC_CONFIG_AUX_DIR([./m4]) AC_CONFIG_MACRO_DIR([./m4]) AM_INIT_AUTOMAKE AM_MAINTAINER_MODE AC_CACHE_SAVE AC_DISABLE_OPTION_CHECKING LDFLAGS+=" -Wl,-z,noexecstack" # Checks for programs. AC_PROG_CXX AC_PROG_CC AM_PROG_AS AC_DISABLE_STATIC AM_DISABLE_STATIC AC_PROG_LIBTOOL AC_SUBST(LIBTOOL_DEPS) AC_PROG_AWK AC_CACHE_SAVE # Checks for libraries. AC_CHECK_LIB([pcre],[main],,AC_MSG_ERROR([PCRE library was not found.])) AC_CHECK_LIB([netsnmp],[main],,AC_MSG_ERROR([Net-SNMP library was not found.])) AC_CACHE_SAVE # Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT AC_HEADER_SYS_WAIT AC_HEADER_TIME AC_HEADER_STDBOOL AC_CHECK_HEADERS([ \ stddef.h stdint.h stdlib.h stdio.h link.h \ fcntl.h limits.h string.h \ unistd.h sys/time.h sys/socket.h \ ], [], [AC_MSG_ERROR([Header files to need were not found.])]) AC_CHECK_HEADERS([pcre.h], [], [AC_MSG_ERROR([Header files of PCRE were not found.])]) AC_CHECK_HEADERS([net-snmp/net-snmp-config.h], [], [AC_MSG_ERROR([Header files of Net-SNMP were not found.])]) AC_CHECK_HEADERS([net-snmp/net-snmp-includes.h], [], [AC_MSG_ERROR([Header files of Net-SNMP were not found.])], [#include <net-snmp/net-snmp-config.h>]) AC_CHECK_HEADERS([bfd.h], [], [AC_MSG_ERROR([Header files of binutils were not found.])]) AC_CACHE_SAVE # Checks for compiler characteristics. AC_C_CONST AC_C_INLINE AC_C_VOLATILE AC_C_BIGENDIAN() AC_CACHE_SAVE # Checks for typedefs, structures. AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_SIZE_T AC_STRUCT_TM AC_CHECK_TYPES([ptrdiff_t]) AC_CACHE_SAVE # Checks for library functions. AC_FUNC_MEMCMP AC_FUNC_STRFTIME AC_FUNC_FORK AC_FUNC_STAT AC_FUNC_CLOSEDIR_VOID AC_FUNC_MALLOC AC_FUNC_MMAP AC_CHECK_FUNCS([ gettimeofday localtime_r \ memmove memset \ strchr strrchr strstr strdup strtol \ realpath mkdir rmdir unlink \ socket uname \ madvise posix_fadvise munmap \ ],,AC_MSG_ERROR([Header files to need were not found.])) AC_CHECK_FUNCS([netsnmp_transport_open_client], [ AC_DEFINE(HAVE_NETSNMP_TRANSPORT_OPEN_CLIENT) ] ,[ AC_CHECK_FUNCS([netsnmp_tdomain_transport],,[ AC_MSG_ERROR([Functions to need were not found in Net-SNMP library.]) ]) ]) AC_CACHE_SAVE # get JDK path ----------------------------------------------------------------- AC_ARG_WITH([jdk],AC_HELP_STRING([--with-jdk@<:@=PATH@:>@], [Path to JDK home directory (JAVA_HOME). @<:@default=/usr/lib/jvm/java-openjdk@:>@])) AC_MSG_CHECKING([for JAVA_HOME]) if test "$with_jdk" != ""; then JDK_DIR="$with_jdk" AC_MSG_RESULT($JDK_DIR) elif test -n "$JAVA_HOME"; then JDK_DIR="$JAVA_HOME" AC_MSG_RESULT($JDK_DIR) else AC_MSG_RESULT(none) AC_MSG_CHECKING([for default openjdk home directory]) if test -d /usr/lib/jvm/java-openjdk && test -r /usr/lib/jvm/java-openjdk ; then JDK_DIR=/usr/lib/jvm/java-openjdk AC_MSG_RESULT($JDK_DIR) else AC_MSG_RESULT(none) AC_PATH_PROG(JAVA_PATH, java , : , /etc/alternatives) AC_MSG_CHECKING([for java configured by alternatives]) if test -L $JAVA_PATH; then JDK_DIR=`/bin/ls "$JAVA_PATH" -l | $AWK '{print $11;}' | sed -e 's:bin/java::g'` AC_MSG_RESULT($JDK_DIR) else AC_MSG_RESULT(none) fi fi fi AC_MSG_CHECKING([for JAVA_HOME]) if test "($JDK_DIR)" = "" || test ! -d $JDK_DIR || test ! -r $JDK_DIR || test ! -d $JDK_DIR/include/ || test ! -r $JDK_DIR/include/ ; then AC_MSG_RESULT(no) AC_MSG_ERROR([JDK directory (JAVA_HOME) was not found.]) fi AC_MSG_RESULT(yes) AC_SUBST(JDK_DIR) # end JDK path ----------------------------------------------------------------- # VMStructs -------------------------------------------------------------------- AC_ARG_ENABLE(VMStructs, AC_HELP_STRING([--enable-vmstructs@<:@=yes/no@:>@], [Use symbol of VMStructs in libjvm.so . @<:@default=no@:>@])) VMSTRUCTS_CXX_FLAGS="" JVM_LIB_DIR="" if test "$enable_vmstructs" = "yes" ; then AC_MSG_CHECKING([for symbol of VMStructs in jvm shared-library]) for archPath in i386 amd64 ; do if test -d $JDK_DIR/jre/lib/$archPath/ ; then JVM_LIB_DIR=`echo $JDK_DIR/jre/lib/$archPath` break fi done if test "$JVM_LIB_DIR" = "" ; then AC_MSG_RESULT(no) AC_MSG_ERROR([JDK shared-library arch directory was not found.]) fi if test -d $JVM_LIB_DIR/server/ ; then JVM_LIB_DIR+=`echo /server` elif test -d $JVM_LIB_DIR/client/ ; then JVM_LIB_DIR+=`echo /client` else AC_MSG_RESULT(no) AC_MSG_ERROR([JDK shared-library directory was not found.]) fi RESULT_SYMBOL=`$NM -D $JVM_LIB_DIR/libjvm.so 2>/dev/null | grep gHotSpotVMStructs` if test $? -ne 0 || test "$RESULT_SYMBOL" = "" ; then AC_MSG_RESULT(no) AC_MSG_ERROR([Symbol of VMStructs was not found in libjvm.so .]) fi VMSTRUCTS_CXX_FLAGS="-DUSE_VMSTRUCTS" AC_MSG_RESULT(yes) fi AC_SUBST(VMSTRUCTS_CXX_FLAGS) # end VMStructs ---------------------------------------------------------------- # get Net-SNMP-Config ---------------------------------------------------------- AC_PATH_PROGS(NET_SNMP_CFG_PATH, net-snmp-config-x86_64 net-snmp-config, :, /bin:/sbin/:/usr/bin) NET_SNMP_LIB_FLAGS=`$NET_SNMP_CFG_PATH --agent-libs` if test $? -ne 0 ; then AC_MSG_ERROR([Could not get LDFLAGS from net-snmp-cfg.]) fi AC_SUBST(NET_SNMP_LIB_FLAGS) # end Net-SNMP-Config ---------------------------------------------------------- # check bfd -------------------------------------------------------------------- AC_ARG_WITH([bfd],AC_HELP_STRING([--with-bfd@<:@=PATH@:>@], [Path to libbfd library. @<:@default=autosearch@:>@])) AC_ARG_WITH([bfd],AC_HELP_STRING([--with-iberty@<:@=PATH@:>@], [Path to libiberty library. @<:@default=autosearch@:>@])) BFD_PATH="" IBERTY_FLAG=0 IBERTY_PATH="" BFD_SYMBOL="bfd_openr" IBERTY_SYMBOL="hex_value" AC_MSG_CHECKING([for BFD library]) if test "$with_bfd" != ""; then BFD_PATH="$with_bfd" AC_MSG_RESULT($BFD_PATH) AC_MSG_CHECKING([for symbol in BFD library]) # search symbol for shared library RESULT_SYMBOL=`$NM -D $BFD_PATH 2>/dev/null | grep $BFD_SYMBOL` if test $? -ne 0 || test "$RESULT_SYMBOL" = "" ; then # search symbol for static library RESULT_SYMBOL=`$NM -g $BFD_PATH 2>/dev/null | grep $BFD_SYMBOL` if test $? -ne 0 || test "$RESULT_SYMBOL" = "" ; then AC_MSG_RESULT(none) AC_MSG_ERROR([Symbol to need was not found in bfd library.]) fi fi AC_MSG_RESULT(ok) # Check designated library is static library RESULT_SYMBOL=`$NM -g $BFD_PATH 2>/dev/null | grep $IBERTY_SYMBOL` if test $? -eq 0 && test "$RESULT_SYMBOL" != "" ; then IBERTY_FLAG=1 fi else AC_MSG_RESULT(none) AC_MSG_CHECKING([for symbol in BFD library]) BFD_TARGET=`ls --sort=extension {/usr,/usr/local,}/lib*/libbfd*.{a,so}* 2>/dev/null` for tmpPath in $BFD_TARGET; do if test -f $tmpPath ; then # search symbol for shared library RESULT_SYMBOL=`$NM -D $tmpPath 2>/dev/null | grep $BFD_SYMBOL` if test $? -eq 0 && test "$RESULT_SYMBOL" != "" ; then AC_MSG_RESULT($tmpPath) BFD_PATH=`echo $tmpPath` break fi # search symbol for static library RESULT_SYMBOL=`$NM -g $tmpPath 2>/dev/null | grep $BFD_SYMBOL` if test $? -eq 0 && test "$RESULT_SYMBOL" != "" ; then AC_MSG_RESULT($tmpPath) BFD_PATH=`echo $tmpPath` IBERTY_FLAG=1 break fi fi done fi AC_MSG_CHECKING([for BFD library]) if test "$BFD_PATH" = "" || test ! -f $BFD_PATH ; then AC_MSG_RESULT(no) AC_MSG_ERROR([BFD library was not found.]) fi AC_MSG_RESULT(yes) if test $IBERTY_FLAG -ne 0 ; then AC_MSG_NOTICE([BFD library designate need iberty library.]) AC_MSG_CHECKING([for iberty]) if test "$with_iberty" != "" ; then IBERTY_PATH="$with_iberty" AC_MSG_RESULT($IBERTY_PATH) else AC_MSG_RESULT(none) AC_MSG_CHECKING([for symbol in iberty library]) IBERTY_TARGET=`ls --sort=extension {/usr,/usr/local,}/lib*/libiberty*.{a,so}* 2>/dev/null` for tmpPath in $IBERTY_TARGET; do # search symbol for shared library RESULT_SYMBOL=`$NM -D $tmpPath 2>/dev/null | grep $IBERTY_SYMBOL` if test $? -eq 0 && test "$RESULT_SYMBOL" != "" ; then AC_MSG_RESULT($tmpPath) IBERTY_PATH=`echo $tmpPath` break fi # search symbol for static library RESULT_SYMBOL=`$NM -g $tmpPath 2>/dev/null | grep $IBERTY_SYMBOL` if test $? -eq 0 && test "$RESULT_SYMBOL" != "" ; then AC_MSG_RESULT($tmpPath) IBERTY_PATH=`echo $tmpPath` break fi done fi AC_MSG_CHECKING([for iberty library]) if test "$IBERTY_PATH" = "" || test ! -f $IBERTY_PATH ; then AC_MSG_RESULT(no) AC_MSG_ERROR([iberty library was not found.]) fi AC_MSG_RESULT(yes) fi MASK_LIBNAME="s:.*/\?lib\(.*\)\.\(so\|a\):\1:g" MASK_LIBPATH="s:\(.*\)/\?lib.*\.\(so\|a\):\1:g" LIB_NAME=`eval "echo $BFD_PATH | sed -e \`echo \'$MASK_LIBNAME\'\`"` LIB_PATH=`eval "echo $BFD_PATH | sed -e \`echo \'$MASK_LIBPATH\'\`"` LDFLAGS+=`echo " -L$LIB_PATH -l$LIB_NAME"` if test $IBERTY_FLAG -ne 0; then LIB_NAME=`eval "echo $IBERTY_PATH | sed -e \`echo \'$MASK_LIBNAME\'\`"` LIB_PATH=`eval "echo $IBERTY_PATH | sed -e \`echo \'$MASK_LIBPATH\'\`"` LDFLAGS+=`echo " -L$LIB_PATH -l$LIB_NAME"` fi # end bfd ---------------------------------------------------------------------- CXXFLAGS=" -g -Wall -Wno-strict-aliasing" # set sse2 -------------------------------------------------------------------- AC_ARG_ENABLE(PerfomFlag, AC_HELP_STRING([--enable-sse2@<:@=yes/no@:>@], [Enable sse2 compile flags. @<:@default=no@:>@])) if test "$enable_sse2" = "yes" ; then CXXFLAGS+=" -msse2 -DSSE2" CCASFLAGS+=" -DSSE2" fi # end sse2 -------------------------------------------------------------------- # set sse3 -------------------------------------------------------------------- AC_ARG_ENABLE(PerfomFlag, AC_HELP_STRING([--enable-sse3@<:@=yes/no@:>@], [Enable sse3 compile flags. @<:@default=no@:>@])) if test "$enable_sse3" = "yes" ; then CXXFLAGS+=" -msse3 -DSSE3 -DSSE2" CCASFLAGS+=" -DSSE2" fi # end sse3 -------------------------------------------------------------------- # set sse4.1 ------------------------------------------------------------------ AC_ARG_ENABLE(PerfomFlag, AC_HELP_STRING([--enable-sse4@<:@=yes/no@:>@], [Enable sse4 compile flags. @<:@default=no@:>@])) if test "$enable_sse4" = "yes" ; then CXXFLAGS+=" -msse4.1 -DSSE4_1 -DSSE3 -DSSE2" CCASFLAGS+=" -DSSE2 -DSSE4_1" fi # end sse4.1 ------------------------------------------------------------------ # set avx -------------------------------------------------------------------- AC_ARG_ENABLE(PerfomFlag, AC_HELP_STRING([--enable-avx@<:@=yes/no@:>@], [Enable intel-avx compile flags. @<:@default=no@:>@])) if test "$enable_avx" = "yes" ; then CXXFLAGS+=" -mavx -DAVX -DSSE4_1 -DSSE3 -DSSE2" CCASFLAGS+=" -DSSE2 -DSSE4_1 -DAVX" fi # end avx -------------------------------------------------------------------- # set debug -------------------------------------------------------------------- AC_ARG_ENABLE(DebugFlag, AC_HELP_STRING([--enable-debugflag@<:@=yes/no@:>@], [Enable debug compile flags. @<:@default=no@:>@])) if test "$enable_debugflag" = "yes" ; then CXXFLAGS+=" -fprofile-arcs -ftest-coverage" LDFLAGS+=" -lgcov " else CXXFLAGS+=" -O2" fi # end debug -------------------------------------------------------------------- AC_CONFIG_FILES([Makefile src/Makefile]) AC_CONFIG_FILES([heapstats.conf]) AC_OUTPUT