## $Id: configure.in,v 1.95 2004/05/03 16:37:18 christof Exp $ # # process this file with GNU autoconf to produce a configure script. # # parts taken from gtkmm, LPRng, AC_PREREQ(2.50) AC_INIT(src/glade--.cc) AM_INIT_AUTOMAKE(glademm, 2.6.0) AC_CONFIG_HEADERS(config.h) #CXXFLAGS="-g -Wall" # omit -O2 while programming #INCLUDES=-I/home/share/safeSTL AC_PREFIX_DEFAULT(/usr/local) AC_PROG_CXX AM_PROG_LIBTOOL AC_LANG_CPLUSPLUS AC_CHECK_FUNCS(strsep getopt_long) AC_C_CHAR_UNSIGNED AC_MSG_CHECKING(if C++ compiler supports bool) AC_TRY_COMPILE( [ ],[ bool b=true; bool b1=false; ],[ ac_bool=yes ],[ AC_ERROR(bool type is not supported by your compiler) ]) AC_MSG_RESULT([$ac_bool]) AC_MSG_CHECKING(if C++ compiler supports templates well enough) AC_TRY_LINK( [ class foo { public: int a(float,int,int,foo*,foo**) { return 0; } }; template class k { public: rettype (T::*method)(P1,P2,P3,P4,P5); }; ],[ k a; ], ,[ AC_ERROR(your C++ compiler does not support templates well enough) ]) AC_MSG_RESULT([ok]) AC_HEADER_STDC AC_CHECK_HEADER(unistd.h) AC_CHECK_HEADER(string.h) # check for FullQualifiedDomainName function ... sigh ... why isn't this standard? AC_MSG_CHECKING(whether utsname contains domainname without tricks) AC_TRY_COMPILE( [ #include ],[ struct utsname uts; char *domainname=uts.domainname; ],[ ac_domainname_standard=yes AC_DEFINE(HAS_DOMAINNAME) ]) AC_MSG_RESULT([$ac_domainname_standard]) if test ! "x$ac_domainname_standard" = "xyes" ; then AC_MSG_CHECKING(whether utsname contains domainname when _GNU_SOURCE is set) save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE" AC_TRY_COMPILE( [ #include ],[ struct utsname uts; char *domainname=uts.domainname; ],[ ac_domainname_gnusrc=yes AC_DEFINE(HAS_DOMAINNAME) AC_DEFINE(_GNU_SOURCE) ]) CXXFLAGS="$save_CXXFLAGS" AC_MSG_RESULT([$ac_domainname_gnusrc]) fi if test "x$ac_domainname_standard" != "xyes" \ -a "x$ac_domainname_gnusrc$" != "xyes" ; then AC_MSG_CHECKING(whether utsname contains domainname when __USE_GNU is set) save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -D__USE_GNU" AC_TRY_COMPILE( [ #include ],[ struct utsname uts; char *domainname=uts.domainname; ],[ ac_domainname_usegnu=yes AC_DEFINE(HAS_DOMAINNAME) AC_DEFINE(__USE_GNU) ]) CXXFLAGS="$save_CXXFLAGS" AC_MSG_RESULT([$ac_domainname_usegnu]) fi # check for real name AC_MSG_CHECKING(whether passwd struct contains real name) AC_TRY_COMPILE( [ #include ],[ struct passwd pw; char *realname=pw.pw_gecos; ],[ ac_realname=pw_gecos AC_DEFINE(HAS_REAL_NAME,pw_gecos, [define this to the name of the real name item in struct passwd (pwd.h)]) ]) AC_MSG_RESULT([$ac_realname]) AC_DEFUN(GMM_PARSE_VERSION, [ if test -z "$$1_MAJOR" then GMM_VER="$2" case "$GMM_VER" in *.*.*) $1_MAJOR=`echo "$GMM_VER" | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` $1_MINOR=`echo "$GMM_VER" | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` $1_MICRO=`echo "$GMM_VER" | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` ;; esac fi ]) AC_MSG_CHECKING([installed gtk1 version (not needed)]) GMM_PARSE_VERSION(GTK,`gtk-config --version`) if test -z "$GTK_MAJOR" then AC_MSG_WARN([Can't determine your gtk1 version, assuming]) GTK_MAJOR=1 ; GTK_MINOR=2 ; GTK_MICRO=2 fi AC_MSG_RESULT([$GTK_MAJOR.$GTK_MINOR.$GTK_MICRO]) AC_DEFINE_UNQUOTED(GTK_MAJOR,$GTK_MAJOR) AC_DEFINE_UNQUOTED(GTK_MINOR,$GTK_MINOR) AC_DEFINE_UNQUOTED(GTK_MICRO,$GTK_MICRO) AC_MSG_CHECKING(installed gtk2 version) GMM_PARSE_VERSION(GTK2,`pkg-config --silence-errors --modversion gtk+-2.0`) GMM_PARSE_VERSION(GTK2,`pkg-config --silence-errors --modversion gtk+`) if test -z "$GTK2_MAJOR" then AC_MSG_WARN([Can't determine your gtk2 version, assuming]) GTK2_MAJOR=1 ; GTK2_MINOR=3 ; GTK2_MICRO=0 fi AC_MSG_RESULT([$GTK2_MAJOR.$GTK2_MINOR.$GTK2_MICRO]) AC_DEFINE_UNQUOTED(GTK2_MAJOR,$GTK2_MAJOR) AC_DEFINE_UNQUOTED(GTK2_MINOR,$GTK2_MINOR) AC_DEFINE_UNQUOTED(GTK2_MICRO,$GTK2_MICRO) AC_MSG_CHECKING([installed gtk-- version (not needed)]) GMM_PARSE_VERSION(GTKMM,`gtkmm-config --version`) if test -z "$GTKMM_MAJOR" then AC_MSG_WARN([Can't determine your gtkmm version, assuming]) GTKMM_MAJOR=1 ; GTKMM_MINOR=0 ; GTKMM_MICRO=0 fi AC_MSG_RESULT([$GTKMM_MAJOR.$GTKMM_MINOR.$GTKMM_MICRO]) AC_DEFINE_UNQUOTED(GTKMM_MAJOR,$GTKMM_MAJOR) AC_DEFINE_UNQUOTED(GTKMM_MINOR,$GTKMM_MINOR) AC_DEFINE_UNQUOTED(GTKMM_MICRO,$GTKMM_MICRO) AC_MSG_CHECKING([installed gtkmm-2 version (not needed)]) GMM_PARSE_VERSION(GTKMM2,`pkg-config --silence-errors --modversion gtkmm-2.4`) if test -z "$GTKMM2_MAJOR" then GMM_PARSE_VERSION(GTKMM2,`pkg-config --silence-errors --modversion gtkmm-2.0`) fi if test -z "$GTKMM2_MAJOR" then AC_MSG_WARN([Can't determine your gtkmm2 version, assuming]) GTKMM2_MAJOR=1 ; GTKMM2_MINOR=3 ; GTKMM2_MICRO=0 fi AC_MSG_RESULT([$GTKMM2_MAJOR.$GTKMM2_MINOR.$GTKMM2_MICRO]) AC_DEFINE_UNQUOTED(GTKMM2_MAJOR,$GTKMM2_MAJOR) AC_DEFINE_UNQUOTED(GTKMM2_MINOR,$GTKMM2_MINOR) AC_DEFINE_UNQUOTED(GTKMM2_MICRO,$GTKMM2_MICRO) if test ! "x$ac_domainname_standard" = "x" -a ! "x$ac_domainname_gnusrc" = "x" ; then AC_MSG_CHECKING(whether utsname contains domainname when __USE_GNU is set) AC_TRY_COMPILE( [ #define __USE_GNU #include ],[ struct utsname uts; char *domainname=uts.domainname; ],[ ac_domainname_usegnu=yes AC_DEFINE(HAS_DOMAINNAME) AC_DEFINE(__USE_GNU) ]) AC_MSG_RESULT([$ac_domainname_usegnu]) fi # look for gnomemmConf.sh AC_MSG_CHECKING([for gnome-- 1.x version (not needed)]) # --modversion gnomemm might work as well but gives less # information if it fails gnomelib=`gnome-config --libdir` if test "x$gnomelib" = "x" ; then AC_MSG_RESULT(gnome-config not found) elif test -r "$gnomelib/gnomemmConf.sh" then source $gnomelib/gnomemmConf.sh if test "x$MODULE_VERSION" = "x" then AC_MSG_RESULT(no version info available) else # pkg-config for 2.0? MODULE_VERSION=`echo "$MODULE_VERSION" | sed 's/gnomemm-//'` GMM_PARSE_VERSION(GNOMEMM,$MODULE_VERSION) AC_MSG_RESULT([$GNOMEMM_MAJOR.$GNOMEMM_MINOR.$GNOMEMM_MICRO]) AC_DEFINE_UNQUOTED(GNOMEMM_MAJOR,$GNOMEMM_MAJOR) AC_DEFINE_UNQUOTED(GNOMEMM_MINOR,$GNOMEMM_MINOR) AC_DEFINE_UNQUOTED(GNOMEMM_MICRO,$GNOMEMM_MICRO) fi else AC_MSG_RESULT(gnomemmConf.sh not found) fi MODULE_VERSION="`pkg-config --modversion libgnomemm-2.0`" if test "$MODULE_VERSION" != ""; then GMM_PARSE_VERSION(LIBGNOMEMM,$MODULE_VERSION) AC_MSG_RESULT([$LIBGNOMEMM_MAJOR.$LIBGNOMEMM_MINOR.$LIBGNOMEMM_MICRO]) AC_DEFINE_UNQUOTED(LIBGNOMEMM_MAJOR,$LIBGNOMEMM_MAJOR) AC_DEFINE_UNQUOTED(LIBGNOMEMM_MINOR,$LIBGNOMEMM_MINOR) AC_DEFINE_UNQUOTED(LIBGNOMEMM_MICRO,$LIBGNOMEMM_MICRO) fi MODULE_VERSION="`pkg-config --modversion libgnomeuimm-2.0`" if test "$MODULE_VERSION" != ""; then GMM_PARSE_VERSION(LIBGNOMEUIMM,$MODULE_VERSION) AC_MSG_RESULT([$LIBGNOMEUIMM_MAJOR.$LIBGNOMEUIMM_MINOR.$LIBGNOMEUIMM_MICRO]) AC_DEFINE_UNQUOTED(LIBGNOMEUIMM_MAJOR,$LIBGNOMEUIMM_MAJOR) AC_DEFINE_UNQUOTED(LIBGNOMEUIMM_MINOR,$LIBGNOMEUIMM_MINOR) AC_DEFINE_UNQUOTED(LIBGNOMEUIMM_MICRO,$LIBGNOMEUIMM_MICRO) fi MODULE_VERSION="`pkg-config --modversion libbonobomm-2.0`" if test "$MODULE_VERSION" != ""; then GMM_PARSE_VERSION(LIBBONOBOMM,$MODULE_VERSION) AC_MSG_RESULT([$LIBBONOBOMM_MAJOR.$LIBBONOBOMM_MINOR.$LIBBONOBOMM_MICRO]) AC_DEFINE_UNQUOTED(LIBBONOBOMM_MAJOR,$LIBBONOBOMM_MAJOR) AC_DEFINE_UNQUOTED(LIBBONOBOMM_MINOR,$LIBBONOBOMM_MINOR) AC_DEFINE_UNQUOTED(LIBBONOBOMM_MICRO,$LIBBONOBOMM_MICRO) fi MODULE_VERSION="`pkg-config --modversion libbonobouimm-2.0`" if test "$MODULE_VERSION" != ""; then GMM_PARSE_VERSION(LIBBONOBOUIMM,$MODULE_VERSION) AC_MSG_RESULT([$LIBBONOBOUIMM_MAJOR.$LIBBONOBOUIMM_MINOR.$LIBBONOBOUIMM_MICRO]) AC_DEFINE_UNQUOTED(LIBBONOBOUIMM_MAJOR,$LIBBONOBOUIMM_MAJOR) AC_DEFINE_UNQUOTED(LIBBONOBOUIMM_MINOR,$LIBBONOBOUIMM_MINOR) AC_DEFINE_UNQUOTED(LIBBONOBOUIMM_MICRO,$LIBBONOBOUIMM_MICRO) fi myprefix="$prefix" if test "$myprefix" = "NONE" ; then myprefix=$ac_default_prefix ; fi myprefix="\"$myprefix\"" AC_DEFINE_UNQUOTED(PREFIX,$myprefix,"directory tree this program will get installed into") AC_OUTPUT(Makefile src/Makefile src/writers/Makefile tests/Makefile \ docs/Makefile docs/old/Makefile \ src/SourceWriter/Makefile \ glademm.spec )