13
0
livetrax/libs/glibmm2/configure.in
Carl Hetherington a313924b77 Re-add glibmm2 properly.
git-svn-id: svn://localhost/ardour2/trunk@2644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-11-13 10:37:24 +00:00

303 lines
9.0 KiB
Plaintext

# Configure.in
#
# This file tests for various compiler features needed to configure
# the gtkmm package. Original skeleton was provided by Stephan Kulow.
# All tests were written by Tero Pulkkinen, Mirko Streckenbach, and
# Karl Nelson.
#
# NOTE! IF YOU DO CHANGES HERE, CHECK IF YOU NEED TO MODIFY .m4 TOO!!!
#
# Copyright 2001 Free Software Foundation
# Copyright 1999 gtkmm Development Team
# Copyright 1998 Stephan Kulow
#
AC_INIT(glib/glibmmconfig.h.in)
AC_PREREQ(2.50)
#########################################################################
# Version and initialization
#########################################################################
GLIBMM_MAJOR_VERSION=2
GLIBMM_MINOR_VERSION=13
GLIBMM_MICRO_VERSION=3
GLIBMM_VERSION=$GLIBMM_MAJOR_VERSION.$GLIBMM_MINOR_VERSION.$GLIBMM_MICRO_VERSION
GLIBMM_RELEASE=$GLIBMM_MAJOR_VERSION.$GLIBMM_MINOR_VERSION
AC_DEFINE_UNQUOTED([GLIBMM_MAJOR_VERSION], $GLIBMM_MAJOR_VERSION, [Major Version])
AC_DEFINE_UNQUOTED([GLIBMM_MINOR_VERSION], $GLIBMM_MINOR_VERSION, [Minor Version])
AC_DEFINE_UNQUOTED([GLIBMM_MICRO_VERSION], $GLIBMM_MICRO_VERSION, [Micro Version])
AC_SUBST(GLIBMM_MAJOR_VERSION)
AC_SUBST(GLIBMM_MINOR_VERSION)
AC_SUBST(GLIBMM_MICRO_VERSION)
AC_SUBST(GLIBMM_VERSION)
AC_SUBST(GLIBMM_RELEASE)
#
# +1 : ? : +1 == new interface that does not break old one
# +1 : ? : 0 == new interface that breaks old one
# ? : ? : 0 == no new interfaces, but breaks apps
# ? :+1 : ? == just some internal changes, nothing breaks but might work
# better
# CURRENT : REVISION : AGE
LIBGLIBMM_SO_VERSION=1:24:0
AC_SUBST(LIBGLIBMM_SO_VERSION)
AC_CONFIG_AUX_DIR(scripts)
dnl For automake.
VERSION=$GLIBMM_VERSION
PACKAGE=glibmm
dnl Initialize automake stuff
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
dnl Specify a configuration file (no autoheader)
AM_CONFIG_HEADER(config.h glib/glibmmconfig.h)
AM_MAINTAINER_MODE
AL_ACLOCAL_INCLUDE(scripts)
#########################################################################
# Configure arguments
#########################################################################
#########################################################################
# Environment Checks
#########################################################################
AC_PROG_CC
AC_PROG_CPP
AC_PROG_MAKE_SET
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
dnl Used for enabling the "-no-undefined" flag while generating DLLs
dnl Copied from the official gtk+-2 configure.in
AC_MSG_CHECKING([for some Win32 platform])
case "$host" in
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
;;
*)
platform_win32=no
;;
esac
AC_MSG_RESULT([$platform_win32])
AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
AC_MSG_CHECKING([for native Win32])
case "$host" in
*-*-mingw*)
os_win32=yes
;;
*)
os_win32=no
;;
esac
AC_MSG_RESULT([$os_win32])
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
AC_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL
AL_PROG_GNU_M4(AC_MSG_ERROR([dnl
SUN m4 does not work for building gtkmm.
Please install GNU m4.]))
AL_PROG_GNU_MAKE(AC_MSG_ERROR([dnl
SUN make does not work for building gtkmm.
Please install GNU make.]))
GLIBMM_CHECK_PERL([5.6.0])
#########################################################################
# Function checks
#########################################################################
# functions used in demos/gtk-demo. Undefined in config.h !
AC_CHECK_FUNCS([flockfile funlockfile getc_unlocked mkfifo])
#########################################################################
# Dependancy checks
#########################################################################
gtkmm_min_sigc_version=2.0.0
gtkmm_min_glib_version=2.9.0
PKG_CHECK_MODULES(GLIBMM, sigc++-2.0 >= ${gtkmm_min_sigc_version} glib-2.0 >= ${gtkmm_min_glib_version} gobject-2.0 >= ${gtkmm_min_glib_version} gmodule-2.0 >= ${gtkmm_min_glib_version})
AC_SUBST(GLIBMM_CFLAGS)
AC_SUBST(GLIBMM_LIBS)
# gthread isn't a requirement, but we should use its CFLAGS if available.
PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= ${gtkmm_min_glib_version},[],[GTHREAD_CFLAGS=''; GTHREAD_LIBS=''])
AC_SUBST(GTHREAD_CFLAGS)
AC_SUBST(GTHREAD_LIBS)
#########################################################################
# C++ checks
#########################################################################
AC_PROG_CXX
# Check for the SUN Forte compiler, and define GLIBMM_COMPILER_SUN_FORTE in the header.
GLIBMM_PROG_CXX_SUN
# Ensure MSVC-compatible struct packing convention is used when
# compiling for Win32 with gcc.
# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
# gcc2 uses "-fnative-struct".
if test x"$os_win32" = xyes; then
if test x"$GCC" = xyes -a x"$GXX" = xyes; then
msnative_struct=''
AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
if test -z "$ac_cv_prog_CC"; then
our_gcc="$CC"
else
our_gcc="$ac_cv_prog_CC"
fi
case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
2.)
if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
msnative_struct='-fnative-struct'
fi
;;
*)
if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
msnative_struct='-mms-bitfields'
fi
;;
esac
if test x"$msnative_struct" = x ; then
AC_MSG_RESULT([no way])
AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
else
CXXFLAGS="$CXXFLAGS $msnative_struct"
AC_MSG_RESULT([${msnative_struct}])
fi
fi
fi
AC_LANG_CPLUSPLUS
AC_CXX_BOOL(,config_error=yes)
AC_CXX_NAMESPACES(,config_error=yes)
AC_CXX_MUTABLE(,config_error=yes)
AC_MSG_CHECKING(if C++ environment provides all required features)
if test "x$config_error" = xyes ; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Your compiler is not powerful enough to compile gtkmm. If it should be, see config.log for more information of why it failed.])
fi
AC_MSG_RESULT([yes])
GLIBMM_CXX_HAS_NAMESPACE_STD()
GLIBMM_CXX_HAS_STD_ITERATOR_TRAITS()
GLIBMM_CXX_HAS_SUN_REVERSE_ITERATOR()
GLIBMM_CXX_HAS_TEMPLATE_SEQUENCE_CTORS()
GLIBMM_CXX_MEMBER_FUNCTIONS_MEMBER_TEMPLATES()
GLIBMM_CXX_CAN_DISAMBIGUATE_CONST_TEMPLATE_SPECIALIZATIONS()
GLIBMM_CXX_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION()
GLIBMM_CXX_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS()
GLIBMM_CXX_CAN_USE_NAMESPACES_INSIDE_EXTERNC()
GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS()
# Create a list of input directories for Doxygen.
GTKMM_DOXYGEN_INPUT_SUBDIRS([glib])
# Check whether to build the full docs into the generated source.
# This will be much slower.
GTKMM_ARG_ENABLE_FULLDOCS()
# Check whether --enable-debug-refcounting was given.
GLIBMM_ARG_ENABLE_DEBUG_REFCOUNTING()
# Evaluate the --enable-warnings=level option.
GTKMM_ARG_ENABLE_WARNINGS()
# Add an --enable-use-deprecations configure option:
AC_ARG_ENABLE(deprecations,
[AC_HELP_STRING([--enable-use-deprecations],
[warn about deprecated usages [default=no]])],,
[enable_deprecations=no])
if test "x$enable_use_deprecations" = "xyes"; then
DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED"
AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
fi
#Offer the ability to omit some API from the library,
#to reduce the code size:
GLIBMM_ARG_ENABLE_API_DEPRECATED()
GLIBMM_ARG_ENABLE_API_EXCEPTIONS()
GLIBMM_ARG_ENABLE_API_PROPERTIES()
GLIBMM_ARG_ENABLE_API_VFUNCS()
# Offer the ability to omit some API from the library,
# to reduce the code size:
GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS()
# Dummy conditional just to make automake-1.4 happy.
# We need an always-false condition in docs/Makefile.am.
AM_CONDITIONAL(GTKMM_FALSE,[false])
# HACK: Assign a dummy in order to prevent execution of autoheader by the
# maintainer-mode rules. That would fail since we aren't using autoheader.
AUTOHEADER=':'
AC_CONFIG_FILES([
Makefile
glib/Makefile
glib/glibmm-2.4.pc
glib/src/Makefile
glib/glibmm/Makefile
glib/glibmm/private/Makefile
tools/Makefile
tools/gmmproc
tools/generate_wrap_init.pl
tools/m4/Makefile
tools/pm/Makefile
tools/extra_defs_gen/Makefile
])
AC_CONFIG_FILES([
tests/Makefile
tests/glibmm_value/Makefile
examples/Makefile
examples/markup/Makefile
examples/options/Makefile
examples/thread/Makefile
examples/iochannel_stream/Makefile
examples/child_watch/Makefile
scripts/Makefile
docs/Makefile
docs/images/Makefile
docs/reference/Makefile
docs/reference/Doxyfile
docs/reference/beautify_docs.pl
docs/internal/Makefile
])
AC_CONFIG_FILES([
MSVC_Net2003/Makefile
MSVC_Net2003/gendef/Makefile
MSVC_Net2003/glibmm/Makefile
MSVC_Net2003/glibmm/glibmm.rc
MSVC_Net2003/examples/Makefile
MSVC_Net2003/examples/dispatcher/Makefile
MSVC_Net2003/examples/dispatcher2/Makefile
MSVC_Net2003/examples/markup/Makefile
MSVC_Net2003/examples/options/Makefile
MSVC_Net2003/examples/thread/Makefile
MSVC_Net2003/examples/thread_pool/Makefile
MSVC_Net2003/tests/Makefile
MSVC_Net2003/tests/glibmm_value/Makefile
])
AC_OUTPUT()