diff options
author | Johan Dahlin <johan@src.gnome.org> | 2005-01-10 16:57:42 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2005-01-10 16:57:42 +0000 |
commit | de73df28b1d7c62133b2799dd6663f7b44444c64 (patch) | |
tree | 53054eb3ba220dd0bc9631a966adea4559a2bf70 | |
parent | d57cd700edb1e5aae421b66612aec9e9821f7f64 (diff) | |
download | pygtk-de73df28b1d7c62133b2799dd6663f7b44444c64.tar.gz |
Make the build of atk, pango and gtk conditional. Fixes bug #74144.
* .cvsignore:
* Makefile.am:
* configure.in:
* gtk/Makefile.am:
* pygtk-2.0.pc.in:
* setup.py:
* tests/common.py:
* tests/testhelpermodule.c: Make the build of
atk, pango and gtk conditional. Fixes bug #74144.
-rw-r--r-- | .cvsignore | 1 | ||||
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | Makefile.am | 23 | ||||
-rw-r--r-- | configure.in | 39 | ||||
-rw-r--r-- | gtk/Makefile.am | 18 | ||||
-rw-r--r-- | pygtk-2.0.pc.in | 2 | ||||
-rwxr-xr-x | setup.py | 2 | ||||
-rw-r--r-- | tests/common.py | 8 | ||||
-rw-r--r-- | tests/testhelpermodule.c | 1 |
9 files changed, 83 insertions, 23 deletions
@@ -29,6 +29,7 @@ stamp-h* *.la *.tar.gz pango.c +pygobject-2.0.pc pygtk-2.0.pc pygtk.spec atk.c @@ -1,5 +1,17 @@ 2005-01-10 Johan Dahlin <johan@gnome.org> + * .cvsignore: + * Makefile.am: + * configure.in: + * gtk/Makefile.am: + * pygtk-2.0.pc.in: + * setup.py: + * tests/common.py: + * tests/testhelpermodule.c: Make the build of + atk, pango and gtk conditional. Fixes bug #74144. + +2005-01-10 Johan Dahlin <johan@gnome.org> + * tests/Makefile.am: * tests/common.py: * tests/runtests.py: diff --git a/Makefile.am b/Makefile.am index 368ffd2c..d0c18abb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,11 @@ # require automake-1.7 AUTOMAKE_OPTIONS = 1.7 -SUBDIRS = codegen gobject . gtk docs examples tests +if BUILD_GTK + GTK_SUBDIR = gtk +endif + +SUBDIRS = codegen gobject . $(GTK_SUBDIR) docs examples tests PLATFORM_VERSION = 2.0 @@ -13,7 +17,9 @@ defsdir = $(pkgdatadir)/$(PLATFORM_VERSION)/defs defs_DATA = pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = pygtk-$(PLATFORM_VERSION).pc +pkgconfig_DATA = \ + pygobject-$(PLATFORM_VERSION).pc \ + pygtk-$(PLATFORM_VERSION).pc INCLUDES = \ $(PYTHON_INCLUDES) \ @@ -30,6 +36,7 @@ COMMONDEFS = \ pkgpythondir = $(pyexecdir)/gtk-2.0 pkgpyexecdir = $(pyexecdir)/gtk-2.0 +pkgpyexec_LTLIBRARIES = # this file is common to all pygtk versions. pyexec_PYTHON = pygtk.py @@ -47,7 +54,15 @@ uninstall-local: pkgpython_PYTHON = dsextras.py -pkgpyexec_LTLIBRARIES = atk.la pango.la +if BUILD_ATK +pkgpyexec_LTLIBRARIES += atk.la +defs_DATA += atk.defs atk-types.defs +endif + +if BUILD_PANGO +pkgpyexec_LTLIBRARIES += pango.la +defs_DATA += pango.defs pango-types.defs +endif common_ldflags = -module -avoid-version if PLATFORM_WIN32 @@ -62,7 +77,6 @@ nodist_pango_la_SOURCES = pango.c pango.c: $(COMMONDEFS) pango.override CLEANFILES += pango.c EXTRA_DIST += pango.override -defs_DATA += pango.defs pango-types.defs # atk module atk_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initatk @@ -72,7 +86,6 @@ nodist_atk_la_SOURCES = atk.c atk.c: $(COMMONDEFS) atk.override CLEANFILES += atk.c EXTRA_DIST += atk.override -defs_DATA += atk.defs atk-types.defs .defs.c: (cd $(srcdir)\ diff --git a/configure.in b/configure.in index 40edf6e7..683ea0c3 100644 --- a/configure.in +++ b/configure.in @@ -16,6 +16,7 @@ m4_define(libglade_required_version, 2.4.0) AC_INIT(pygtk, pygtk_version, [http://bugzilla.gnome.org/enter_bug.cgi?product=pygtk]) +AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I .") AC_DEFINE(PYGTK_MAJOR_VERSION, pygtk_major_version, [PyGtk major version]) AC_SUBST(PYGTK_MAJOR_VERSION, pygtk_major_version) @@ -96,23 +97,29 @@ if test -n "$export_dynamic"; then fi dnl atk -PKG_CHECK_MODULES(ATK, atk >= atk_required_version,,[AC_MSG_ERROR(maybe you want the pygtk-2-4 branch?)]) +PKG_CHECK_MODULES(ATK, atk >= atk_required_version, + build_atk=true, build_atk=false) AC_SUBST(ATK_CFLAGS) AC_SUBST(ATK_LIBS) +AM_CONDITIONAL(BUILD_ATK, $build_atk) if test -n "$export_dynamic"; then ATK_LIBS=`echo $ATK_LIBS | sed -e "s/$export_dynamic//"` fi dnl pango -PKG_CHECK_MODULES(PANGO, pango >= pango_required_version,,[AC_MSG_ERROR(maybe you want the pygtk-2-4 branch?)]) +PKG_CHECK_MODULES(PANGO, pango >= pango_required_version, + build_pango=true, build_pango=false) AC_SUBST(PANGO_CFLAGS) AC_SUBST(PANGO_LIBS) +AM_CONDITIONAL(BUILD_PANGO, $build_pango) if test -n "$export_dynamic"; then PANGO_LIBS=`echo $PANGO_LIBS | sed -e "s/$export_dynamic//"` fi dnl gtk+ -AM_PATH_GTK_2_0(gtk_required_version,,[AC_MSG_ERROR(maybe you want the pygtk-2-4 branch?)],$extra_mods) +AM_PATH_GTK_2_0(gtk_required_version, + build_gtk=true, build_gtk=false) +AM_CONDITIONAL(BUILD_GTK, $build_gtk) if test -n "$export_dynamic"; then GTK_LIBS=`echo $GTK_LIBS | sed -e "s/$export_dynamic//"` fi @@ -130,10 +137,8 @@ else fi dnl libglade -build_libglade=false PKG_CHECK_MODULES(LIBGLADE, libglade-2.0 >= libglade_required_version, - build_libglade=true, - build_libglade=false) + build_libglade=true, build_libglade=false) AC_SUBST(LIBGLADE_CFLAGS) AC_SUBST(LIBGLADE_LIBS) AM_CONDITIONAL(BUILD_LIBGLADE, $build_libglade) @@ -141,7 +146,6 @@ if test -n "$export_dynamic"; then LIBGLADE_LIBS=`echo $LIBGLADE_LIBS | sed -e "s/$export_dynamic//"` fi - AC_ARG_ENABLE(numpy, AC_HELP_STRING([--disable-numpy], [Disable numeric python features]),, enable_numpy=yes) @@ -163,6 +167,7 @@ JH_ADD_CFLAG([-fno-strict-aliasing]) AC_CONFIG_FILES( Makefile + pygobject-2.0.pc pygtk-2.0.pc codegen/Makefile gobject/Makefile @@ -176,3 +181,23 @@ AC_CONFIG_FILES( AC_OUTPUT +echo +echo "The following modules will be built:" +echo +true && echo gobject +$build_atk && echo atk +$build_pango && echo pango +$build_gtk && echo gtk +$build_libglade && echo gtk.glade +echo + +if test ! $build_atk || ! $build_pango \ + ! $build_gtk !! ! $build_gtk; then + echo "The following modules will NOT be built:" + echo + $build_atk || echo atk + $build_pango || echo pango + $build_gtk || echo gtk + $build_libglade || echo gtk.glade +fi + diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 6b07c6f3..f72e3cdd 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -28,7 +28,16 @@ common_ldflags += -no-undefined endif # gtk module +if BUILD_GTK pygtkexec_LTLIBRARIES = _gtk.la +defs_DATA += \ + gtk.defs \ + gtk-types.defs \ + gtk-extrafuncs.defs \ + gdk.defs \ + gdk-types.defs +endif + _gtk_la_CFLAGS = $(GTK_CFLAGS) _gtk_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_gtk _gtk_la_LIBADD = $(GTK_LIBS) @@ -70,18 +79,12 @@ gdk.c: $(srcdir)/gdk.defs $(COMMONDEFS) $(srcdir)/gdk.override gtk.c: $(srcdir)/gtk.defs $(COMMONDEFS) $(gtk_overrides) $(srcdir)/gtk-extrafuncs.defs CLEANFILES += gtk.c gdk.c -defs_DATA += \ - gtk.defs \ - gtk-types.defs \ - gtk-extrafuncs.defs \ - gdk.defs \ - gdk-types.defs - EXTRA_DIST += gdk.override $(gtk_overrides) # libglade module if BUILD_LIBGLADE pygtkexec_LTLIBRARIES += glade.la +defs_DATA += libglade.defs endif glade_la_CFLAGS = $(LIBGLADE_CFLAGS) glade_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initglade @@ -90,7 +93,6 @@ glade_la_SOURCES = libglademodule.c nodist_glade_la_SOURCES = libglade.c libglade.c: $(COMMONDEFS) libglade.override CLEANFILES += libglade.c -defs_DATA += libglade.defs EXTRA_DIST += libglade.override .defs.c: diff --git a/pygtk-2.0.pc.in b/pygtk-2.0.pc.in index 799d0933..1c517efd 100644 --- a/pygtk-2.0.pc.in +++ b/pygtk-2.0.pc.in @@ -15,6 +15,6 @@ codegendir=${datadir}/pygtk/2.0/codegen Name: PyGTK Description: Python bindings for GTK+ and related libraries -Requires: gobject-2.0 +Requires: pygobject-2.0 Version: @VERSION@ Cflags: -I${pygtkincludedir} @THREADING_CFLAGS@ @@ -77,6 +77,8 @@ class PyGtkInstallLib(InstallLib): InstallLib.run(self) + self.install_template('pygobject-2.0.pc.in', + os.path.join(self.libdir, 'pkgconfig')) def install_pth(self): """Write the pygtk.pth file""" file = os.path.join(self.install_dir, 'pygtk.pth') diff --git a/tests/common.py b/tests/common.py index 9429579a..64fc6f42 100644 --- a/tests/common.py +++ b/tests/common.py @@ -41,6 +41,7 @@ def importModules(buildDir, srcDir): def importModule(module, directory, name=None): global isDistCheck + origName = module if '.' in module: fromlist = '.'.join(module.split('.')[:-1]) else: @@ -49,7 +50,12 @@ def importModule(module, directory, name=None): if not name: name = module + '.la' - obj = __import__(module, {}, {}, fromlist) + try: + obj = __import__(module, {}, {}, fromlist) + except ImportError: + print 'WARNING: %s could not be imported' % origName + return + if hasattr(obj, '__file__'): location = obj.__file__ else: diff --git a/tests/testhelpermodule.c b/tests/testhelpermodule.c index 791fe543..cb9a9913 100644 --- a/tests/testhelpermodule.c +++ b/tests/testhelpermodule.c @@ -1,6 +1,5 @@ #include "pygobject.h" #include <gobject/gmarshal.h> -#include <gtk/gtk.h> #include "test-thread.h" #include "test-unknown.h" |