summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2005-01-10 16:57:42 +0000
committerJohan Dahlin <johan@src.gnome.org>2005-01-10 16:57:42 +0000
commitde73df28b1d7c62133b2799dd6663f7b44444c64 (patch)
tree53054eb3ba220dd0bc9631a966adea4559a2bf70
parentd57cd700edb1e5aae421b66612aec9e9821f7f64 (diff)
downloadpygtk-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--.cvsignore1
-rw-r--r--ChangeLog12
-rw-r--r--Makefile.am23
-rw-r--r--configure.in39
-rw-r--r--gtk/Makefile.am18
-rw-r--r--pygtk-2.0.pc.in2
-rwxr-xr-xsetup.py2
-rw-r--r--tests/common.py8
-rw-r--r--tests/testhelpermodule.c1
9 files changed, 83 insertions, 23 deletions
diff --git a/.cvsignore b/.cvsignore
index 63664037..672841a9 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -29,6 +29,7 @@ stamp-h*
*.la
*.tar.gz
pango.c
+pygobject-2.0.pc
pygtk-2.0.pc
pygtk.spec
atk.c
diff --git a/ChangeLog b/ChangeLog
index f878b8e7..98608305 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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@
diff --git a/setup.py b/setup.py
index 701a2ab6..06ba1613 100755
--- a/setup.py
+++ b/setup.py
@@ -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"