]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/aclocal.m4
- Tweak install chapter of French manual to add new paragraph
[bacula/bacula] / bacula / autoconf / aclocal.m4
index 8d3b1a8b0699b5d19a3ffad72bd898a4af43e925..928b33e2d8bf03b76ae76ccecc235427cd7ea810 100644 (file)
 dnl
-dnl If available, use support for large files unless the user specified
-dnl one of the CPPFLAGS, LDFLAGS, or LIBS variables (<eggert@twinsun.com>
-dnl via GNU patch 2.5)
-dnl
-AC_DEFUN(LARGE_FILE_SUPPORT,
-[AC_MSG_CHECKING(whether large file support needs explicit enabling)
-ac_getconfs=''
-ac_result=yes
-ac_set=''
-ac_shellvars='CPPFLAGS LDFLAGS LIBS'
-for ac_shellvar in $ac_shellvars; do
-  case $ac_shellvar in
-  CPPFLAGS) ac_lfsvar=LFS_CFLAGS ac_lfs64var=LFS64_CFLAGS ;;
-  *) ac_lfsvar=LFS_$ac_shellvar ac_lfs64var=LFS64_$ac_shellvar ;;
-  esac
-  eval test '"${'$ac_shellvar'+set}"' = set && ac_set=$ac_shellvar
-  (getconf $ac_lfsvar) >/dev/null 2>&1 || { ac_result=no; break; }
-  ac_getconf=`getconf $ac_lfsvar`
-  ac_getconf64=`getconf $ac_lfs64var`
-  ac_getconfs=$ac_getconfs$ac_getconf\ $ac_getconf64
-  eval ac_test_$ac_shellvar="\$ac_getconf\ \$ac_getconf64"
-done
-case "$ac_result$ac_getconfs" in
-yes) ac_result=no ;;
-esac
-case "$ac_result$ac_set" in
-yes?*) ac_result="yes, but $ac_set is already set, so use its settings"
-esac
-AC_MSG_RESULT($ac_result)
-case $ac_result in
-yes)
-  for ac_shellvar in $ac_shellvars; do
-    eval $ac_shellvar=\$ac_test_$ac_shellvar
-  done ;;
-esac
-])
+dnl =========  Large File Support ==============
+dnl By default, many hosts won't let programs access large files;
+dnl one must use special compiler options to get large-file access to work.
+dnl For more details about this brain damage please see:
+dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
+
+dnl Written by Paul Eggert <eggert@twinsun.com>.
+
+dnl Internal subroutine of AC_SYS_LARGEFILE.
+dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME)
+AC_DEFUN(AC_SYS_LARGEFILE_FLAGS,
+  [AC_CACHE_CHECK([for $1 value to request large file support],
+     ac_cv_sys_largefile_$1,
+     [ac_cv_sys_largefile_$1=`($GETCONF LFS_$1) 2>/dev/null` || {
+        ac_cv_sys_largefile_$1=no
+        ifelse($1, CFLAGS,
+          [case "$host_os" in
+           # IRIX 6.2 and later require cc -n32.
+changequote(, )dnl
+           irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)
+changequote([, ])dnl
+             if test "$GCC" != yes; then
+               ac_cv_sys_largefile_CFLAGS=-n32
+             fi
+             ac_save_CC="$CC"
+             CC="$CC $ac_cv_sys_largefile_CFLAGS"
+             AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no)
+             CC="$ac_save_CC"
+           esac])
+      }])])
+
+dnl Internal subroutine of AC_SYS_LARGEFILE.
+dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL)
+AC_DEFUN(AC_SYS_LARGEFILE_SPACE_APPEND,
+  [case $2 in
+   no) ;;
+   ?*)
+     case "[$]$1" in
+     '') $1=$2 ;;
+     *) $1=[$]$1' '$2 ;;
+     esac ;;
+   esac])
+
+dnl Internal subroutine of AC_SYS_LARGEFILE.
+dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT)
+AC_DEFUN(AC_SYS_LARGEFILE_MACRO_VALUE,
+  [AC_CACHE_CHECK([for $1], $2,
+     [$2=no
+changequote(, )dnl
+      $4
+      for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
+        case "$ac_flag" in
+        -D$1)
+          $2=1 ;;
+        -D$1=*)
+          $2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;;
+        esac
+      done
+changequote([, ])dnl
+      ])
+   if test "[$]$2" != no; then
+     AC_DEFINE_UNQUOTED([$1], [$]$2, [$3])
+   fi])
+
+AC_DEFUN(AC_BAC_LARGEFILE,
+  [AC_REQUIRE([AC_CANONICAL_HOST])
+   AC_ARG_ENABLE(largefile,
+     [  --disable-largefile     omit support for large files])
+   if test "$enable_largefile" != no; then
+     AC_CHECK_TOOL(GETCONF, getconf)
+     AC_SYS_LARGEFILE_FLAGS(CFLAGS)
+     AC_SYS_LARGEFILE_FLAGS(LDFLAGS)
+     AC_SYS_LARGEFILE_FLAGS(LIBS)
+
+     for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
+       case "$ac_flag" in
+       no) ;;
+       -D_FILE_OFFSET_BITS=*) ;;
+       -D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;;
+       -D_LARGE_FILES | -D_LARGE_FILES=*) ;;
+       -D?* | -I?*)
+         AC_SYS_LARGEFILE_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;;
+       *)
+         AC_SYS_LARGEFILE_SPACE_APPEND(CFLAGS, "$ac_flag") ;;
+       esac
+     done
+     AC_SYS_LARGEFILE_SPACE_APPEND(LDFLAGS, "$ac_cv_sys_largefile_LDFLAGS")
+     AC_SYS_LARGEFILE_SPACE_APPEND(LIBS, "$ac_cv_sys_largefile_LIBS")
+     AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS,
+       ac_cv_sys_file_offset_bits,
+       [Number of bits in a file offset, on hosts where this is settable.],
+       [case "$host_os" in
+        # HP-UX 10.20 and later
+        hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
+          ac_cv_sys_file_offset_bits=64 ;;
+        esac])
+     AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE,
+       ac_cv_sys_largefile_source,
+       [Define to make fseeko etc. visible, on some hosts.],
+       [case "$host_os" in
+        # HP-UX 10.20 and later
+        hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
+          ac_cv_sys_largefile_source=1 ;;
+        esac])
+     AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES,
+       ac_cv_sys_large_files,
+       [Define for large files, on AIX-style hosts.],
+       [case "$host_os" in
+        # AIX 4.2 and later
+        aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)
+          ac_cv_sys_large_files=1 ;;
+        esac])
+   fi
+  ])
+dnl ==========================================================
 
 dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)
 AC_DEFUN(SIGNAL_CHECK,
@@ -89,7 +168,7 @@ fi])
 
 
 AC_DEFUN(BA_CHECK_OPSYS,
-[AC_MSG_CHECKING(for Operating System)
+[
 AC_CYGWIN
 if test $HAVE_UNAME=yes -a x`uname -s` = xSunOS
 then
@@ -179,7 +258,13 @@ else
         BA_CONDITIONAL(HAVE_IRIX_OS, $FALSEPRG)
 fi
 
-AC_MSG_RESULT(" ")
+if test $HAVE_UNAME=yes -a x`uname -s` = xDarwin
+then
+    AM_CONDITIONAL(HAVE_DARWIN_OS, $TRUEPRG)
+    AC_DEFINE(HAVE_DARWIN_OS)
+else
+    AM_CONDITIONAL(HAVE_DARWIN_OS, $FALSEPRG)
+fi
 ])
 
 AC_DEFUN(BA_CHECK_OPSYS_DISTNAME,
@@ -190,6 +275,9 @@ then
 elif test $HAVE_UNAME=yes -a x`uname -s` = xOSF1
 then
         DISTNAME=alpha
+elif test $HAVE_UNAME=yes -a x`uname -s` = xAIX
+then
+        DISTNAME=aix
 elif test $HAVE_UNAME=yes -a x`uname -s` = xHP-UX
 then
         DISTNAME=hpux
@@ -217,35 +305,46 @@ then
 elif test -d /etc/SuSEconfig
 then
         DISTNAME=suse5
-elif test -d /usr/src/OpenLinux
+elif test -f /etc/mandrake-release
+then
+        DISTNAME=mandrake
+elif test -f /etc/whitebox-release
 then
-        DISTNAME=caldera
+       DISTNAME=redhat
 elif test -f /etc/redhat-release
 then
         DISTNAME=redhat
+elif test -f /etc/gentoo-release
+then
+        DISTNAME=gentoo
 elif test -f /etc/debian_version
 then
         DISTNAME=debian
 elif test -f /etc/slackware-version
 then
         DISTNAME=slackware
-elif test "$ac_cv_cygwin" = yes
+elif test $HAVE_UNAME=yes -a x`uname -s` = xDarwin
+then
+    DISTNAME=darwin
+elif test -f /etc/engarde-version
+then
+        DISTNAME=engarde
+elif test "$CYGWIN" = yes
 then
         DISTNAME=cygwin
         AC_DEFINE(HAVE_CYGWIN)
 else
         DISTNAME=unknown
 fi
-AC_MSG_RESULT(" ")
+AC_MSG_RESULT(done)
 ])
 
 AC_DEFUN(BA_CHECK_MYSQL_DB,
 [
-have_db=no
+db_found=no
 AC_MSG_CHECKING(for MySQL support)
 AC_ARG_WITH(mysql,
 [
-Which one DBMS do you want to use (please select only one):
   --with-mysql[=DIR]      Include MySQL support.  DIR is the MySQL base
                           install directory, default is to search through
                           a number of common places for the MySQL files.],
@@ -291,12 +390,17 @@ Which one DBMS do you want to use (please select only one):
                 fi
         fi
     SQL_INCLUDE=-I$MYSQL_INCDIR
-    SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient"
+    if test -f $MYSQL_LIBDIR/libmysqlclient_r.a; then
+       SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
+       AC_DEFINE(HAVE_THREAD_SAFE_MYSQL)
+    else
+       SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient -lz"
+    fi
     SQL_BINDIR=$MYSQL_BINDIR
 
     AC_DEFINE(HAVE_MYSQL)
     AC_MSG_RESULT(yes)
-    have_db=yes
+    db_found=yes
     support_mysql=yes
     db_name=MySQL
     DB_NAME=mysql
@@ -304,14 +408,12 @@ Which one DBMS do you want to use (please select only one):
   else
         AC_MSG_RESULT(no)
   fi
-],[
-  AC_MSG_RESULT(no)
-])
+]
+)
 
 AC_ARG_WITH(embedded-mysql,
 [
-Which one DBMS do you want to use (please select only one):
-  --with-embedde-mysql[=DIR] Include MySQL support.  DIR is the MySQL base
+  --with-embedded-mysql[=DIR] Include MySQL support.  DIR is the MySQL base
                           install directory, default is to search through
                           a number of common places for the MySQL files.],
 [
@@ -362,7 +464,7 @@ Which one DBMS do you want to use (please select only one):
     AC_DEFINE(HAVE_MYSQL)
     AC_DEFINE(HAVE_EMBEDDED_MYSQL)
     AC_MSG_RESULT(yes)
-    have_db=yes
+    db_found=yes
     support_mysql=yes
     db_name=MySQL
     DB_NAME=mysql
@@ -370,9 +472,8 @@ Which one DBMS do you want to use (please select only one):
   else
         AC_MSG_RESULT(no)
   fi
-],[
-  AC_MSG_RESULT(no)
-])
+]
+)
 
 
 AC_SUBST(SQL_LFLAGS)
