dnl $Id: configure.in,v 1.44.2.4 2006/02/25 19:34:04 cegger Exp $ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) dnl Should perhaps add the ggi-develop ML as the 3rd argument dnl to AC_INIT but someone has to take care of the spam... AC_INIT([libggigcp],[1.0.1],[http://www.ggi-project.org/contact.html]) AC_CONFIG_SRCDIR([include/ggi/gcp.h]) AC_CONFIG_MACRO_DIR(m4) dnl Put the name and version of the package here AM_INIT_AUTOMAKE([libggigcp],[1.0.1],[-]) AM_MAINTAINER_MODE dnl ======================================================================== dnl Set some defaults PATHTAG="pAtHTAg" TAGLEN="7" gcp_conffile="libggigcp.conf" ggi_subdir="ggi" use_debug="yes" dnl Targets dnl This extension will _never_ have display-targets dnl ======================================================================== dnl Checks for programs. AC_PROG_AWK AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET LT_INIT([win32-dll]) dnl ======================================================================== dnl Generate libtool LT_OUTPUT dnl ======================================================================== dnl User selectable options dnl Bah! autoconf hasn't set prefix to it's default value yet! test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' GGI_INST_PATH GGI_UNINST_PATH GII_UNINST_PATH AC_ARG_ENABLE(debug, [ --disable-debug don't build with run-time debugging (speed freaks)], use_debug=$enableval) dnl TARGETS: dnl Support the --with-extra-libs and --with-extra-includes command line dnl options to 'configure'. GGI_EXTRA_PATHS dnl dnl ======================================================================== dnl Checks for platform specificas GGI_CHECK_STRING_FUNCS GGI_CC_CHECK4_OPTION([pedantic]) GGI_CHECK_IMPLICIT_DECLARATIONS dnl ======================================================================== dnl Checks for header files. dnl Check for standard C headers AC_HEADER_STDC GGI_NEED_INTTYPES dnl ======================================================================== dnl Checks for typedefs, structures, and compiler characteristics. dnl Check if the compiler supports the 'const' keyword, otherwise define dnl 'const' to empty. AC_C_CONST dnl Check if the compiler supports inlining. If it does define 'inline' to dnl the apropriate keyword, otherwise define it to empty. AC_C_INLINE dnl Check for the extension of shared libraries (excluding the dot) and dnl put it in the @DLLEXT@ Makefile variable. GGI_DLLEXT dnl ======================================================================== dnl Checks for library functions. dnl ======================================================================== dnl LibGGI must be built GGI_CHECKLIB([libggigcp]) dnl ======================================================================== dnl Checks for target-specific libraries and headers DISPLAYSUBDIRS="" DEFAULTSUBDIRS="color" DISPLAYMODULES="" DEFAULTMODULES="" if test "$enable_shared" = "yes"; then DEFAULTMODULES="$DEFAULTMODULES color_gcp.la" fi if test "$enable_static" = "yes"; then AC_DEFINE(BUILTIN_DEFAULT, 1, [Support for builtin defaults]) fi AM_CONDITIONAL(BUILTIN_DEFAULT, test "$enable_static" = "yes") dnl ======================================================================== dnl Check for targets dnl ======================================================================== dnl Finally add some flags dnl _THREAD_SAFE is used instead of _REENTRANT on some systems CFLAGS="$CFLAGS -D_REENTRANT -D_THREAD_SAFE" if test "x$use_debug" = "xyes"; then CFLAGS="$CFLAGS -DDEBUG" if test "x$ac_cv_prog_cc_g" = "xyes"; then CFLAGS="$CFLAGS -g" fi fi if test "$ac_cv_c_compiler_gnu" = "yes"; then GGI_CC_CHECK4_OPTION([std=gnu99]) # Common warning flags CFLAGS="$CFLAGS -Wall -Wpointer-arith -Wsign-compare" CFLAGS="$CFLAGS -Wstrict-prototypes -Wswitch" CFLAGS="$CFLAGS -Wmissing-prototypes -Wreturn-type -Wshadow" # Advanced warning flags CFLAGS="$CFLAGS -Wnested-externs -Wredundant-decls" CFLAGS="$CFLAGS -Wuninitialized -Wcast-qual -Wwrite-strings" if test "x$cc_has_werror_implicit_function_declaration" = "xyes"; then CFLAGS="$CFLAGS -Werror-implicit-function-declaration" fi # Buggy warning flag # CFLAGS="$CFLAGS -Wconversion" # Super advanced (only used for building releases) # CFLAGS="$CFLAGS -Werror" fi dnl ======================================================================== dnl Write output AC_SUBST(DISPLAYSUBDIRS) AC_SUBST(DEFAULTSUBDIRS) AC_SUBST(DISPLAYMODULES) AC_SUBST(DEFAULTMODULES) dnl Use static_* to substitute into files where values shouldn't dnl dynamicly change. Makefiles need to be able to dynamicly change dnl paths between build and install and shouldn't use these static_*. dnl Files that will be installed must always show the final location where dnl they will reside and should use these static_* values. dnl Ensure that all static_* are fully expanded. eval static_libdir="$libdir" old_val="" until test "$static_libdir" = "$old_val"; do old_val="$static_libdir" eval static_libdir="$static_libdir" done eval static_sysconfdir="$sysconfdir" old_val="" until test "$static_sysconfdir" = "$old_val"; do old_val="$static_sysconfdir" eval static_sysconfdir="$static_sysconfdir" done case "${host}" in *-*-mingw*) dnl Find a relative path that takes us from static_sysconfdir dnl to static_libdir. GGI_SYSCONF_TO_LIB dnl The relative path from sysconfdir to sysconfdir is simple. ggi_sysconfdir="." ;; *) dnl Usually good to use an absolute path. ggi_sysconfdir_to_libdir="$static_libdir/$ggi_subdir" ggi_sysconfdir="$static_sysconfdir/$ggi_subdir" ;; esac AC_SUBST(ggi_subdir) AC_SUBST(ggi_sysconfdir_to_libdir) AC_SUBST(ggi_sysconfdir) AC_SUBST(static_libdir) AC_SUBST(static_sysconfdir) AC_DEFINE_UNQUOTED([GCPTAGLEN],$TAGLEN, [The length of the tag]) AC_DEFINE_UNQUOTED([GCPPATHTAG],"$PATHTAG", [Tag to identify path to $gcp_conffile]) AC_DEFINE_UNQUOTED([GCPCONFFILE],"$gcp_conffile", [Name of the gcp config file]) AC_DEFINE_UNQUOTED([GCPCONFDIR],"$PATHTAG$static_sysconfdir/$ggi_subdir", [Tag plus path to config dir]) AM_CONFIG_HEADER([config.h]) AC_CONFIG_FILES([Makefile include/Makefile include/ggi/Makefile include/ggi/internal/Makefile gcp/Makefile default/Makefile default/color/Makefile default-shared/Makefile demos/Makefile doc/Makefile doc/man/Makefile m4/Makefile libggigcp.conf ]) AC_OUTPUT