diff options
author | Simon van der Linden <svdlinden@src.gnome.org> | 2009-11-07 13:23:53 +0100 |
---|---|---|
committer | Simon van der Linden <svdlinden@src.gnome.org> | 2009-11-07 16:53:16 +0100 |
commit | bfd3100a580b8bea9db25b8bb7443fb8c3dbe1cc (patch) | |
tree | 4323bdeffc424e3f901d0b97d79bc7bea138fb51 | |
parent | 421c03b1c5b69f90c778663df901b45ca3ee8ba5 (diff) | |
download | pygobject-bfd3100a580b8bea9db25b8bb7443fb8c3dbe1cc.tar.gz pygobject-bfd3100a580b8bea9db25b8bb7443fb8c3dbe1cc.tar.xz pygobject-bfd3100a580b8bea9db25b8bb7443fb8c3dbe1cc.zip |
Fix girpository build setup
-rw-r--r-- | configure.ac | 21 | ||||
-rw-r--r-- | girepository/Makefile.am | 13 | ||||
-rw-r--r-- | m4/introspection.m4 | 92 |
3 files changed, 111 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac index 64aeaa5..0bf7610 100644 --- a/configure.ac +++ b/configure.ac @@ -200,14 +200,19 @@ if test -n "$export_dynamic"; then GIOUNIX_LIBS=`echo $GIOUNIX_LIBS | sed -e "s/$export_dynamic//"` fi -dnl gobject_introspection -PKG_CHECK_MODULES(GOBJECT_INTROSPECTION, gobject-introspection-1.0 >= gobject_introspection_required_version, - have_gobject_introspection=true, have_gobject_introspection=false) -AC_SUBST(GOBJECT_INTROSPECTION_CFLAGS) -AC_SUBST(GOBJECT_INTROSPECTION_LIBS) -AM_CONDITIONAL(BUILD_GOBJECT_INTROSPECTION, $have_gobject_introspection) -if test -n "$export_dynamic"; then - GOBJECT_INTROSPECTION_LIBS=`echo $GOBJECT_INTROSPECTION_LIBS | sed -e "s/$export_dynamic//"` +dnl gi +AC_ARG_ENABLE(introspection, + AC_HELP_STRING([--enable-introspection], [Enable gobject-introspection bindings building]), + enable_introspection=$enableval, + enable_introspection=no) +AM_CONDITIONAL(BUILD_GIREPOSITORY, test "$enable_introspection" != no) +if test "$enable_introspection" != no; then + PKG_CHECK_MODULES(GOBJECT_INTROSPECTION, gobject-introspection-1.0 >= gobject_introspection_required_version) + AC_SUBST(GOBJECT_INTROSPECTION_CFLAGS) + AC_SUBST(GOBJECT_INTROSPECTION_LIBS) + if test -n "$export_dynamic"; then + GOBJECT_INTROSPECTION_LIBS=`echo $GOBJECT_INTROSPECTION_LIBS | sed -e "s/$export_dynamic//"` + fi fi dnl add required cflags ... diff --git a/girepository/Makefile.am b/girepository/Makefile.am index c414652..8bdb462 100644 --- a/girepository/Makefile.am +++ b/girepository/Makefile.am @@ -1,17 +1,16 @@ AUTOMAKE_OPTIONS = 1.7 PLATFORM_VERSION = 2.0 +pkgpyexecdir = $(pyexecdir)/gtk-2.0/girepository + +if BUILD_GIREPOSITORY + INCLUDES = \ -I$(top_srcdir)/gobject \ $(PYTHON_INCLUDES) \ $(PYGOBJECT_CFLAGS) \ $(GOBJECT_INTROSPECTION_CFLAGS) -pkginclude_HEADERS = bank.h - -# girepository extension modules -pkgpyexecdir = $(pyexecdir)/gtk-2.0/girepository - # girepository python scripts pygirepositorydir = $(pkgpyexecdir) pygirepository_PYTHON = \ @@ -44,7 +43,6 @@ repo_la_SOURCES = \ bank.c \ bank.h -if BUILD_GOBJECT_INTROSPECTION pygirepository_LTLIBRARIES = repo.la all: $(pygirepository_LTLIBRARIES:.la=.so) @@ -52,4 +50,5 @@ clean-local: rm -f $(pygirepository_LTLIBRARIES:.la=.so) .la.so: $(LN_S) .libs/$@ $@ || true -endif + +endif # BUILD_GIREPOSITORY diff --git a/m4/introspection.m4 b/m4/introspection.m4 new file mode 100644 index 0000000..6e2c565 --- /dev/null +++ b/m4/introspection.m4 @@ -0,0 +1,92 @@ +dnl -*- mode: autoconf -*- +dnl Copyright 2009 Johan Dahlin +dnl +dnl This file is free software; the author(s) gives unlimited +dnl permission to copy and/or distribute it, with or without +dnl modifications, as long as this notice is preserved. +dnl + +# serial 1 + +m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], +[ + AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first + AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first + AC_BEFORE([LT_INIT],[$0])dnl setup libtool first + + dnl enable/disable introspection + m4_if([$2], [require], + [dnl + enable_introspection=yes + ],[dnl + AC_ARG_ENABLE(introspection, + AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], + [Enable introspection for this build]),, + [enable_introspection=auto]) + ])dnl + + AC_MSG_CHECKING([for gobject-introspection]) + + dnl presence/version checking + AS_CASE([$enable_introspection], + [no], [dnl + found_introspection="no (disabled, use --enable-introspection to enable)" + ],dnl + [yes],[dnl + PKG_CHECK_EXISTS([gobject-introspection-1.0],, + AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) + PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], + found_introspection=yes, + AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) + ],dnl + [auto],[dnl + PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no) + ],dnl + [dnl + AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) + ])dnl + + AC_MSG_RESULT([$found_introspection]) + + INTROSPECTION_SCANNER= + INTROSPECTION_COMPILER= + INTROSPECTION_GENERATE= + INTROSPECTION_GIRDIR= + INTROSPECTION_TYPELIBDIR= + if test "x$found_introspection" = "xyes"; then + INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` + INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` + INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` + INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` + INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" + INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` + INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` + fi + AC_SUBST(INTROSPECTION_SCANNER) + AC_SUBST(INTROSPECTION_COMPILER) + AC_SUBST(INTROSPECTION_GENERATE) + AC_SUBST(INTROSPECTION_GIRDIR) + AC_SUBST(INTROSPECTION_TYPELIBDIR) + AC_SUBST(INTROSPECTION_CFLAGS) + AC_SUBST(INTROSPECTION_LIBS) + + AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") +]) + + +dnl Usage: +dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version]) + +AC_DEFUN([GOBJECT_INTROSPECTION_CHECK], +[ + _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1]) +]) + +dnl Usage: +dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version]) + + +AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], +[ + _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) +]) |