LUMIERA.clone/configure.ac
Christian Thaeter 19fd89d13d cleanup and add more configure checks
* GNU_SOURCE by default now
 * improved use of ACX_PTHREAD, replaces $CC and others
 * all checks for mandatory things instantly exit for now
   in future this might produce an report at the end
 * ported checks from scons over here
2008-05-17 20:00:05 +02:00

135 lines
3.7 KiB
Text

AC_INIT(lumiera, 0.1pre)
AC_CONFIG_SRCDIR(src/lib/plugin.c)
AC_CONFIG_AUX_DIR(scripts)
AM_INIT_AUTOMAKE
AC_PREREQ(2.59)
AC_COPYRIGHT([
Copyright (C) Lumiera.org
2008, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
])
AC_GNU_SOURCE
#
# Required programs
#
AC_PROG_CC
AC_PROG_CPP
AC_PROG_CXX
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
#
# test for headers
#
AC_STDC_HEADERS
ACX_PTHREAD
LIBS="$PTHREAD_LIBS $LIBS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
CC="$PTHREAD_CC"
##AM_CONDITIONAL([HAVE_THREADING], [test x"$acx_pthread_ok" = xyes])
#
# user options
#
############## NoBug build levels
AH_TEMPLATE(EBUG_ALPHA, [Define to 1 for selecting NoBug ALPHA build level])
AH_TEMPLATE(EBUG_BETA, [Define to 1 for selecting NoBug BETA build level])
AH_TEMPLATE(NDEBUG, [Define to 1 for selecting NoBug RELEASE build level])
AC_ARG_ENABLE(alpha, AC_HELP_STRING([--enable-alpha], [select NoBug ALPHA build level]),
nobug_level=alpha
AC_DEFINE(EBUG_ALPHA),
[
AC_ARG_ENABLE(beta, AC_HELP_STRING([--enable-beta], [select NoBug BETA build level]),
nobug_level=beta
AC_DEFINE(EBUG_BETA),
[
AC_ARG_ENABLE(release, AC_HELP_STRING([--enable-release], [select NoBug RELEASE build level]),
nobug_level=release
AC_DEFINE(NDEBUG),
# default to ALPHA
nobug_level=alpha
AC_DEFINE(EBUG_ALPHA)
)])])
# END NoBug
# C headers and libraries
AC_LANG_PUSH([C])
AC_CHECK_HEADER([nobug.h],
AC_DEFINE(HAVE_NOBUG_H),
AC_MSG_ERROR([NoBug header missing (http://www.pipapo.org/pipawiki/NoBug)])
)
AC_CHECK_LIB([nobugmt], nobug_thread_id_get,
,
AC_MSG_ERROR([NoBug multithreading library missing (http://www.pipapo.org/pipawiki/NoBug)])
)
AC_CHECK_HEADER([execinfo.h], AC_DEFINE(HAVE_EXECINFO_H))
# there is a warning in nobug, disabled til fixed AC_CHECK_HEADER([valgrind/valgrind.h], AC_DEFINE(HAVE_VALGRIND_VALGRIND_H))
AC_LANG_POP([C])
# C++ headers and libraries
AC_LANG_PUSH([C++])
AC_CHECK_HEADER([tr1/memory],
,
AC_MSG_ERROR([std::tr1 proposed standard extension for shared_ptr missing])
)
AC_CHECK_HEADER([boost/shared_ptr.hpp],
,
AC_MSG_ERROR([boost::shared_ptr missing (http://www.boost.org/)])
)
AC_CHECK_HEADER([boost/program_options.hpp],
,
AC_MSG_ERROR([boost::program_options missing (http://www.boost.org/)])
)
# checking for library left out, name contains compiler version here (libboost_program_options-gcc42-mt-1_34_1.so.1.34.1) any ides how to use that?
AC_CHECK_HEADER([boost/regex.hpp],
,
AC_MSG_ERROR([boost::regex missing (http://www.boost.org/)])
)
AC_LANG_POP([C++])
# Print a summary
AC_MSG_RESULT([
Configuration Summary:])
AC_MSG_RESULT([ NoBug build level: $nobug_level])
# Add more summary results here
AC_MSG_RESULT([
Configuration complete, you can now build Lumiera with 'make'
])
AC_CONFIG_FILES(Makefile)
AC_OUTPUT