Title: [111749] trunk/Tools
- Revision
- 111749
- Author
- k...@webkit.org
- Date
- 2012-03-22 13:23:01 -0700 (Thu, 22 Mar 2012)
Log Message
[GTK] Add make to the jhbuild moduleset
https://bugs.webkit.org/show_bug.cgi?id=81769
Reviewed by Martin Robinson.
Mostly based on a patch by Carlos Garcia Campos <cgar...@igalia.com>.
Add GNU make with custom patches to fix several issues:
- make-3.82-arg-list-length.patch: Patch by Ralf Wildenhues to
fix the argument list limit of GNU make when running make
distcheck.
- make-3.82-parallel-build.patch: Patch by Kamil Mierzejewski
and Jeremy Devenport to fix parallel build issues present in
GNU make 3.82
* gtk/jhbuild.modules: Added make with patches.
* gtk/patches/make-3.82-arg-list-length.patch: Added.
* gtk/patches/make-3.82-parallel-build.patch: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/Tools/ChangeLog (111748 => 111749)
--- trunk/Tools/ChangeLog 2012-03-22 20:03:05 UTC (rev 111748)
+++ trunk/Tools/ChangeLog 2012-03-22 20:23:01 UTC (rev 111749)
@@ -1,3 +1,24 @@
+2012-03-22 Gustavo Noronha Silva <g...@gnome.org>
+
+ [GTK] Add make to the jhbuild moduleset
+ https://bugs.webkit.org/show_bug.cgi?id=81769
+
+ Reviewed by Martin Robinson.
+
+ Mostly based on a patch by Carlos Garcia Campos <cgar...@igalia.com>.
+ Add GNU make with custom patches to fix several issues:
+
+ - make-3.82-arg-list-length.patch: Patch by Ralf Wildenhues to
+ fix the argument list limit of GNU make when running make
+ distcheck.
+ - make-3.82-parallel-build.patch: Patch by Kamil Mierzejewski
+ and Jeremy Devenport to fix parallel build issues present in
+ GNU make 3.82
+
+ * gtk/jhbuild.modules: Added make with patches.
+ * gtk/patches/make-3.82-arg-list-length.patch: Added.
+ * gtk/patches/make-3.82-parallel-build.patch: Added.
+
2012-03-22 Kevin Ollivier <kev...@theolliviers.com>
[wx] Unreviewed. Adding Source/WTF to the build and updating
Modified: trunk/Tools/gtk/jhbuild.modules (111748 => 111749)
--- trunk/Tools/gtk/jhbuild.modules 2012-03-22 20:03:05 UTC (rev 111748)
+++ trunk/Tools/gtk/jhbuild.modules 2012-03-22 20:23:01 UTC (rev 111749)
@@ -5,6 +5,7 @@
<metamodule id="webkitgtk-testing-dependencies">
<dependencies>
+ <dep package="make"/>
<dep package="cairo"/>
<dep package="fonts"/>
<dep package="fontconfig"/>
@@ -20,6 +21,8 @@
</dependencies>
</metamodule>
+ <repository type="tarball" name="ftp.gnu.org"
+ href=""
<repository type="tarball" name="github.com"
href=""
<repository type="tarball" name="sourceware.org"
@@ -39,6 +42,15 @@
<repository type="tarball" name="freedesktop.org"
href=""
+ <autotools id="make" autogen-sh="configure">
+ <branch repo="ftp.gnu.org"
+ module="make/make-3.82.tar.bz2" version="3.82"
+ size="1242186" md5sum="1a11100f3c63fcf5753818e59d63088f">
+ <patch file="make-3.82-arg-list-length.patch" strip="1"/>
+ <patch file="make-3.82-parallel-build.patch" strip="1"/>
+ </branch>
+ </autotools>
+
<autotools id="cairo" autogen-sh="configure">
<dependencies>
<dep package="pixman"/>
Added: trunk/Tools/gtk/patches/make-3.82-arg-list-length.patch (0 => 111749)
--- trunk/Tools/gtk/patches/make-3.82-arg-list-length.patch (rev 0)
+++ trunk/Tools/gtk/patches/make-3.82-arg-list-length.patch 2012-03-22 20:23:01 UTC (rev 111749)
@@ -0,0 +1,104 @@
+diff -u make-3.82-orig/configure.in make-3.82/configure.in
+--- make-3.82-orig/configure.in 2010-07-28 07:39:50.000000000 +0200
++++ make-3.82/configure.in 2012-03-21 12:34:20.000000000 +0100
+@@ -64,7 +64,8 @@
+ AC_HEADER_STAT
+ AC_HEADER_TIME
+ AC_CHECK_HEADERS(stdlib.h locale.h unistd.h limits.h fcntl.h string.h \
+- memory.h sys/param.h sys/resource.h sys/time.h sys/timeb.h)
++ memory.h sys/param.h sys/resource.h sys/time.h sys/timeb.h \
++ sys/user.h linux/binfmts.h)
+
+ # Set a flag if we have an ANSI C compiler
+ if test "$ac_cv_prog_cc_stdc" != no; then
+Subdirectorios comunes: make-3.82-orig/doc y make-3.82/doc
+Subdirectorios comunes: make-3.82-orig/glob y make-3.82/glob
+diff -u make-3.82-orig/job.c make-3.82/job.c
+--- make-3.82-orig/job.c 2010-07-24 10:27:50.000000000 +0200
++++ make-3.82/job.c 2012-03-21 12:34:20.000000000 +0100
+@@ -29,6 +29,11 @@
+
+ #include <string.h>
+
++#if defined (HAVE_LINUX_BINFMTS_H) && defined (HAVE_SYS_USER_H)
++#include <sys/user.h>
++#include <linux/binfmts.h>
++#endif
++
+ /* Default shell to use. */
+ #ifdef WINDOWS32
+ #include <windows.h>
+@@ -2795,6 +2800,7 @@
+ unsigned int sflags_len = strlen (shellflags);
+ char *command_ptr = NULL; /* used for batch_mode_shell mode */
+ char *new_line;
++ char *args_ptr;
+
+ # ifdef __EMX__ /* is this necessary? */
+ if (!unixy_shell)
+@@ -2865,8 +2871,17 @@
+ return new_argv;
+ }
+
++#ifdef MAX_ARG_STRLEN
++ static char eval_line[] = "eval\\ \\\"set\\ x\\;\\ shift\\;\\ ";
++#define ARG_NUMBER_DIGITS 5
++#define EVAL_LEN (sizeof(eval_line)-1 + shell_len + 4 \
++ + (7 + ARG_NUMBER_DIGITS) * 2 * line_len / (MAX_ARG_STRLEN - 2))
++#else
++#define EVAL_LEN 0
++#endif
++
+ new_line = alloca (shell_len + 1 + sflags_len + 1
+- + (line_len*2) + 1);
++ + (line_len*2) + 1 + EVAL_LEN);
+ ap = new_line;
+ memcpy (ap, shell, shell_len);
+ ap += shell_len;
+@@ -2875,6 +2890,30 @@
+ ap += sflags_len;
+ *(ap++) = ' ';
+ command_ptr = ap;
++
++#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
++ if (unixy_shell && line_len > MAX_ARG_STRLEN)
++ {
++ unsigned j;
++ memcpy (ap, eval_line, sizeof (eval_line) - 1);
++ ap += sizeof (eval_line) - 1;
++ for (j = 1; j <= 2 * line_len / (MAX_ARG_STRLEN - 2); j++)
++ ap += sprintf (ap, "\\$\\{%u\\}", j);
++ *ap++ = '\\';
++ *ap++ = '"';
++ *ap++ = ' ';
++ /* Copy only the first word of SHELL to $0. */
++ for (p = shell; *p != '\0'; ++p)
++ {
++ if (isspace ((unsigned char)*p))
++ break;
++ *ap++ = *p;
++ }
++ *ap++ = ' ';
++ }
++#endif
++ args_ptr = ap;
++
+ for (p = line; *p != '\0'; ++p)
+ {
+ if (restp != NULL && *p == '\n')
+@@ -2922,6 +2961,14 @@
+ }
+ #endif
+ *ap++ = *p;
++
++#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
++ if (unixy_shell && line_len > MAX_ARG_STRLEN && (ap - args_ptr > MAX_ARG_STRLEN - 2))
++ {
++ *ap++ = ' ';
++ args_ptr = ap;
++ }
++#endif
+ }
+ if (ap == new_line + shell_len + sflags_len + 2)
+ /* Line was empty. */
+
Added: trunk/Tools/gtk/patches/make-3.82-parallel-build.patch (0 => 111749)
--- trunk/Tools/gtk/patches/make-3.82-parallel-build.patch (rev 0)
+++ trunk/Tools/gtk/patches/make-3.82-parallel-build.patch 2012-03-22 20:23:01 UTC (rev 111749)
@@ -0,0 +1,26 @@
+diff -u make-3.82-orig/remake.c make-3.82/remake.c
+--- make-3.82-orig/remake.c 2010-07-13 03:20:42.000000000 +0200
++++ make-3.82/remake.c 2012-03-21 12:47:52.000000000 +0100
+@@ -301,7 +301,7 @@
+ /* Check for the case where a target has been tried and failed but
+ the diagnostics hasn't been issued. If we need the diagnostics
+ then we will have to continue. */
+- if (!(f->updated && f->update_status > 0 && !f->dontcare && f->no_diag))
++ if (!(f->updated && f->update_status > 0 && !f->dontcare && f->no_diag) && f->command_state!=cs_not_started )
+ {
+ DBF (DB_VERBOSE, _("Pruning file `%s'.\n"));
+ return f->command_state == cs_finished ? f->update_status : 0;
+@@ -614,6 +614,12 @@
+ d->file->dontcare = file->dontcare;
+ }
+
++ /* We may have already encountered this file earlier in the same
++ * pass before we knew we'd be updating this target. In that
++ * case calling update_file now would result in the file being
++ * inappropriately pruned so we toggle the considered bit back
++ * off first. */
++ d->file->considered = !considered;
+
+ dep_status |= update_file (d->file, depth);
+
+
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes