1AC_PREREQ(2.54) 2 3AC_INIT(silgraphite, 2.3.1, silgraphite-devel@lists.sourceforge.net) 4AC_CONFIG_MACRO_DIR([m4]) 5AC_CONFIG_SRCDIR(src/segment/GrEngine.cpp) 6AC_CONFIG_AUX_DIR(config) 7 8# setup automake 9AM_INIT_AUTOMAKE(foreign) 10AM_MAINTAINER_MODE 11 12# System checks. 13AC_CANONICAL_HOST 14AC_C_BIGENDIAN 15 16# Optional features 17AC_ARG_ENABLE(tracing, 18 AC_HELP_STRING([--disable-tracing], 19 [build without support for trace Graphite logs])) 20 test "x$enable_tracing" != xno && enable_tracing=yes 21 22AC_ARG_ENABLE(debug, 23 AC_HELP_STRING([--enable-debug], 24 [build with debugging. (default=no)])) 25AC_ARG_ENABLE(final, 26 AC_HELP_STRING([--disable-final], 27 [build without optimizations and no debugging.])) 28 test "x$enable_final" != xno && enable_final=yes 29AC_ARG_ENABLE(strict, 30 AC_HELP_STRING([--enable-strict], 31 [treat warnings as errors, check for as much as we can])) 32 33AC_ARG_ENABLE(profile, 34 AC_HELP_STRING([--enable-profile], 35 [allow profiling (default=no)])) 36AC_ARG_ENABLE(profilefn, 37 AC_HELP_STRING([--enable-profilefn], 38 [allow functioncheck profiling (default=no)])) 39 40# Checks for programs. 41AC_PROG_INSTALL 42AC_PROG_LIBTOOL 43AC_PROG_CC 44AC_PROG_CXX 45AC_LANG_CPLUSPLUS 46 47AC_PATH_PROG(LSB_RELEASE, lsb_release, no) 48 49# Checks for libraries. 50 51# Checks for header files. 52AC_HEADER_STDC 53 54# Checks for typedefs, structures, and compiler characteristics. 55AC_TYPE_SIZE_T 56AC_CHECK_SIZEOF(wchar_t) 57AC_SUBST(SIZEOF_WCHAR_T) 58 59AC_CHECK_FUNCS(fabsf) 60 61# Checks for library functions. 62 63# Setup the build compiler flags and linker flags. 64# Enable debug 65# (note: the flags here are gcc-specific and may fail with other compilers) 66build_flags="" 67if test "$enable_debug" = yes; then 68 build_flags="$build_flags -O0 -g -Wall -Wno-unknown-pragmas -Wparentheses" 69elif test "$enable_strict" = yes; then 70 build_flags="$build_flags -DNDEBUG -Wall -Wno-unknown-pragmas -Wparentheses -Werror" 71else 72 build_flags="$build_flags -DNDEBUG" 73fi 74 75# Enable Graphite Trace logs - these are only used if a 76# LayoutEnvironment has a valid ostream pointer 77if test "$enable_tracing" = yes; then 78 build_flags="$build_flags -DTRACING" 79fi 80 81# Enable final 82if test "$enable_final" = yes; then 83 build_flags="$build_flags -O3 -DNDEBUG" 84fi 85 86# Enable profile 87if test "$enable_profile" = yes; then 88 build_flags="$build_flags -pg " 89fi 90if test "$enable_profilefn" = yes; then 91 build_flags="$build_flags -g -finstrument-functions " 92 LIBS="$LIBS -g -finstrument-functions -lfnccheck " 93fi 94 95# Find distrib codename 96 97AC_MSG_CHECKING(if already have REL_CODENAME) 98if test -z "${REL_CODENAME}"; then 99 AC_MSG_RESULT(no) 100 AC_MSG_CHECKING(if have lsb_release) 101 if test "${LSB_RELEASE}" = "no"; then 102 AC_MSG_RESULT(no) 103 REL_CODENAME="unstable" 104 else 105 AC_MSG_RESULT(yes) 106 AC_MSG_CHECKING(if LSB_RELEASE is empty) 107 if test -z ${LSB_RELEASE}; then 108 AC_MSG_RESULT(yes) 109 REL_CODENAME="unstable" 110 else 111 AC_MSG_RESULT(no) 112 CODENAME=`${LSB_RELEASE} -c | sed -e 's/^\S*\s*//'` 113 AC_MSG_CHECKING(if release is sid) 114 if test ${CODENAME} = 'sid'; then 115 AC_MSG_RESULT(yes) 116 REL_CODENAME="unstable" 117 else 118 AC_MSG_RESULT(no, ${CODENAME}) 119 REL_CODENAME=${CODENAME} 120 fi 121 fi 122 fi 123else 124 AC_MSG_RESULT(yes) 125fi 126 127AC_SUBST(REL_CODENAME) 128 129CFLAGS="$CFLAGS $build_flags" 130CXXFLAGS="$CXXFLAGS $build_flags" 131 132AC_CONFIG_FILES(Makefile \ 133 silgraphite.pc:installed-top.pc.in:silgraphite.pc.in \ 134 silgraphite-uninstalled.pc:uninstalled-top.pc.in:silgraphite.pc.in \ 135 src/Makefile \ 136 test/Makefile \ 137 test/RegressionTest/Makefile \ 138 test/ProfileHarness/Makefile) 139 140AC_OUTPUT 141