@@ -384,52 +485,59 @@ AC_SUBST(SQL_BINDIR)
 
 AC_DEFUN(BA_CHECK_SQLITE_DB,
 [
-have_db=no
+db_found=no
 AC_MSG_CHECKING(for SQLite support)
 AC_ARG_WITH(sqlite,
 [
-Which one DBMS do you want to use (please select only one):
   --with-sqlite[=DIR]     Include SQLite support.  DIR is the SQLite base
                           install directory, default is to search through
                           a number of common places for the SQLite files.],
 [
   if test "$withval" != "no"; then
-        if test "$withval" = "yes"; then
-                if test -f /usr/local/include/sqlite.h; then
-                        SQLITE_INCDIR=/usr/local/include
-                        SQLITE_LIBDIR=/usr/local/lib
-                        SQLITE_BINDIR=/usr/local/bin
-                elif test -f /usr/include/sqlite.h; then
-                        SQLITE_INCDIR=/usr/include
-                        SQLITE_LIBDIR=/usr/lib
-                        SQLITE_BINDIR=/usr/bin      
-                else
-                   AC_MSG_RESULT(no)
-                   AC_MSG_ERROR(Unable to find sqlite.h in standard locations)
-                fi
+     if test "$withval" = "yes"; then
+        if test -f /usr/local/include/sqlite.h; then
+           SQLITE_INCDIR=/usr/local/include
+           SQLITE_LIBDIR=/usr/local/lib
+           SQLITE_BINDIR=/usr/local/bin
+        elif test -f /usr/include/sqlite.h; then
+           SQLITE_INCDIR=/usr/include
+           SQLITE_LIBDIR=/usr/lib
+           SQLITE_BINDIR=/usr/bin      
+        elif test -f $prefix/include/sqlite.h; then
+           SQLITE_INCDIR=$prefix/include
+           SQLITE_LIBDIR=$prefix/lib
+           SQLITE_BINDIR=$prefix/bin      
         else
-                if test -f $withval/sqlite.h; then
-                        SQLITE_INCDIR=$withval
-                        SQLITE_LIBDIR=$withval
-                        SQLITE_BINDIR=$withval
-                else
-                   AC_MSG_RESULT(no)
-                   AC_MSG_ERROR(Invalid SQLite directory $withval - unable to find sqlite.h under $withval)
-                fi
+           AC_MSG_RESULT(no)
+           AC_MSG_ERROR(Unable to find sqlite.h in standard locations)
         fi
-    SQL_INCLUDE=-I$SQLITE_INCDIR
-    SQL_LFLAGS="-L$SQLITE_LIBDIR -lsqlite"
-    SQL_BINDIR=$SQLITE_BINDIR
-
-    AC_DEFINE(HAVE_SQLITE)
-    AC_MSG_RESULT(yes)
-    have_db=yes
-    support_sqlite=yes
-    db_name=SQLite
-    DB_NAME=sqlite
+     else
+        if test -f $withval/sqlite.h; then
+           SQLITE_INCDIR=$withval
+           SQLITE_LIBDIR=$withval
+           SQLITE_BINDIR=$withval
+        elif test -f $withval/include/sqlite.h; then
+           SQLITE_INCDIR=$withval/include
+           SQLITE_LIBDIR=$withval/lib
+           SQLITE_BINDIR=$withval/bin
+        else
+           AC_MSG_RESULT(no)
+           AC_MSG_ERROR(Invalid SQLite directory $withval - unable to find sqlite.h under $withval)
+        fi
+     fi
+     SQL_INCLUDE=-I$SQLITE_INCDIR
+     SQL_LFLAGS="-L$SQLITE_LIBDIR -lsqlite"
+     SQL_BINDIR=$SQLITE_BINDIR
+
+     AC_DEFINE(HAVE_SQLITE)
+     AC_MSG_RESULT(yes)
+     db_found=yes
+     support_sqlite=yes
+     db_name=SQLite
+     DB_NAME=sqlite
 
   else
-        AC_MSG_RESULT(no)
+     AC_MSG_RESULT(no)
   fi
 ],[
   AC_MSG_RESULT(no)
@@ -441,6 +549,72 @@ AC_SUBST(SQL_BINDIR)
 ])
 
 
+AC_DEFUN(BA_CHECK_POSTGRESQL_DB,
+[
+db_found=no
+AC_MSG_CHECKING(for PostgreSQL support)
+AC_ARG_WITH(postgresql,
+[  --with-postgresql[=DIR]      Include PostgreSQL support.  DIR is the PostgreSQL
+                          base install directory, defaults to /usr/local/pgsql],
+[
+  if test "$withval" != "no"; then
+      if test "$db_found" = "yes"; then
+          AC_MSG_RESULT(error)
+          AC_MSG_ERROR("You can configure for only one database.");
+      fi
+      if test "$withval" = "yes"; then
+          if test -f /usr/local/include/libpq-fe.h; then
+              POSTGRESQL_INCDIR=/usr/local/include
+              POSTGRESQL_LIBDIR=/usr/local/lib
+              POSTGRESQL_BINDIR=/usr/local/bin
+          elif test -f /usr/include/libpq-fe.h; then
+              POSTGRESQL_INCDIR=/usr/include
+              POSTGRESQL_LIBDIR=/usr/lib
+              POSTGRESQL_BINDIR=/usr/bin
+          elif test -f /usr/include/pgsql/libpq-fe.h; then
+              POSTGRESQL_INCDIR=/usr/include/pgsql
+              POSTGRESQL_LIBDIR=/usr/lib/pgsql
+              POSTGRESQL_BINDIR=/usr/bin
+          elif test -f /usr/include/postgresql/libpq-fe.h; then
+              POSTGRESQL_INCDIR=/usr/include/postgresql
+              POSTGRESQL_LIBDIR=/usr/lib/postgresql
+              POSTGRESQL_BINDIR=/usr/bin
+          else
+              AC_MSG_RESULT(no)
+              AC_MSG_ERROR(Unable to find libpq-fe.h in standard locations)
+          fi
+      elif test -f $withval/include/libpq-fe.h; then
+          POSTGRESQL_INCDIR=$withval/include
+          POSTGRESQL_LIBDIR=$withval/lib
+          POSTGRESQL_BINDIR=$withval/bin
+      else
+          AC_MSG_RESULT(no)
+          AC_MSG_ERROR(Invalid PostgreSQL directory $withval - unable to find libpq-fe.h under $withval)
+      fi
+      POSTGRESQL_LFLAGS="-L$POSTGRESQL_LIBDIR -lpq"
+      AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt, crypt, [POSTGRESQL_LFLAGS="-lcrypt $POSTGRESQL_LFLAGS"]))
+      SQL_INCLUDE=-I$POSTGRESQL_INCDIR
+      SQL_LFLAGS=$POSTGRESQL_LFLAGS
+      SQL_BINDIR=$POSTGRESQL_BINDIR
+      AC_DEFINE(HAVE_POSTGRESQL)
+      AC_MSG_RESULT(yes)
+      db_found=yes
+      support_postgresql=yes
+      db_name=PostgreSQL
+      DB_NAME=postgresql
+  else
+      AC_MSG_RESULT(no)
+  fi
+],[
+  AC_MSG_RESULT(no)
+])
+AC_SUBST(SQL_LFLAGS)
+AC_SUBST(SQL_INCLUDE)
+AC_SUBST(SQL_BINDIR)
+
+])
+
+
 
 AC_DEFUN(BA_CHECK_SQL_DB, 
 [AC_MSG_CHECKING(Checking for various databases)
@@ -449,22 +623,16 @@ dnl# CHECKING FOR VARIOUS DATABASES (thanks to UdmSearch team)
 dnl# --------------------------------------------------------------------------
 dnl Check for some DBMS backend
 dnl NOTE: we can use only one backend at a time
-AC_MSG_RESULT(" ")
-
-have_db=no
+db_found=no
 db_name=none
 
-
-
 if test x$support_mysql = xyes; then
    cats=cats
 fi
 
-
 AC_MSG_CHECKING(for Berkeley DB support)
 AC_ARG_WITH(berkeleydb,
 [
-Which one DBMS do you want to use (please select only one):
   --with-berkeleydb[=DIR] Include Berkeley DB support.  DIR is the Berkeley DB base
                           install directory, default is to search through
                           a number of common places for the DB files.],
@@ -510,48 +678,6 @@ if test x$support_berkleydb = xyes; then
 fi
 
 
-AC_MSG_CHECKING(for PostgreSQL support)
-AC_ARG_WITH(pgsql,
-[  --with-pgsql[=DIR]      Include PostgreSQL support.  DIR is the PostgreSQL
-                          base install directory, defaults to /usr/local/pgsql.],
-[
-  if test "$withval" != "no"; then
-      if test "$have_db" = "yes"; then
-          AC_MSG_RESULT(error)
-          AC_MSG_ERROR("You can configure for only one database.");
-      fi
-        if test "$withval" = "yes"; then
-                if test -f /usr/include/pgsql/libpq-fe.h; then
-                        PGSQL_INCDIR=/usr/include/pgsql
-                else
-                        PGSQL_INCDIR=/usr/local/pgsql/include
-                fi
-                if test -f /usr/lib/libpq.a; then
-                        PGSQL_LIBDIR=/usr/lib
-                else
-                        PGSQL_LIBDIR=/usr/local/pgsql/lib
-                fi
-        else
-                PGSQL_INCDIR=$withval/include
-                test -d $withval/include/pgsql && PGSQL_INCDIR=$withval/include/pgsql
-                PGSQL_LIBDIR=$withval/lib
-                test -d $withval/lib/pgsql && PGSQL_LIBDIR=$withval/lib/pgsql
-        fi
-    PGSQL_INCLUDE=-I$PGSQL_INCDIR
-    PGSQL_LFLAGS="-L$PGSQL_LIBDIR -lpq"
-    AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt, crypt, [LIBS="-lcrypt $LIBS"]))
-
-    AC_DEFINE(HAVE_PGSQL)
-    AC_MSG_RESULT(yes)
-    have_db=yes
-  else
-    AC_MSG_RESULT(no)
-  fi
-],[
-  AC_MSG_RESULT(no)
-])
-AC_SUBST(PGSQL_LFLAGS)
-AC_SUBST(PGSQL_INCLUDE)
 
 
 AC_MSG_CHECKING(for mSQL support)
@@ -936,6 +1062,27 @@ AC_SUBST(ORACLE7_LFLAGS)
 AC_SUBST(ORACLE7_INCLUDE)
 ])
   
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi])
+
+
+
+dnl
+dnl ========================================================================
+dnl
+dnl      Old Gnome 1.4 detection code -- deprecated, but still used
+dnl
+dnl ========================================================================
+
 dnl AM_ACLOCAL_INCLUDE(macrodir)
 AC_DEFUN([AM_ACLOCAL_INCLUDE],
 [
@@ -1173,17 +1320,6 @@ AC_DEFUN([GNOME_PTHREAD_CHECK],[
         AC_PROVIDE([GNOME_PTHREAD_CHECK])
 ])
 
-AC_DEFUN(AM_CONDITIONAL,
-[AC_SUBST($1_TRUE)
-AC_SUBST($1_FALSE)
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi])
-
 dnl
 dnl GNOME_GNORBA_HOOK (script-if-gnorba-found, failflag)
 dnl
@@ -1253,3 +1389,69 @@ AC_DEFUN([GNOME_ORBIT_HOOK],[
 AC_DEFUN([GNOME_ORBIT_CHECK], [
         GNOME_ORBIT_HOOK([],failure)
 ])
+dnl
+dnl =========================================================================
+dnl
+
+
+dnl
+dnl =========================================================================
+dnl
+dnl   New package checking stuff
+dnl
+dnl =========================================================================  
+dnl
+dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+dnl also defines GSTUFF_PKG_ERRORS on error
+AC_DEFUN(PKG_CHECK_MODULES, [
+  succeeded=no
+
+  if test -z "$PKG_CONFIG"; then
+    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+  fi
+
+  if test "$PKG_CONFIG" = "no" ; then
+     echo "*** The pkg-config script could not be found. Make sure it is"
+     echo "*** in your path, or set the PKG_CONFIG environment variable"
+     echo "*** to the full path to pkg-config."
+     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+  else
+     PKG_CONFIG_MIN_VERSION=0.9.0
+     if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+        AC_MSG_CHECKING(for $2)
+
+        if $PKG_CONFIG --exists "$2" ; then
+            AC_MSG_RESULT(yes)
+            succeeded=yes
+
+            AC_MSG_CHECKING($1_CFLAGS)
+            $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+            AC_MSG_RESULT($$1_CFLAGS)
+
+            AC_MSG_CHECKING($1_LIBS)
+            $1_LIBS=`$PKG_CONFIG --libs "$2"`
+            AC_MSG_RESULT($$1_LIBS)
+        else
+            $1_CFLAGS=""
+            $1_LIBS=""
+            ## If we have a custom action on failure, don't print errors, but 
+            ## do set a variable so people can do so.
+            $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+            ifelse([$4], ,echo $$1_PKG_ERRORS,)
+        fi
+
+        AC_SUBST($1_CFLAGS)
+        AC_SUBST($1_LIBS)
+     else
+        echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+        echo "*** See http://www.freedesktop.org/software/pkgconfig"
+     fi
+  fi
+
+  if test $succeeded = yes; then
+     ifelse([$3], , :, [$3])
+  else
+     ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
+  fi
+])