AC_INIT(gwm, 0.0, gtw@gnu.org) AC_PREREQ([2.60]) AC_CONFIG_SRCDIR(gwm.c) AM_INIT_AUTOMAKE AC_CONFIG_FILES(Makefile gwm.ld) AC_CONFIG_HEADERS(config.h) if test -f config.options; then . ./config.options fi gwm_packages="" # GWM_MANDATORY_PACKAGE(PKG-NAME) AC_DEFUN([GWM_MANDATORY_PACKAGE],[ AC_MSG_CHECKING([for $1]) PKG_CHECK_EXISTS([$1], [AC_MSG_RESULT(yes) gwm_packages="$gwm_packages $1"], [AC_MSG_ERROR(no)]) ]) # GWM_OPTIONAL_PACKAGE(PKG-NAME, [LABEL], [DEPENDENCIES]) AC_DEFUN([GWM_OPTIONAL_PACKAGE],[ gwm_label=m4_ifval([$2], [$2], [$1]) gwm_name=`echo $ECHO_N $gwm_label | tr 'a-z' 'A-Z' | tr -c 'a-zA-Z0-9' _` gwm_have_deps=yes for gwm_i in [$3]; do if eval test "x\$gwm_found_$gwm_i" != "xyes"; then gwm_have_deps=no; fi done if test $gwm_have_deps = yes; then AC_MSG_CHECKING([for $gwm_label]) if eval test "x\$with_$gwm_label" = xno; then AC_MSG_RESULT(disabled) else PKG_CHECK_EXISTS([$1], [AC_MSG_RESULT(yes) gwm_packages="$gwm_packages $1" eval "gwm_found_$gwm_label=yes" AC_DEFINE_UNQUOTED(USE_$gwm_name, 1)], [AC_MSG_RESULT(no)]) fi fi ]) AH_BOTTOM([/* If we haven't been told that we're debugging, assume we aren't. */ #ifndef DEBUG #define NDEBUG 1 #endif]) # Checks for programs: AC_PROG_CC AC_USE_SYSTEM_EXTENSIONS PKG_PROG_PKG_CONFIG # Checks for libraries: AC_ARG_WITH(composite,[ --with-composite use the X Composite extension.]) AC_ARG_WITH(cursor, [ --with-cursor use the XCB cursor library.]) AC_ARG_WITH(damage, [ --with-damage use the X DAMAGE extension.]) AC_ARG_WITH(randr, [ --with-randr use the X RANDR extension.]) AC_ARG_WITH(render, [ --with-render use the X RENDER extension.]) AC_ARG_WITH(shape, [ --with-shape use the X SHAPE extension.]) AC_ARG_WITH(xfixes, [ --with-xfixes use the XFIXES extension.]) AH_TEMPLATE(USE_COMPOSITE,[Use the X Composite extension.]) AH_TEMPLATE(USE_CURSOR,[Use the XCB cursor library.]) AH_TEMPLATE(USE_DAMAGE,[Use the X DAMAGE extension.]) AH_TEMPLATE(USE_RANDR,[Use the X RANDR extension.]) AH_TEMPLATE(USE_RENDER,[Use the X RENDER extension.]) AH_TEMPLATE(USE_SHAPE,[Use the X SHAPE extension.]) AH_TEMPLATE(USE_XFIXES,[Use the XFIXES extension.]) GWM_MANDATORY_PACKAGE(xcb) GWM_OPTIONAL_PACKAGE(fontconfig) GWM_OPTIONAL_PACKAGE(freetype2) GWM_OPTIONAL_PACKAGE(xcb-composite, composite) GWM_OPTIONAL_PACKAGE(xcb-cursor, cursor) GWM_OPTIONAL_PACKAGE(xcb-damage, damage) GWM_OPTIONAL_PACKAGE(xcb-randr, randr) GWM_OPTIONAL_PACKAGE(xcb-render, render, fontconfig freetype2) GWM_OPTIONAL_PACKAGE(xcb-shape, shape) GWM_OPTIONAL_PACKAGE(xcb-xfixes, xfixes) AM_CONDITIONAL(RENDER, [test x$gwm_found_render = xyes]) AC_SEARCH_LIBS(iconv, iconv) # Checks for header files: AC_CHECK_HEADERS(iconv.h mcheck.h sys/mman.h poll.h sys/param.h) # Checks for types: AC_TYPE_UINT64_T # Checks for functions: AC_CHECK_FUNCS(iconv mtrace ppoll) # Check for a reasonable section alignment to pass to the linker. First, # try looking for typical compile-time constants in system header files... AC_MSG_CHECKING([linker section alignment]) gwm_align=512 gwm_found_align=no while test $gwm_align -le 65536; do AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ #if HAVE_SYS_PARAM_H #include #endif #if HAVE_UNISTD_H #include #endif #if EXEC_PAGESIZE == ]] $gwm_align [[ || PAGE_SIZE == ]] $gwm_align [[ || PAGESIZE == ]] $gwm_align [[ int main() { return 0; } #else Failure. #endif ]])], [gwm_found_align=yes; break], []) gwm_align=$(expr $gwm_align \* 2) done if test $gwm_found_align = no; then # No luck so far... if test $cross_compiling != yes; then for gwm_prog in pagesize "getconf PAGE_SIZE"; do if $gwm_prog > /dev/null 2>&1; then gwm_align=512 gwm_found_align=no while test $gwm_align -le 65536; do if test $($gwm_prog 2> /dev/null) = $gwm_align; then gwm_found_align=yes break fi gwm_align=$(expr $gwm_align \* 2) done if test $gwm_found_align = yes; then break; fi fi done fi fi if test $gwm_found_align = no; then gwm_align=4096 # complete guess fi AC_MSG_RESULT([$gwm_align]) SECTION_ALIGN=$gwm_align AC_SUBST(SECTION_ALIGN) AC_MSG_CHECKING([for linker script support]) gwm_ldflags="$LDFLAGS" LDFLAGS="$LDFLAGS -Wl,-Tconftest.ld" cat > conftest.ld <