summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Schwebel <r.schwebel@pengutronix.de>2010-05-25 12:38:57 +0200
committerRobert Schwebel <r.schwebel@pengutronix.de>2010-06-03 11:15:53 +0200
commitb1181b39830d082f693f45bd827c5534d085b960 (patch)
tree08b7207c85833368d33830f29d3b545e05067962
parent1dd42358fafcaa187a6d312358c6d1c34745f9e9 (diff)
downloadptxdist-b1181b39830d082f693f45bd827c5534d085b960.tar.gz
ptxdist-b1181b39830d082f693f45bd827c5534d085b960.tar.xz
[glib] add experimental glib-2.25.x
Add glib-2.25.x rules to ptxdist. Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
l---------patches/glib-2.25.7/autogen.sh1
-rw-r--r--patches/glib-2.25.7/overwrite-glib-compile-schemas.diff63
-rw-r--r--patches/glib-2.25.7/series1
-rw-r--r--rules/glib.in6
-rw-r--r--rules/glib.make50
-rw-r--r--rules/host-glib.make8
6 files changed, 113 insertions, 16 deletions
diff --git a/patches/glib-2.25.7/autogen.sh b/patches/glib-2.25.7/autogen.sh
new file mode 120000
index 000000000..9f8a4cb7d
--- /dev/null
+++ b/patches/glib-2.25.7/autogen.sh
@@ -0,0 +1 @@
+../autogen.sh \ No newline at end of file
diff --git a/patches/glib-2.25.7/overwrite-glib-compile-schemas.diff b/patches/glib-2.25.7/overwrite-glib-compile-schemas.diff
new file mode 100644
index 000000000..b5976f2e0
--- /dev/null
+++ b/patches/glib-2.25.7/overwrite-glib-compile-schemas.diff
@@ -0,0 +1,63 @@
+From: Robert Schwebel <r.schwebel@pengutronix.de>
+Subject: [patch] fix cross compilation in glib-2.25.7
+
+When we try to cross compile, the build system compiles
+glib-compile-schemas for the "host" system, but tries to run it later on
+the "build" machine.
+
+We make it possible to overwrite the call to the binary during
+configure, similar to what GLIB_GENMARSHAL does.
+
+Signed-of-by: Robert Schwebel <r.schwebel@pengutronix.de>
+
+---
+# rsc: https://bugzilla.gnome.org/show_bug.cgi?id=620174
+
+ configure.in | 13 ++++++++++---
+ gio/tests/Makefile.am | 2 +-
+ 2 files changed, 11 insertions(+), 4 deletions(-)
+
+Index: glib-2.25.7/configure.in
+===================================================================
+--- glib-2.25.7.orig/configure.in
++++ glib-2.25.7/configure.in
+@@ -2731,9 +2731,10 @@ int error = EILSEQ;
+ ], have_eilseq=yes, have_eilseq=no);
+ AC_MSG_RESULT($have_eilseq)
+
+-dnl ******************************************************************
+-dnl *** Look for glib-genmarshal in PATH if we are cross-compiling ***
+-dnl ******************************************************************
++dnl ****************************************************************
++dnl *** Look for glib-genmarshal and glib-compile-schemas in PATH **
++dnl *** if we are cross-compiling **
++dnl ****************************************************************
+
+ AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
+
+@@ -2742,6 +2743,12 @@ if test $cross_compiling = yes; then
+ if test x$GLIB_GENMARSHAL = xno; then
+ AC_MSG_ERROR(Could not find a glib-genmarshal in your PATH)
+ fi
++ AC_PATH_PROG(GLIB_COMPILE_SCHEMAS, glib-compile-schemas, no)
++ if test x$GLIB_COMPILE_SCHEMAS = xno; then
++ AC_MSG_ERROR(Could not find a glib-compile-schemas in your PATH)
++ fi
++else
++ AC_SUBST(GLIB_COMPILE_SCHEMAS,"\$(top_builddir)/gio/glib-compile-schemas")
+ fi
+
+ dnl **************************
+Index: glib-2.25.7/gio/tests/Makefile.am
+===================================================================
+--- glib-2.25.7.orig/gio/tests/Makefile.am
++++ glib-2.25.7/gio/tests/Makefile.am
+@@ -288,7 +288,7 @@ test.mo: de.po
+ cp -f test.mo de/LC_MESSAGES
+
+ gschemas.compiled:
+- $(top_builddir)/gio/glib-compile-schemas --targetdir=$(abs_builddir) $(srcdir)
++ $(GLIB_COMPILE_SCHEMAS) --targetdir=$(abs_builddir) $(srcdir)
+
+ DISTCLEANFILES = \
+ applications/mimeinfo.cache \
diff --git a/patches/glib-2.25.7/series b/patches/glib-2.25.7/series
new file mode 100644
index 000000000..abda33b2e
--- /dev/null
+++ b/patches/glib-2.25.7/series
@@ -0,0 +1 @@
+overwrite-glib-compile-schemas.diff
diff --git a/rules/glib.in b/rules/glib.in
index 91dc7dd39..e80e9a6f4 100644
--- a/rules/glib.in
+++ b/rules/glib.in
@@ -7,6 +7,7 @@ menuconfig GLIB
select GETTEXT_DUMMY if GLIB__GETTEXT_DUMMY
select HOST_GLIB
select ICONV
+ select ZLIB if GLIB_EXPERIMENTAL
help
GLib is a library containing many useful C routines for things
such as trees, hashes, lists, and strings. It is a useful
@@ -15,7 +16,12 @@ menuconfig GLIB
if GLIB
+config GLIB_EXPERIMENTAL
+ bool
+ prompt "experimental version"
+
choice
+
prompt "gettext variant"
default GLIB__GETTEXT_NONE
diff --git a/rules/glib.make b/rules/glib.make
index 203fe9fa4..724bb34c5 100644
--- a/rules/glib.make
+++ b/rules/glib.make
@@ -17,14 +17,22 @@ PACKAGES-$(PTXCONF_GLIB) += glib
#
# Paths and names
#
+ifdef PTXCONF_GLIB_EXPERIMENTAL
+GLIB_VERSION := 2.25.7
+else
GLIB_VERSION := 2.22.2
+endif
GLIB := glib-$(GLIB_VERSION)
GLIB_SUFFIX := tar.bz2
GLIB_SOURCE := $(SRCDIR)/$(GLIB).$(GLIB_SUFFIX)
GLIB_DIR := $(BUILDDIR)/$(GLIB)
+ifdef PTXCONF_GLIB_EXPERIMENTAL
+GLIB_URL := http://ftp.gtk.org/pub/glib/2.25/glib-$(GLIB_VERSION).$(GLIB_SUFFIX)
+else
GLIB_URL := http://ftp.gtk.org/pub/glib/2.22/glib-$(GLIB_VERSION).$(GLIB_SUFFIX)
+endif
# ----------------------------------------------------------------------------
# Get
@@ -52,6 +60,27 @@ GLIB_ENV := \
# is the right choice for no locales and locales-via-libc
#
+ifdef PTXCONF_GLIB_EXPERIMENTAL
+GLIB_AUTOCONF := \
+ $(CROSS_AUTOCONF_USR) \
+ --enable-silent-rules \
+ --enable-debug=minimum \
+ --disable-gc-friendly \
+ --enable-mem-pools \
+ --enable-threads \
+ --with-threads=posix \
+ --disable-rebuilds \
+ --disable-included-printf \
+ --disable-selinux \
+ --disable-fam \
+ --disable-xattr \
+ --disable-gtk-doc \
+ --disable-man \
+ --with-pcre=internal \
+ --enable-static \
+ --enable-shared \
+ --with-libiconv=no
+else
GLIB_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
--enable-threads \
@@ -70,28 +99,17 @@ GLIB_AUTOCONF := \
--with-gnu-ld \
--with-pcre=internal \
--with-libiconv=no
-
-# --enable-debug=[no/minimum/yes]
-# turn on debugging [default=minimum]
-# --disable-mem-pools disable all glib memory pools
-# --disable-rebuilds disable all source autogeneration rules
-# --disable-visibility don't use ELF visibility attributes
-# --disable-largefile omit support for large files
-# --enable-iconv-cache=[yes/no/auto]
-# cache iconv descriptors [default=auto]
-# --disable-regex disable the compilation of GRegex
-#
-# --with-pic try to use only PIC/non-PIC objects [default=use
-# both]
-# --with-gio-module-dir=PATH
-# Load gio modules from this directory
-# [LIBDIR/gio/modules]
+endif
# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------
+ifdef PTXCONF_GLIB_EXPERIMENTAL
+GLIB_LIB_VERSION := 0.2507.0
+else
GLIB_LIB_VERSION := 0.2200.2
+endif
$(STATEDIR)/glib.targetinstall:
@$(call targetinfo)
diff --git a/rules/host-glib.make b/rules/host-glib.make
index 268473f28..aa9a296dd 100644
--- a/rules/host-glib.make
+++ b/rules/host-glib.make
@@ -18,6 +18,14 @@ HOST_PACKAGES-$(PTXCONF_HOST_GLIB) += host-glib
#
HOST_GLIB_DIR = $(HOST_BUILDDIR)/$(GLIB)
+#
+# well, well, what can I say: HACK-warning
+#
+# this way we fool the patching not to patch us
+# and the autogen_dep script, not to run autogen on us
+#
+HOST_GLIB = host-$(GLIB)
+
ifdef PTXCONF_HOST_GLIB
$(STATEDIR)/autogen-tools: $(STATEDIR)/host-glib.install.post
endif