summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/aclocal.m456
-rw-r--r--source4/build/smb_build/public.m448
-rw-r--r--source4/lib/registry/config.m425
3 files changed, 64 insertions, 65 deletions
diff --git a/source4/aclocal.m4 b/source4/aclocal.m4
index 5d0d11cd58..4f42b50f84 100644
--- a/source4/aclocal.m4
+++ b/source4/aclocal.m4
@@ -624,61 +624,5 @@ AC_DEFUN([AC_DISABLE_STATIC],
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_STATIC(no)])
-
-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
-])
-
sinclude(build/smb_build/public.m4)
sinclude(build/smb_build/core.m4)
diff --git a/source4/build/smb_build/public.m4 b/source4/build/smb_build/public.m4
index 9bfcd549b8..839c16f1a9 100644
--- a/source4/build/smb_build/public.m4
+++ b/source4/build/smb_build/public.m4
@@ -47,6 +47,11 @@ dnl 1:name,
dnl 2:default_build
dnl )
dnl
+dnl SMB_EXT_LIB_FROM_PKGCONFIG(
+dnl 1:name,
+dnl 2:pkg-config name
+dnl )
+dnl
dnl SMB_EXT_LIB(
dnl 1:name,
dnl 2:libs,
@@ -265,6 +270,49 @@ AC_DEFUN([SMB_EXT_LIB_ENABLE],
[SMB_EXT_LIB_ENABLE_][$1]="$2"
])
+dnl SMB_EXT_LIB_FROM_PKGCONFIG(
+dnl 1:name,
+dnl 2:pkg-config name
+dnl )
+AC_DEFUN([SMB_EXT_LIB_FROM_PKGCONFIG],
+[
+ dnl Figure out the correct variables and call SMB_EXT_LIB()
+
+ 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
+ if $PKG_CONFIG --atleast-pkgconfig-version 0.9.0; then
+ AC_MSG_CHECKING(for $2)
+
+ if $PKG_CONFIG --exists "$2" ; then
+ AC_MSG_RESULT(yes)
+
+ SMB_EXT_LIB_ENABLE($1, YES)
+ SMB_EXT_LIB($1, [`$PKG_CONFIG --libs-only-l $2`],
+ [`$PKG_CONFIG --cflags-only-other $2`],
+ [`$PKG_CONFIG --cflags-only-I $2`],
+ [`$PKG_CONFIG --libs-only-other $2`])
+
+ # FIXME: Dirty hack
+ CFLAGS="$CFLAGS `$PKG_CONFIG --cflags $2`"
+ else
+ AC_MSG_RESULT(no)
+ $PKG_CONFIG --errors-to-stdout --print-errors $2
+ fi
+ 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
+])
+
dnl SMB_EXT_LIB(
dnl 1:name,
dnl 2:libs,
diff --git a/source4/lib/registry/config.m4 b/source4/lib/registry/config.m4
index 7aafd2af71..da2c84d5c6 100644
--- a/source4/lib/registry/config.m4
+++ b/source4/lib/registry/config.m4
@@ -5,22 +5,28 @@ if test t$BLDSHARED = ttrue; then
fi
LIBWINREG=libwinregistry
-#disable registry_gconf for now
-PKG_CHECK_MODULES(GCONF, gconf-2.0, [ SMB_MODULE_DEFAULT(registry_gconf,NOT)
- CFLAGS="$CFLAGS $GCONF_CFLAGS";], [AC_MSG_WARN([GConf not found, not building registry_gconf])])
AC_CONFIG_FILES(lib/registry/winregistry.pc)
-SMB_BINARY_ENABLE(gregedit,NO)
+SMB_BINARY_ENABLE(gregedit, NO)
+SMB_MODULE_DEFAULT(registry_gconf, NOT)
-#disable grpedit for now
-PKG_CHECK_MODULES(GTK, glib-2.0 gtk+-2.0, [ SMB_BINARY_ENABLE(gregedit,NO)
- CFLAGS="$CFLAGS $GTK_CFLAGS"; ], [ AC_MSG_WARN([Will be unable to build gregedit])])
+SMB_EXT_LIB_FROM_PKGCONFIG(gconf, gconf-2.0)
+
+if test t$SMB_EXT_LIB_ENABLE_gconf = tYES; then
+ SMB_MODULE_DEFAULT(registry_gconf, STATIC)
+fi
+
+SMB_EXT_LIB_FROM_PKGCONFIG(gtk, [glib-2.0 gtk+-2.0])
+
+if test t$SMB_EXT_LIB_ENABLE_gtk = tYES; then
+ SMB_BINARY_ENABLE(gregedit, YES)
+fi
SMB_MODULE(registry_nt4, REGISTRY, STATIC, lib/registry/reg_backend_nt4/reg_backend_nt4.o)
SMB_MODULE(registry_w95, REGISTRY, STATIC, lib/registry/reg_backend_w95/reg_backend_w95.o)
SMB_MODULE(registry_dir, REGISTRY, STATIC, lib/registry/reg_backend_dir/reg_backend_dir.o)
SMB_MODULE(registry_rpc, REGISTRY, STATIC, lib/registry/reg_backend_rpc/reg_backend_rpc.o,[],[],[LIBSMB])
-SMB_MODULE(registry_gconf, REGISTRY, NOT, lib/registry/reg_backend_gconf/reg_backend_gconf.o)
+SMB_MODULE(registry_gconf, REGISTRY, STATIC, lib/registry/reg_backend_gconf/reg_backend_gconf.o, [], [gconf])
SMB_MODULE(registry_ldb, REGISTRY, NOT, lib/registry/reg_backend_ldb/reg_backend_ldb.o,[],[],[LIBLDB])
SMB_SUBSYSTEM(REGISTRY,lib/registry/common/reg_interface.o,
[lib/registry/common/reg_objects.o lib/registry/common/reg_util.o],
@@ -31,4 +37,5 @@ SMB_BINARY(regdiff, [REG], [BIN], lib/registry/tools/regdiff.o,[],[CONFIG LIBBAS
SMB_BINARY(regpatch, [REG], [BIN], lib/registry/tools/regpatch.o,[],[CONFIG LIBBASIC LIBCMDLINE REGISTRY])
SMB_BINARY(regshell, [REG], [BIN], lib/registry/tools/regshell.o,[],[CONFIG LIBBASIC LIBCMDLINE REGISTRY])
SMB_BINARY(regtree, [REG], [BIN], lib/registry/tools/regtree.o,[],[CONFIG LIBBASIC LIBCMDLINE REGISTRY])
-SMB_BINARY(gregedit, [REG], [BIN], lib/registry/tools/gregedit.o,[],[CONFIG LIBBASIC LIBCMDLINE REGISTRY])
+SMB_BINARY(gregedit, [REG], [BIN], lib/registry/tools/gregedit.o,[gtk],[CONFIG LIBBASIC LIBCMDLINE REGISTRY])
+