* [Buildroot] [PATCH 1/5] aircrack-ng: disable on non-MMU systems
2013-03-09 18:21 [Buildroot] Some misc fixes and improvements Thomas Petazzoni
@ 2013-03-09 18:21 ` Thomas Petazzoni
2013-03-09 20:11 ` Peter Korsgaard
2013-03-09 18:21 ` [Buildroot] [PATCH 2/5] alsa-lib: fix noMMU build Thomas Petazzoni
` (3 subsequent siblings)
4 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2013-03-09 18:21 UTC (permalink / raw)
To: buildroot
aircrack-ng uses fork() and therefore fails to build on non-MMU
systems:
aircrack-ng.o: In function `_clean_exit':
aircrack-ng.c:(.text+0x555c): undefined reference to `_fork'
collect2: ld returned 1 exit status
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/aircrack-ng/Config.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/aircrack-ng/Config.in b/package/aircrack-ng/Config.in
index 419f991..319b7c4 100644
--- a/package/aircrack-ng/Config.in
+++ b/package/aircrack-ng/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_AIRCRACK_NG
bool "aircrack-ng"
depends on BR2_LARGEFILE
+ depends on BR2_USE_MMU # uses fork()
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_IW # runtime
help
--
1.7.9.5
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH 2/5] alsa-lib: fix noMMU build
2013-03-09 18:21 [Buildroot] Some misc fixes and improvements Thomas Petazzoni
2013-03-09 18:21 ` [Buildroot] [PATCH 1/5] aircrack-ng: disable on non-MMU systems Thomas Petazzoni
@ 2013-03-09 18:21 ` Thomas Petazzoni
2013-03-09 20:15 ` Peter Korsgaard
2013-03-09 18:21 ` [Buildroot] [PATCH 3/5] libglib2: don't build tests Thomas Petazzoni
` (2 subsequent siblings)
4 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2013-03-09 18:21 UTC (permalink / raw)
To: buildroot
Add a patch to use vfork() instead of fork().
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/alsa-lib/alsa-lib-no-mmu.patch | 44 ++++++++++++++++++++++++++++++++
package/alsa-lib/alsa-lib.mk | 1 +
2 files changed, 45 insertions(+)
create mode 100644 package/alsa-lib/alsa-lib-no-mmu.patch
diff --git a/package/alsa-lib/alsa-lib-no-mmu.patch b/package/alsa-lib/alsa-lib-no-mmu.patch
new file mode 100644
index 0000000..317676a
--- /dev/null
+++ b/package/alsa-lib/alsa-lib-no-mmu.patch
@@ -0,0 +1,44 @@
+Don't use fork() on noMMU platforms
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: alsa-lib-1.0.26/configure.in
+===================================================================
+--- alsa-lib-1.0.26.orig/configure.in 2012-09-06 10:55:14.000000000 +0200
++++ alsa-lib-1.0.26/configure.in 2013-03-09 16:22:08.000000000 +0100
+@@ -66,6 +66,8 @@
+ AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes])
+ AC_CHECK_FUNCS([uselocale])
+
++AC_CHECK_FUNC([fork])
++
+ SAVE_LIBRARY_VERSION
+ AC_SUBST(LIBTOOL_VERSION_INFO)
+
+Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c
+===================================================================
+--- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c 2012-09-06 10:55:14.000000000 +0200
++++ alsa-lib-1.0.26/src/pcm/pcm_direct.c 2013-03-09 16:22:51.000000000 +0100
+@@ -424,13 +424,21 @@
+ close(dmix->server_fd);
+ return ret;
+ }
+-
++
++#ifdef HAVE_FORK
+ ret = fork();
++#else
++ ret = vfork();
++#endif
+ if (ret < 0) {
+ close(dmix->server_fd);
+ return ret;
+ } else if (ret == 0) {
++#ifdef HAVE_FORK
+ ret = fork();
++#else
++ ret = vfork();
++#endif
+ if (ret == 0)
+ server_job(dmix);
+ _exit(EXIT_SUCCESS);
diff --git a/package/alsa-lib/alsa-lib.mk b/package/alsa-lib/alsa-lib.mk
index ba222db..2856407 100644
--- a/package/alsa-lib/alsa-lib.mk
+++ b/package/alsa-lib/alsa-lib.mk
@@ -11,6 +11,7 @@ ALSA_LIB_LICENSE = LGPLv2.1+
ALSA_LIB_LICENSE_FILES = COPYING
ALSA_LIB_INSTALL_STAGING = YES
ALSA_LIB_CFLAGS=$(TARGET_CFLAGS)
+ALSA_LIB_AUTORECONF = YES
ALSA_LIB_CONF_OPT = --with-alsa-devdir=$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_DEVDIR)) \
--with-pcm-plugins="$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS))" \
--with-ctl-plugins="$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS))" \
--
1.7.9.5
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH 2/5] alsa-lib: fix noMMU build
2013-03-09 18:21 ` [Buildroot] [PATCH 2/5] alsa-lib: fix noMMU build Thomas Petazzoni
@ 2013-03-09 20:15 ` Peter Korsgaard
2013-03-10 10:48 ` Thomas Petazzoni
0 siblings, 1 reply; 12+ messages in thread
From: Peter Korsgaard @ 2013-03-09 20:15 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> Add a patch to use vfork() instead of fork().
Thomas> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas> ---
Thomas> package/alsa-lib/alsa-lib-no-mmu.patch | 44 ++++++++++++++++++++++++++++++++
Thomas> package/alsa-lib/alsa-lib.mk | 1 +
Thomas> 2 files changed, 45 insertions(+)
Thomas> create mode 100644 package/alsa-lib/alsa-lib-no-mmu.patch
Thomas> diff --git a/package/alsa-lib/alsa-lib-no-mmu.patch b/package/alsa-lib/alsa-lib-no-mmu.patch
Thomas> new file mode 100644
Thomas> index 0000000..317676a
Thomas> --- /dev/null
Thomas> +++ b/package/alsa-lib/alsa-lib-no-mmu.patch
Thomas> @@ -0,0 +1,44 @@
Thomas> +Don't use fork() on noMMU platforms
Thomas> +
Thomas> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas> +
Thomas> +Index: alsa-lib-1.0.26/configure.in
Thomas> +===================================================================
Thomas> +--- alsa-lib-1.0.26.orig/configure.in 2012-09-06 10:55:14.000000000 +0200
Thomas> ++++ alsa-lib-1.0.26/configure.in 2013-03-09 16:22:08.000000000 +0100
Thomas> +@@ -66,6 +66,8 @@
Thomas> + AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes])
Thomas> + AC_CHECK_FUNCS([uselocale])
Thomas> +
Thomas> ++AC_CHECK_FUNC([fork])
Thomas> ++
Thomas> + SAVE_LIBRARY_VERSION
Thomas> + AC_SUBST(LIBTOOL_VERSION_INFO)
Thomas> +
Thomas> +Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c
Thomas> +===================================================================
Thomas> +--- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c 2012-09-06 10:55:14.000000000 +0200
Thomas> ++++ alsa-lib-1.0.26/src/pcm/pcm_direct.c 2013-03-09 16:22:51.000000000 +0100
Thomas> +@@ -424,13 +424,21 @@
Thomas> + close(dmix->server_fd);
Thomas> + return ret;
Thomas> + }
Thomas> +-
Thomas> ++
Thomas> ++#ifdef HAVE_FORK
Thomas> + ret = fork();
Thomas> ++#else
Thomas> ++ ret = vfork();
Are you sending this upstream? What's the reason for the HAVE_FORK
check? Why not just always use vfork() instead? That should work fine on
mmu as well (and be a tiny bit faster).
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 2/5] alsa-lib: fix noMMU build
2013-03-09 20:15 ` Peter Korsgaard
@ 2013-03-10 10:48 ` Thomas Petazzoni
2013-03-10 20:23 ` Peter Korsgaard
0 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2013-03-10 10:48 UTC (permalink / raw)
To: buildroot
Dear Peter Korsgaard,
On Sat, 09 Mar 2013 21:15:33 +0100, Peter Korsgaard wrote:
> Are you sending this upstream? What's the reason for the HAVE_FORK
> check? Why not just always use vfork() instead? That should work fine on
> mmu as well (and be a tiny bit faster).
I could possibly send this upstream, yes. The reason to use HAVE_FORK
is to not change the MMU code, which probably is going to make the
patch easier to get merged upstream, and also because that's the way
the Blackfin people handled the problem.
Best regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 2/5] alsa-lib: fix noMMU build
2013-03-10 10:48 ` Thomas Petazzoni
@ 2013-03-10 20:23 ` Peter Korsgaard
0 siblings, 0 replies; 12+ messages in thread
From: Peter Korsgaard @ 2013-03-10 20:23 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> Dear Peter Korsgaard,
Thomas> On Sat, 09 Mar 2013 21:15:33 +0100, Peter Korsgaard wrote:
>> Are you sending this upstream? What's the reason for the HAVE_FORK
>> check? Why not just always use vfork() instead? That should work fine on
>> mmu as well (and be a tiny bit faster).
Thomas> I could possibly send this upstream, yes. The reason to use
Thomas> HAVE_FORK is to not change the MMU code, which probably is
Thomas> going to make the patch easier to get merged upstream, and also
Thomas> because that's the way the Blackfin people handled the problem.
I would say just the opposite. As you know, you have to be careful
(because parent/child is sharing memory) when you convert from fork to
vfork, so as a maintainer I wouldn't like to only do it for a very small
subset of machines (that he probably cannot easily test himself).
Either the conversion is correct, and should be done for everyone so it
keeps working or it shouldn't be done.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 3/5] libglib2: don't build tests
2013-03-09 18:21 [Buildroot] Some misc fixes and improvements Thomas Petazzoni
2013-03-09 18:21 ` [Buildroot] [PATCH 1/5] aircrack-ng: disable on non-MMU systems Thomas Petazzoni
2013-03-09 18:21 ` [Buildroot] [PATCH 2/5] alsa-lib: fix noMMU build Thomas Petazzoni
@ 2013-03-09 18:21 ` Thomas Petazzoni
2013-03-09 20:17 ` Peter Korsgaard
2013-03-09 18:21 ` [Buildroot] [PATCH 4/5] libglib2: fix noMMU build Thomas Petazzoni
2013-03-09 18:21 ` [Buildroot] [PATCH 5/5] libglib2: use system pcre when available Thomas Petazzoni
4 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2013-03-09 18:21 UTC (permalink / raw)
To: buildroot
Add a patch that provides an additional --disable-tests option to the
configure script.
Disabling the build of tests has two benefits:
* Prevents the build of a lot of code that doesn't build on noMMU
platforms.
* Reduces the build time.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/libglib2/libglib2-no-tests.patch | 117 ++++++++++++++++++++++++++++++
package/libglib2/libglib2.mk | 7 +-
2 files changed, 123 insertions(+), 1 deletion(-)
create mode 100644 package/libglib2/libglib2-no-tests.patch
diff --git a/package/libglib2/libglib2-no-tests.patch b/package/libglib2/libglib2-no-tests.patch
new file mode 100644
index 0000000..81b5af2
--- /dev/null
+++ b/package/libglib2/libglib2-no-tests.patch
@@ -0,0 +1,117 @@
+Add a --disable-tests option to the configure script
+
+Disabling the build of tests has two benefits:
+ * Prevents the build of a lot of code that doesn't build on noMMU
+ platforms.
+ * Reduces the build time.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: libglib2-2.30.3/Makefile.am
+===================================================================
+--- libglib2-2.30.3.orig/Makefile.am 2012-03-11 22:43:28.000000000 +0100
++++ libglib2-2.30.3/Makefile.am 2013-03-09 17:32:01.000000000 +0100
+@@ -6,7 +6,11 @@
+
+ ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS}
+
+-SUBDIRS = . m4macros glib gmodule gthread gobject gio tests po docs
++if BUILD_TESTS
++TEST_SUBDIR = tests
++endif
++
++SUBDIRS = . m4macros glib gmodule gthread gobject gio $(TEST_SUBDIR) po docs
+ DIST_SUBDIRS = $(SUBDIRS) build
+
+ bin_SCRIPTS = glib-gettextize
+Index: libglib2-2.30.3/gio/Makefile.am
+===================================================================
+--- libglib2-2.30.3.orig/gio/Makefile.am 2012-03-11 22:44:19.000000000 +0100
++++ libglib2-2.30.3/gio/Makefile.am 2013-03-09 17:32:38.000000000 +0100
+@@ -282,7 +282,11 @@
+
+ endif
+
+-SUBDIRS += tests
++if BUILD_TESTS
++TEST_SUBDIR = tests
++endif
++
++SUBDIRS += $(TEST_SUBDIR)
+
+ libgio_2_0_la_SOURCES = \
+ gappinfo.c \
+Index: libglib2-2.30.3/configure.ac
+===================================================================
+--- libglib2-2.30.3.orig/configure.ac 2013-03-09 17:30:55.000000000 +0100
++++ libglib2-2.30.3/configure.ac 2013-03-09 17:37:27.000000000 +0100
+@@ -234,11 +234,18 @@
+ [AC_HELP_STRING([--disable-rebuilds],
+ [disable all source autogeneration rules])],,
+ [enable_rebuilds=yes])
++AC_ARG_ENABLE(tests,
++ [AC_HELP_STRING([--disable-tests],
++ [disable all tests])],
++ enable_tests=${enableval},
++ enable_tests=yes)
+
+ if test "x$enable_threads" != "xyes"; then
+ enable_threads=no
+ fi
+
++AM_CONDITIONAL(BUILD_TESTS, [test x$enable_tests = xyes])
++
+ AC_MSG_CHECKING([whether to enable garbage collector friendliness])
+ if test "x$enable_gc_friendly" = "xyes"; then
+ AC_DEFINE(ENABLE_GC_FRIENDLY_DEFAULT, 1, [Whether to enable GC friendliness by default])
+Index: libglib2-2.30.3/glib/Makefile.am
+===================================================================
+--- libglib2-2.30.3.orig/glib/Makefile.am 2012-03-11 22:43:28.000000000 +0100
++++ libglib2-2.30.3/glib/Makefile.am 2013-03-09 18:02:59.000000000 +0100
+@@ -42,7 +42,11 @@
+ gregex_h =
+ endif
+
+-SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
++if BUILD_TESTS
++TEST_SUBDIR = tests
++endif
++
++SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . $(TEST_SUBDIR)
+
+ DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
+
+Index: libglib2-2.30.3/gobject/Makefile.am
+===================================================================
+--- libglib2-2.30.3.orig/gobject/Makefile.am 2012-03-11 22:43:29.000000000 +0100
++++ libglib2-2.30.3/gobject/Makefile.am 2013-03-09 18:03:40.000000000 +0100
+@@ -4,7 +4,11 @@
+ ## Process this file with automake to produce Makefile.in
+ include $(top_srcdir)/Makefile.decl
+
+-SUBDIRS = . tests
++if BUILD_TESTS
++TEST_SUBDIR = tests
++endif
++
++SUBDIRS = . $(TEST_SUBDIR)
+
+ BUILT_SOURCES=
+ CLEANFILES=
+Index: libglib2-2.30.3/gthread/Makefile.am
+===================================================================
+--- libglib2-2.30.3.orig/gthread/Makefile.am 2012-03-11 22:43:29.000000000 +0100
++++ libglib2-2.30.3/gthread/Makefile.am 2013-03-09 18:04:16.000000000 +0100
+@@ -1,7 +1,11 @@
+ ## Process this file with automake to produce Makefile.in
+ include $(top_srcdir)/Makefile.decl
+
+-SUBDIRS = . tests
++if BUILD_TESTS
++TEST_SUBDIR = tests
++endif
++
++SUBDIRS = . $(TEST_SUBDIR)
+ DIST_SUBDIRS = tests
+
+ AM_CPPFLAGS = \
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index 278e635..b108b89 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -9,6 +9,8 @@ LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).$(LIBGLIB2_VERSION_MINOR)
LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz
LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
+LIBGLIB2_AUTORECONF = YES
+HOST_LIBGLIB2_AUTORECONF = YES
LIBGLIB2_INSTALL_STAGING = YES
LIBGLIB2_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
@@ -61,7 +63,10 @@ HOST_LIBGLIB2_CONF_OPT = \
--enable-debug=no \
--disable-dtrace \
--disable-systemtap \
- --disable-gcov
+ --disable-gcov \
+ --disable-tests
+
+LIBGLIB2_CONF_OPT += --disable-tests
LIBGLIB2_DEPENDENCIES = host-pkgconf host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext)
--
1.7.9.5
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH 4/5] libglib2: fix noMMU build
2013-03-09 18:21 [Buildroot] Some misc fixes and improvements Thomas Petazzoni
` (2 preceding siblings ...)
2013-03-09 18:21 ` [Buildroot] [PATCH 3/5] libglib2: don't build tests Thomas Petazzoni
@ 2013-03-09 18:21 ` Thomas Petazzoni
2013-03-09 18:21 ` [Buildroot] [PATCH 5/5] libglib2: use system pcre when available Thomas Petazzoni
4 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni @ 2013-03-09 18:21 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/libglib2/libglib2-nommu.patch | 109 +++++++++++++++++++++++++++++++++
1 file changed, 109 insertions(+)
create mode 100644 package/libglib2/libglib2-nommu.patch
diff --git a/package/libglib2/libglib2-nommu.patch b/package/libglib2/libglib2-nommu.patch
new file mode 100644
index 0000000..364dbe9
--- /dev/null
+++ b/package/libglib2/libglib2-nommu.patch
@@ -0,0 +1,109 @@
+Fix build on noMMU platforms
+
+Use vfork() instead fork() on noMMU platforms.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: libglib2-2.30.3/configure.ac
+===================================================================
+--- libglib2-2.30.3.orig/configure.ac 2013-03-09 17:25:38.000000000 +0100
++++ libglib2-2.30.3/configure.ac 2013-03-09 17:30:55.000000000 +0100
+@@ -578,7 +578,7 @@
+ # Checks for library functions.
+ AC_FUNC_VPRINTF
+ AC_FUNC_ALLOCA
+-AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2)
++AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2 fork)
+ AC_CHECK_FUNCS(atexit on_exit timegm gmtime_r)
+
+ dnl don't use AC_CHECK_FUNCS here, otherwise HAVE_QSORT_R will
+Index: libglib2-2.30.3/gio/libasyncns/asyncns.c
+===================================================================
+--- libglib2-2.30.3.orig/gio/libasyncns/asyncns.c 2013-03-09 17:25:38.000000000 +0100
++++ libglib2-2.30.3/gio/libasyncns/asyncns.c 2013-03-09 17:30:55.000000000 +0100
+@@ -804,8 +804,13 @@
+ for (asyncns->valid_workers = 0; asyncns->valid_workers < n_proc; asyncns->valid_workers++) {
+
+ #ifndef HAVE_PTHREAD
++#ifdef HAVE_FORK
+ if ((asyncns->workers[asyncns->valid_workers] = fork()) < 0)
+ goto fail;
++#else
++ if ((asyncns->workers[asyncns->valid_workers] = vfork()) < 0)
++ goto fail;
++#endif
+ else if (asyncns->workers[asyncns->valid_workers] == 0) {
+ int ret;
+
+Index: libglib2-2.30.3/glib/gbacktrace.c
+===================================================================
+--- libglib2-2.30.3.orig/glib/gbacktrace.c 2013-03-09 17:25:38.000000000 +0100
++++ libglib2-2.30.3/glib/gbacktrace.c 2013-03-09 17:30:55.000000000 +0100
+@@ -240,7 +240,11 @@
+ args[1] = (gchar*) prg_name;
+ args[2] = buf;
+
++#ifdef HAVE_FORK
+ pid = fork ();
++#else
++ pid = vfork ();
++#endif
+ if (pid == 0)
+ {
+ stack_trace (args);
+@@ -293,7 +297,11 @@
+ _exit (0);
+ }
+
++#ifdef HAVE_FORK
+ pid = fork ();
++#else
++ pid = vfork ();
++#endif
+ if (pid == 0)
+ {
+ close (0); dup (in_fd[0]); /* set the stdin to the in pipe */
+Index: libglib2-2.30.3/glib/gspawn.c
+===================================================================
+--- libglib2-2.30.3.orig/glib/gspawn.c 2013-03-09 17:25:38.000000000 +0100
++++ libglib2-2.30.3/glib/gspawn.c 2013-03-09 17:30:55.000000000 +0100
+@@ -1228,7 +1228,11 @@
+ if (standard_error && !make_pipe (stderr_pipe, error))
+ goto cleanup_and_fail;
+
++#ifdef HAVE_FORK
+ pid = fork ();
++#else
++ pid = vfork ();
++#endif
+
+ if (pid < 0)
+ {
+@@ -1278,7 +1282,11 @@
+ */
+ GPid grandchild_pid;
+
++#ifdef HAVE_FORK
+ grandchild_pid = fork ();
++#else
++ grandchild_pid = vfork ();
++#endif
+
+ if (grandchild_pid < 0)
+ {
+Index: libglib2-2.30.3/glib/gtestutils.c
+===================================================================
+--- libglib2-2.30.3.orig/glib/gtestutils.c 2013-03-09 17:25:38.000000000 +0100
++++ libglib2-2.30.3/glib/gtestutils.c 2013-03-09 17:30:55.000000000 +0100
+@@ -1716,7 +1716,11 @@
+ if (pipe (stdout_pipe) < 0 || pipe (stderr_pipe) < 0 || pipe (stdtst_pipe) < 0)
+ g_error ("failed to create pipes to fork test program: %s", g_strerror (errno));
+ signal (SIGCHLD, SIG_DFL);
++#ifdef HAVE_FORK
+ test_trap_last_pid = fork ();
++#else
++ test_trap_last_pid = vfork ();
++#endif
+ if (test_trap_last_pid < 0)
+ g_error ("failed to fork test program: %s", g_strerror (errno));
+ if (test_trap_last_pid == 0) /* child */
--
1.7.9.5
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH 5/5] libglib2: use system pcre when available
2013-03-09 18:21 [Buildroot] Some misc fixes and improvements Thomas Petazzoni
` (3 preceding siblings ...)
2013-03-09 18:21 ` [Buildroot] [PATCH 4/5] libglib2: fix noMMU build Thomas Petazzoni
@ 2013-03-09 18:21 ` Thomas Petazzoni
2013-03-09 20:18 ` Peter Korsgaard
4 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni @ 2013-03-09 18:21 UTC (permalink / raw)
To: buildroot
By default, glib builds its own internal copy of the pcre library, but
it also allows to use the one available from the system. Use this
possibility when pcre is already selected in the Buildroot
configuration.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/libglib2/libglib2.mk | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index b108b89..4ca6ca3 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -81,6 +81,13 @@ LIBGLIB2_CONF_OPT += --with-libiconv=gnu
LIBGLIB2_DEPENDENCIES += libiconv
endif
+ifeq ($(BR2_PACKAGE_PCRE),y)
+LIBGLIB2_CONF_OPT += --with-pcre=system
+LIBGLIB2_DEPENDENCIES += pcre
+else
+LIBGLIB2_CONF_OPT += --with-pcre=internal
+endif
+
define LIBGLIB2_REMOVE_DEV_FILES
rm -rf $(TARGET_DIR)/usr/lib/glib-2.0
rm -rf $(TARGET_DIR)/usr/share/glib-2.0/gettext
--
1.7.9.5
^ permalink raw reply related [flat|nested] 12+ messages in thread