1## $Id: configure.in,v 1.95 2004/05/03 16:37:18 christof Exp $ 2# 3# process this file with GNU autoconf to produce a configure script. 4# 5# parts taken from gtkmm, LPRng, 6 7AC_PREREQ(2.50) 8AC_INIT(src/glade--.cc) 9 10AM_INIT_AUTOMAKE(glademm, 2.6.0) 11AC_CONFIG_HEADERS(config.h) 12 13#CXXFLAGS="-g -Wall" 14# omit -O2 while programming 15 16#INCLUDES=-I/home/share/safeSTL 17 18AC_PREFIX_DEFAULT(/usr/local) 19 20AC_PROG_CXX 21AM_PROG_LIBTOOL 22AC_LANG_CPLUSPLUS 23 24AC_CHECK_FUNCS(strsep getopt_long) 25AC_C_CHAR_UNSIGNED 26 27AC_MSG_CHECKING(if C++ compiler supports bool) 28AC_TRY_COMPILE( 29[ 30],[ 31 bool b=true; 32 bool b1=false; 33],[ 34 ac_bool=yes 35],[ 36 AC_ERROR(bool type is not supported by your compiler) 37]) 38AC_MSG_RESULT([$ac_bool]) 39 40 41AC_MSG_CHECKING(if C++ compiler supports templates well enough) 42AC_TRY_LINK( 43[ 44class foo { public: int a(float,int,int,foo*,foo**) { return 0; } }; 45template<class rettype, class T, class P1, class P2, class P3, class P4, class P5> 46class k { 47public: 48 rettype (T::*method)(P1,P2,P3,P4,P5); 49}; 50],[ 51 k<int,foo,float,int,int,foo*,foo**> a; 52], 53 ,[ 54 AC_ERROR(your C++ compiler does not support templates well enough) 55]) 56AC_MSG_RESULT([ok]) 57 58AC_HEADER_STDC 59AC_CHECK_HEADER(unistd.h) 60AC_CHECK_HEADER(string.h) 61 62# check for FullQualifiedDomainName function ... sigh ... why isn't this standard? 63AC_MSG_CHECKING(whether utsname contains domainname without tricks) 64AC_TRY_COMPILE( 65[ 66#include <sys/utsname.h> 67],[ 68 struct utsname uts; 69 char *domainname=uts.domainname; 70],[ 71 ac_domainname_standard=yes 72 AC_DEFINE(HAS_DOMAINNAME) 73]) 74AC_MSG_RESULT([$ac_domainname_standard]) 75 76if test ! "x$ac_domainname_standard" = "xyes" ; then 77AC_MSG_CHECKING(whether utsname contains domainname when _GNU_SOURCE is set) 78save_CXXFLAGS="$CXXFLAGS" 79CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE" 80AC_TRY_COMPILE( 81[ 82#include <sys/utsname.h> 83],[ 84 struct utsname uts; 85 char *domainname=uts.domainname; 86],[ 87 ac_domainname_gnusrc=yes 88 AC_DEFINE(HAS_DOMAINNAME) 89 AC_DEFINE(_GNU_SOURCE) 90]) 91CXXFLAGS="$save_CXXFLAGS" 92AC_MSG_RESULT([$ac_domainname_gnusrc]) 93fi 94 95if test "x$ac_domainname_standard" != "xyes" \ 96 -a "x$ac_domainname_gnusrc$" != "xyes" ; then 97AC_MSG_CHECKING(whether utsname contains domainname when __USE_GNU is set) 98save_CXXFLAGS="$CXXFLAGS" 99CXXFLAGS="$CXXFLAGS -D__USE_GNU" 100AC_TRY_COMPILE( 101[ 102#include <sys/utsname.h> 103],[ 104 struct utsname uts; 105 char *domainname=uts.domainname; 106],[ 107 ac_domainname_usegnu=yes 108 AC_DEFINE(HAS_DOMAINNAME) 109 AC_DEFINE(__USE_GNU) 110]) 111CXXFLAGS="$save_CXXFLAGS" 112AC_MSG_RESULT([$ac_domainname_usegnu]) 113fi 114 115# check for real name 116AC_MSG_CHECKING(whether passwd struct contains real name) 117AC_TRY_COMPILE( 118[ 119#include <pwd.h> 120],[ 121 struct passwd pw; 122 char *realname=pw.pw_gecos; 123],[ 124 ac_realname=pw_gecos 125 AC_DEFINE(HAS_REAL_NAME,pw_gecos, 126 [define this to the name of the real name item in struct passwd (pwd.h)]) 127]) 128AC_MSG_RESULT([$ac_realname]) 129 130AC_DEFUN(GMM_PARSE_VERSION, [ 131if test -z "$$1_MAJOR" 132then 133 GMM_VER="$2" 134 case "$GMM_VER" in 135 *.*.*) 136 $1_MAJOR=`echo "$GMM_VER" | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` 137 $1_MINOR=`echo "$GMM_VER" | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` 138 $1_MICRO=`echo "$GMM_VER" | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` 139 ;; 140 esac 141fi 142]) 143 144AC_MSG_CHECKING([installed gtk1 version (not needed)]) 145GMM_PARSE_VERSION(GTK,`gtk-config --version`) 146if test -z "$GTK_MAJOR" 147then 148 AC_MSG_WARN([Can't determine your gtk1 version, assuming]) 149 GTK_MAJOR=1 ; GTK_MINOR=2 ; GTK_MICRO=2 150fi 151AC_MSG_RESULT([$GTK_MAJOR.$GTK_MINOR.$GTK_MICRO]) 152AC_DEFINE_UNQUOTED(GTK_MAJOR,$GTK_MAJOR) 153AC_DEFINE_UNQUOTED(GTK_MINOR,$GTK_MINOR) 154AC_DEFINE_UNQUOTED(GTK_MICRO,$GTK_MICRO) 155 156AC_MSG_CHECKING(installed gtk2 version) 157GMM_PARSE_VERSION(GTK2,`pkg-config --silence-errors --modversion gtk+-2.0`) 158GMM_PARSE_VERSION(GTK2,`pkg-config --silence-errors --modversion gtk+`) 159if test -z "$GTK2_MAJOR" 160then 161 AC_MSG_WARN([Can't determine your gtk2 version, assuming]) 162 GTK2_MAJOR=1 ; GTK2_MINOR=3 ; GTK2_MICRO=0 163fi 164AC_MSG_RESULT([$GTK2_MAJOR.$GTK2_MINOR.$GTK2_MICRO]) 165AC_DEFINE_UNQUOTED(GTK2_MAJOR,$GTK2_MAJOR) 166AC_DEFINE_UNQUOTED(GTK2_MINOR,$GTK2_MINOR) 167AC_DEFINE_UNQUOTED(GTK2_MICRO,$GTK2_MICRO) 168 169AC_MSG_CHECKING([installed gtk-- version (not needed)]) 170GMM_PARSE_VERSION(GTKMM,`gtkmm-config --version`) 171if test -z "$GTKMM_MAJOR" 172then 173 AC_MSG_WARN([Can't determine your gtkmm version, assuming]) 174 GTKMM_MAJOR=1 ; GTKMM_MINOR=0 ; GTKMM_MICRO=0 175fi 176AC_MSG_RESULT([$GTKMM_MAJOR.$GTKMM_MINOR.$GTKMM_MICRO]) 177AC_DEFINE_UNQUOTED(GTKMM_MAJOR,$GTKMM_MAJOR) 178AC_DEFINE_UNQUOTED(GTKMM_MINOR,$GTKMM_MINOR) 179AC_DEFINE_UNQUOTED(GTKMM_MICRO,$GTKMM_MICRO) 180 181AC_MSG_CHECKING([installed gtkmm-2 version (not needed)]) 182GMM_PARSE_VERSION(GTKMM2,`pkg-config --silence-errors --modversion gtkmm-2.4`) 183if test -z "$GTKMM2_MAJOR" 184then 185 GMM_PARSE_VERSION(GTKMM2,`pkg-config --silence-errors --modversion gtkmm-2.0`) 186fi 187if test -z "$GTKMM2_MAJOR" 188then 189 AC_MSG_WARN([Can't determine your gtkmm2 version, assuming]) 190 GTKMM2_MAJOR=1 ; GTKMM2_MINOR=3 ; GTKMM2_MICRO=0 191fi 192AC_MSG_RESULT([$GTKMM2_MAJOR.$GTKMM2_MINOR.$GTKMM2_MICRO]) 193AC_DEFINE_UNQUOTED(GTKMM2_MAJOR,$GTKMM2_MAJOR) 194AC_DEFINE_UNQUOTED(GTKMM2_MINOR,$GTKMM2_MINOR) 195AC_DEFINE_UNQUOTED(GTKMM2_MICRO,$GTKMM2_MICRO) 196 197if test ! "x$ac_domainname_standard" = "x" -a ! "x$ac_domainname_gnusrc" = "x" ; then 198AC_MSG_CHECKING(whether utsname contains domainname when __USE_GNU is set) 199AC_TRY_COMPILE( 200[ 201#define __USE_GNU 202#include <sys/utsname.h> 203],[ 204 struct utsname uts; 205 char *domainname=uts.domainname; 206],[ 207 ac_domainname_usegnu=yes 208 AC_DEFINE(HAS_DOMAINNAME) 209 AC_DEFINE(__USE_GNU) 210]) 211AC_MSG_RESULT([$ac_domainname_usegnu]) 212fi 213 214 215# look for gnomemmConf.sh 216AC_MSG_CHECKING([for gnome-- 1.x version (not needed)]) 217# --modversion gnomemm might work as well but gives less 218# information if it fails 219gnomelib=`gnome-config --libdir` 220if test "x$gnomelib" = "x" ; then 221 AC_MSG_RESULT(gnome-config not found) 222elif test -r "$gnomelib/gnomemmConf.sh" 223then 224 source $gnomelib/gnomemmConf.sh 225 if test "x$MODULE_VERSION" = "x" 226 then 227 AC_MSG_RESULT(no version info available) 228 else 229 # pkg-config for 2.0? 230 MODULE_VERSION=`echo "$MODULE_VERSION" | sed 's/gnomemm-//'` 231 GMM_PARSE_VERSION(GNOMEMM,$MODULE_VERSION) 232 AC_MSG_RESULT([$GNOMEMM_MAJOR.$GNOMEMM_MINOR.$GNOMEMM_MICRO]) 233 AC_DEFINE_UNQUOTED(GNOMEMM_MAJOR,$GNOMEMM_MAJOR) 234 AC_DEFINE_UNQUOTED(GNOMEMM_MINOR,$GNOMEMM_MINOR) 235 AC_DEFINE_UNQUOTED(GNOMEMM_MICRO,$GNOMEMM_MICRO) 236 fi 237else 238 AC_MSG_RESULT(gnomemmConf.sh not found) 239fi 240 241MODULE_VERSION="`pkg-config --modversion libgnomemm-2.0`" 242if test "$MODULE_VERSION" != ""; then 243 GMM_PARSE_VERSION(LIBGNOMEMM,$MODULE_VERSION) 244 AC_MSG_RESULT([$LIBGNOMEMM_MAJOR.$LIBGNOMEMM_MINOR.$LIBGNOMEMM_MICRO]) 245 AC_DEFINE_UNQUOTED(LIBGNOMEMM_MAJOR,$LIBGNOMEMM_MAJOR) 246 AC_DEFINE_UNQUOTED(LIBGNOMEMM_MINOR,$LIBGNOMEMM_MINOR) 247 AC_DEFINE_UNQUOTED(LIBGNOMEMM_MICRO,$LIBGNOMEMM_MICRO) 248fi 249MODULE_VERSION="`pkg-config --modversion libgnomeuimm-2.0`" 250if test "$MODULE_VERSION" != ""; then 251 GMM_PARSE_VERSION(LIBGNOMEUIMM,$MODULE_VERSION) 252 AC_MSG_RESULT([$LIBGNOMEUIMM_MAJOR.$LIBGNOMEUIMM_MINOR.$LIBGNOMEUIMM_MICRO]) 253 AC_DEFINE_UNQUOTED(LIBGNOMEUIMM_MAJOR,$LIBGNOMEUIMM_MAJOR) 254 AC_DEFINE_UNQUOTED(LIBGNOMEUIMM_MINOR,$LIBGNOMEUIMM_MINOR) 255 AC_DEFINE_UNQUOTED(LIBGNOMEUIMM_MICRO,$LIBGNOMEUIMM_MICRO) 256fi 257 258MODULE_VERSION="`pkg-config --modversion libbonobomm-2.0`" 259if test "$MODULE_VERSION" != ""; then 260 GMM_PARSE_VERSION(LIBBONOBOMM,$MODULE_VERSION) 261 AC_MSG_RESULT([$LIBBONOBOMM_MAJOR.$LIBBONOBOMM_MINOR.$LIBBONOBOMM_MICRO]) 262 AC_DEFINE_UNQUOTED(LIBBONOBOMM_MAJOR,$LIBBONOBOMM_MAJOR) 263 AC_DEFINE_UNQUOTED(LIBBONOBOMM_MINOR,$LIBBONOBOMM_MINOR) 264 AC_DEFINE_UNQUOTED(LIBBONOBOMM_MICRO,$LIBBONOBOMM_MICRO) 265fi 266MODULE_VERSION="`pkg-config --modversion libbonobouimm-2.0`" 267if test "$MODULE_VERSION" != ""; then 268 GMM_PARSE_VERSION(LIBBONOBOUIMM,$MODULE_VERSION) 269 AC_MSG_RESULT([$LIBBONOBOUIMM_MAJOR.$LIBBONOBOUIMM_MINOR.$LIBBONOBOUIMM_MICRO]) 270 AC_DEFINE_UNQUOTED(LIBBONOBOUIMM_MAJOR,$LIBBONOBOUIMM_MAJOR) 271 AC_DEFINE_UNQUOTED(LIBBONOBOUIMM_MINOR,$LIBBONOBOUIMM_MINOR) 272 AC_DEFINE_UNQUOTED(LIBBONOBOUIMM_MICRO,$LIBBONOBOUIMM_MICRO) 273fi 274 275myprefix="$prefix" 276if test "$myprefix" = "NONE" ; then myprefix=$ac_default_prefix ; fi 277myprefix="\"$myprefix\"" 278AC_DEFINE_UNQUOTED(PREFIX,$myprefix,"directory tree this program will get installed into") 279 280AC_OUTPUT(Makefile src/Makefile src/writers/Makefile tests/Makefile \ 281 docs/Makefile docs/old/Makefile \ 282 src/SourceWriter/Makefile \ 283 glademm.spec ) 284