Skip to contentSkip to conversation

Webkit host dependencies fixes / package infrastructure

PATCH New llandwerlin at gmail.com 3 participants 20 messages Nov 15, 2009 – Jan 27, 2010

lore
Share & tools
lore
#0 lore raw

cover Webkit host dependencies fixes / package infrastructure

Hi,

the following patch series fixes problems I met when building webkit on a machine with almost no development packages. It also uses the new package infrastructure for the 3 packages (flex, gperf and webkit).

Patch list:
flex: fix prog-ar patch
flex: bump to 2.5.35
flex: convert to autotools infrastructure
flex: add flex-host package (required by webkit)
gperf: convert to autotools infrastructure
gperf: add gperf-host package (required by webkit)
webkit: convert to autotools infrastructure
webkit: fix dependencies on host tools flex and gperf

 package/flex/flex-2.5.33-prog-ar.patch |   13 +---
 package/flex/flex.mk                   |  130 ++++++--------------------------
 package/gperf/gperf.mk                 |   13 ++-
 package/webkit/webkit.mk               |   21 +++---
 4 files changed, 42 insertions(+), 135 deletions(-)

--
Lionel Landwerlin

#1 lore raw

PATCH 1/8 flex: fix prog-ar patch

From: Lionel Landwerlin <[email protected]>

Could not apply when missing top level Makefile, which is also regenerated by the configure script.

---
 package/flex/flex-2.5.33-prog-ar.patch |   13 +------------
 1 files changed, 1 insertions(+), 12 deletions(-)
package/flex/flex-2.5.33-prog-ar.patch +1 -12
index b556b63..e0626ff 100644
@@ -1,18 +1,7 @@
-diff -rup flex-2.5.33.orig/Makefile flex-2.5.33/Makefile
---- flex-2.5.33.orig/Makefile	2007-01-18 17:29:32.000000000 +0100
-+++ flex-2.5.33/Makefile	2007-01-18 18:28:29.000000000 +0100
-@@ -105,7 +105,6 @@ am__installdirs = "$(DESTDIR)$(libdir)" 
- 	"$(DESTDIR)$(includedir)"
- libLIBRARIES_INSTALL = $(INSTALL_DATA)
- LIBRARIES = $(lib_LIBRARIES)
--AR = ar
- ARFLAGS = cru
- libfl_a_AR = $(AR) $(ARFLAGS)
- libfl_a_LIBADD =
 diff -rup flex-2.5.33.orig/Makefile.in flex-2.5.33/Makefile.in
 --- flex-2.5.33.orig/Makefile.in	2007-01-18 17:29:25.000000000 +0100
 +++ flex-2.5.33/Makefile.in	2007-01-18 18:28:22.000000000 +0100
-@@ -105,7 +105,6 @@ am__installdirs = "$(DESTDIR)$(libdir)" 
+@@ -105,7 +105,6 @@ am__installdirs = "$(DESTDIR)$(libdir)"
  	"$(DESTDIR)$(includedir)"
  libLIBRARIES_INSTALL = $(INSTALL_DATA)
  LIBRARIES = $(lib_LIBRARIES)
Signature · 1 line
1.6.5.2
#2 lore raw

PATCH 1/8 flex: fix prog-ar patch

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"llandwerlin" == llandwerlin <[email protected]> writes:

llandwerlin> From: Lionel Landwerlin <[email protected]> llandwerlin> Could not apply when missing top level Makefile, which is also llandwerlin> regenerated by the configure script.

Thanks, committed all 8 patches in series.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH 2/8 flex: bump to 2.5.35

In reply to llandwerlin at gmail.com

From: Lionel Landwerlin <[email protected]>

---
 package/flex/flex.mk |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
package/flex/flex.mk +2 -2
index b4e0cb9..d8a85bd 100644
@@ -3,8 +3,8 @@
 # flex
 #
 #############################################################
-FLEX_VERSION:=2.5.33
-FLEX_PATCH_VERSION:=11
+FLEX_VERSION:=2.5.35
+FLEX_PATCH_VERSION:=9
 FLEX_SOURCE:=flex_$(FLEX_VERSION).orig.tar.gz
 FLEX_PATCH:=flex_$(FLEX_VERSION)-$(FLEX_PATCH_VERSION).diff.gz
 FLEX_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex
Signature · 1 line
1.6.5.2
#4 lore raw

PATCH 3/8 flex: convert to autotools infrastructure

In reply to llandwerlin at gmail.com

From: Lionel Landwerlin <[email protected]>

---
 package/flex/flex.mk |  125 ++++++++------------------------------------------
 1 files changed, 19 insertions(+), 106 deletions(-)
package/flex/flex.mk +19 -106
index d8a85bd..223f58e 100644
@@ -9,118 +9,31 @@ FLEX_SOURCE:=flex_$(FLEX_VERSION).orig.tar.gz
 FLEX_PATCH:=flex_$(FLEX_VERSION)-$(FLEX_PATCH_VERSION).diff.gz
 FLEX_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex
 FLEX_DIR:=$(BUILD_DIR)/flex-$(FLEX_VERSION)
-FLEX_CAT:=$(ZCAT)
-FLEX_BINARY:=flex
-FLEX_TARGET_BINARY:=usr/bin/flex
 
-$(DL_DIR)/$(FLEX_SOURCE):
-	 $(call DOWNLOAD,$(FLEX_SITE),$(FLEX_SOURCE))
+# lex -> flex
+define FLEX_INSTALL_LEX
+cd $(TARGET_DIR)/usr/bin && ln -snf flex lex
+endef
 
-$(DL_DIR)/$(FLEX_PATCH):
-	 $(call DOWNLOAD,$(FLEX_SITE),$(FLEX_PATCH))
+define FLEX_UNINSTALL_LEX
+-rm $(TARGET_DIR)/usr/bin/lex
+endef
 
-flex-source: $(DL_DIR)/$(FLEX_SOURCE) $(DL_DIR)/$(FLEX_PATCH)
+FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LEX
+FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LEX
 
-$(FLEX_DIR)/.unpacked: $(DL_DIR)/$(FLEX_SOURCE) $(DL_DIR)/$(FLEX_PATCH)
-	$(FLEX_CAT) $(DL_DIR)/$(FLEX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-ifneq ($(FLEX_PATCH),)
-	toolchain/patch-kernel.sh $(FLEX_DIR) $(DL_DIR) $(FLEX_PATCH)
-	if [ -d $(FLEX_DIR)/debian/patches ]; then \
-		toolchain/patch-kernel.sh $(FLEX_DIR) $(FLEX_DIR)/debian/patches \*.patch; \
-	fi
-endif
-	$(CONFIG_UPDATE) $(FLEX_DIR)
-	touch $@
-
-$(FLEX_DIR)/.configured: $(FLEX_DIR)/.unpacked
-	(cd $(FLEX_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) \
-		$(TARGET_CONFIGURE_ARGS) \
-		./configure $(QUIET) \
-		--target=$(GNU_TARGET_NAME) \
-		--host=$(GNU_TARGET_NAME) \
-		--build=$(GNU_HOST_NAME) \
-		--prefix=/usr \
-		--exec-prefix=/usr \
-		--bindir=/usr/bin \
-		--sbindir=/usr/sbin \
-		--libdir=/lib \
-		--libexecdir=/usr/lib \
-		--sysconfdir=/etc \
-		--datadir=/usr/share \
-		--localstatedir=/var \
-		--mandir=/usr/share/man \
-		--infodir=/usr/share/info \
-		--includedir=$(TARGET_DIR)/usr/include \
-		$(DISABLE_NLS) \
-		$(DISABLE_LARGEFILE) \
-	)
-	touch $@
-
-$(FLEX_DIR)/$(FLEX_BINARY): $(FLEX_DIR)/.configured
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(FLEX_DIR)
-
-$(TARGET_DIR)/$(FLEX_TARGET_BINARY): $(FLEX_DIR)/$(FLEX_BINARY)
-	$(MAKE1) \
-	    prefix=$(TARGET_DIR)/usr \
-	    exec_prefix=$(TARGET_DIR)/usr \
-	    bindir=$(TARGET_DIR)/usr/bin \
-	    sbindir=$(TARGET_DIR)/usr/sbin \
-	    libexecdir=$(TARGET_DIR)/usr/lib \
-	    datadir=$(TARGET_DIR)/usr/share \
-	    sysconfdir=$(TARGET_DIR)/etc \
-	    sharedstatedir=$(TARGET_DIR)/usr/com \
-	    localstatedir=$(TARGET_DIR)/var \
-	    libdir=$(TARGET_DIR)/usr/lib \
-	    infodir=$(TARGET_DIR)/usr/info \
-	    mandir=$(TARGET_DIR)/usr/man \
-	    includedir=$(TARGET_DIR)/usr/include \
-	    -C $(FLEX_DIR) install
+# libfl installation
 ifeq ($(BR2_PACKAGE_FLEX_LIBFL),y)
-	install -D $(FLEX_DIR)/libfl.a $(STAGING_DIR)/usr/lib/libfl.a
-endif
-ifneq ($(BR2_HAVE_INFOPAGES),y)
-	rm -rf $(TARGET_DIR)/usr/share/info
-endif
-ifneq ($(BR2_HAVE_MANPAGES),y)
-	rm -rf $(TARGET_DIR)/usr/share/man
-endif
-	rm -rf $(TARGET_DIR)/share/locale
-	rm -rf $(TARGET_DIR)/usr/share/doc
-	(cd $(TARGET_DIR)/usr/bin; ln -snf flex lex)
+define FLEX_INSTALL_LIBFL
+install -D $(FLEX_DIR)/libfl.a $(STAGING_DIR)/usr/lib/libfl.a
+endef
 
-flex: $(TARGET_DIR)/$(FLEX_TARGET_BINARY)
+define FLEX_UNINSTALL_LIBFL
+-rm $(STAGING_DIR)/lib/libfl.a
+endef
 
-flex-clean:
-	$(MAKE) \
-	    prefix=$(TARGET_DIR)/usr \
-	    exec_prefix=$(TARGET_DIR)/usr \
-	    bindir=$(TARGET_DIR)/usr/bin \
-	    sbindir=$(TARGET_DIR)/usr/sbin \
-	    libexecdir=$(TARGET_DIR)/usr/lib \
-	    datadir=$(TARGET_DIR)/usr/share \
-	    sysconfdir=$(TARGET_DIR)/etc \
-	    sharedstatedir=$(TARGET_DIR)/usr/com \
-	    localstatedir=$(TARGET_DIR)/var \
-	    libdir=$(TARGET_DIR)/usr/lib \
-	    infodir=$(TARGET_DIR)/usr/share/info \
-	    mandir=$(TARGET_DIR)/usr/share/man \
-	    includedir=$(TARGET_DIR)/usr/include \
-		-C $(FLEX_DIR) uninstall
-	rm -f $(TARGET_DIR)/usr/bin/lex
-ifeq ($(BR2_PACKAGE_FLEX_LIBFL),y)
-	-rm $(STAGING_DIR)/lib/libfl.a
+FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LIBFL
+FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LIBFL
 endif
-	-$(MAKE) -C $(FLEX_DIR) clean
-
-flex-dirclean:
-	rm -rf $(FLEX_DIR)
 
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_FLEX),y)
-TARGETS+=flex
-endif
+$(eval $(call AUTOTARGETS,package,flex))
Signature · 1 line
1.6.5.2
#5 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

In reply to llandwerlin at gmail.com

From: Lionel Landwerlin <[email protected]>

---
 package/flex/flex.mk |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
package/flex/flex.mk +1 -0
index 223f58e..fed0d77 100644
@@ -37,3 +37,4 @@ FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LIBFL
 endif
 
 $(eval $(call AUTOTARGETS,package,flex))
+$(eval $(call AUTOTARGETS,package,flex,host))
Signature · 1 line
1.6.5.2
#6 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

Hi Lionel,

Le Sun, 15 Nov 2009 11:12:53 +0100,
llandwerlin at gmail.com a ?crit :

Quoted 2 lines

$(eval $(call AUTOTARGETS,package,flex))
+$(eval $(call AUTOTARGETS,package,flex,host))

Thanks for using so quickly the new autotools infrastructure! Have you been able to use it with success ?

However, please note that if you depend on this new infrastructure, your patches will not be integrated in the upcoming 2009.11 release, because the new infrastructure is post-2009.11 material.

Sincerly,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com
#7 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

Le dimanche 15 novembre 2009 ? 12:39 +0100, Thomas Petazzoni a ?crit :

Quoted 10 lines

Hi Lionel,

Le Sun, 15 Nov 2009 11:12:53 +0100,
llandwerlin at gmail.com a ?crit :

Quoted 2 lines

$(eval $(call AUTOTARGETS,package,flex))
+$(eval $(call AUTOTARGETS,package,flex,host))

Thanks for using so quickly the new autotools infrastructure! Have you been able to use it with success ?

No problem with a few packages.

Quoted 4 lines

However, please note that if you depend on this new infrastructure, your patches will not be integrated in the upcoming 2009.11 release, because the new infrastructure is post-2009.11 material.

Ok no problem.

#8 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

In reply to Thomas Petazzoni

Thomas,

I did had some problem with fontconfig :

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

fontconfig 2.6.0 Extracting
fontconfig 2.6.0 Patching package/fontconfig

Applying fontconfig-2.6.0-parallel-compilation-fix.patch using plaintext:
patching file fc-case/Makefile.am

Applying fontconfig-2.6.0-use_for_build.patch using plaintext:
patching file fc-arch/Makefile.am
patching file fc-case/Makefile.am
patching file fc-glyphname/Makefile.am
patching file fc-lang/Makefile.am
/bin/sh: -c: line 0: Erreur de syntaxe pr?s du symbole inattendu ? @echo ?
/bin/sh: -c: line 0: `(for file in config.guess config.sub; do for i in ; do cp package/gnuconfig/ile ; done; done) @echo ">>> "Autoreconfiguring""'
make: *** [/home/djdeath/src/buildroot/buildroot_rebase/output/build/fontconfig-2.6.0/.stamp_patched] Erreur 2

The following patch fix the problem, but I don't understand why... Any idea ?

->>>>>

package/Makefile.autotools.in +1 -0
index f039903..ebe8299 100644
@@ -107,6 +107,7 @@ define UPDATE_CONFIG_HOOK
                        cp package/gnuconfig/$$file $$i; \
                done; \
        done)
+
 endef
 
 ifeq ($(BR2_UPDATE_CONFIG),y)

<<<<<-

Le dimanche 15 novembre 2009 ? 12:39 +0100, Thomas Petazzoni a ?crit :

Quoted 27 lines

Hi Lionel,

Le Sun, 15 Nov 2009 11:12:53 +0100,
llandwerlin at gmail.com a ?crit :

Quoted 2 lines

$(eval $(call AUTOTARGETS,package,flex))
+$(eval $(call AUTOTARGETS,package,flex,host))

Thanks for using so quickly the new autotools infrastructure! Have you been able to use it with success ?

However, please note that if you depend on this new infrastructure, your patches will not be integrated in the upcoming 2009.11 release, because the new infrastructure is post-2009.11 material.

Sincerly,

Thomas

Signature · 8 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
#9 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

In reply to llandwerlin at gmail.com

Le Sun, 15 Nov 2009 11:12:53 +0100,
llandwerlin at gmail.com a ?crit :

Quoted 2 lines

$(eval $(call AUTOTARGETS,package,flex))
+$(eval $(call AUTOTARGETS,package,flex,host))

BTW, why do we need to build flex for the host ? flex is part of the few tools that we consider to be a dependency of Buildroot.

In toolchain/dependencies/dependencies.sh, we check that a host flex is available. This tool (along with bison) is anyway mandatory to build the toolchain.

So :

* Either we consider flex to be part of Buildroot dependencies and Webkit should not depend on host-flex ;

* Or we don't consider flex to be part of the Buildroot dependencies and we should fix all packages and toolchain that use flex without depending on it.

Sincerly,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com
#10 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

Le dimanche 15 novembre 2009 ? 15:26 +0100, Thomas Petazzoni a ?crit :

Quoted 8 lines

Le Sun, 15 Nov 2009 11:12:53 +0100,
llandwerlin at gmail.com a ?crit :

Quoted 2 lines

$(eval $(call AUTOTARGETS,package,flex))
+$(eval $(call AUTOTARGETS,package,flex,host))

BTW, why do we need to build flex for the host ? flex is part of the few tools that we consider to be a dependency of Buildroot.

It's required to build webkit. I didn't notice the problem until I built it on a host system where it wasn't installed.

Quoted 4 lines

In toolchain/dependencies/dependencies.sh, we check that a host flex is available. This tool (along with bison) is anyway mandatory to build the toolchain.

Oh, I didn't know that, but I didn't receive any error when building webkit with uclibc (no external toolchain).

Quoted 10 lines

So :

* Either we consider flex to be part of Buildroot dependencies and Webkit should not depend on host-flex ;

* Or we don't consider flex to be part of the Buildroot dependencies and we should fix all packages and toolchain that use flex without depending on it.

I guess it's up to Peter to decide.

According to me, flex isn't a big piece of software. So rebuilding it shouldn't be a problem (in term of time of compilation). For example host-libglib is quite more annoying to build (is it only required for glib-genmarshal ?).

Signature · 1 line
Lionel Landwerlin
#11 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Lionel" == Lionel Landwerlin <[email protected]> writes:

Hi,

Quoted 2 lines
Quoted 2 lines

BTW, why do we need to build flex for the host ? flex is part of the few tools that we consider to be a dependency of Buildroot.

Lionel> It's required to build webkit. I didn't notice the problem until I built Lionel> it on a host system where it wasn't installed.

Didn't the dependencies.sh check error out?

sudo mv /usr/bin/flex{,-backup}
make

flex installed: FALSE

You must install 'flex' on your build machine

make: *** [dependencies] Error 1

Signature · 1 line
Bye, Peter Korsgaard
#12 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

Le dimanche 15 novembre 2009 ? 17:18 +0100, Peter Korsgaard a ?crit :

Quoted 15 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Lionel" == Lionel Landwerlin <[email protected]> writes:

Hi,

Quoted 2 lines
Quoted 2 lines

BTW, why do we need to build flex for the host ? flex is part of the few tools that we consider to be a dependency of Buildroot.

Lionel> It's required to build webkit. I didn't notice the problem until I built Lionel> it on a host system where it wasn't installed.

Didn't the dependencies.sh check error out?

sudo mv /usr/bin/flex{,-backup}
make

Quoted 7 lines

flex installed: FALSE

You must install 'flex' on your build machine

make: *** [dependencies] Error 1

I will recheck again tomorrow, it was on a machine at work (RH enterprise 5).

By the way, what's the policy about host packages that should be included in buildroot ?

Regards,

Signature · 1 line
Lionel Landwerlin
#13 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Lionel" == Lionel Landwerlin <[email protected]> writes:

Hi,

Quoted 3 lines
Quoted 3 lines

You must install 'flex' on your build machine

make: *** [dependencies] Error 1

Lionel> I will recheck again tomorrow, it was on a machine at work (RH Lionel> enterprise 5).

OK.

Lionel> By the way, what's the policy about host packages that should be Lionel> included in buildroot ?

Well, we try to keep the amount of dependencies low to make it easy to use, but within sane limits ofcourse, we don't want to build an entire host system as well.

There's no hard fixed rules in other words. Certain things just have to be there (shell, make, toolchain). For the rest it's a question about:

- How big is the dependency (E.G. how much effort to compile for host)
- How version specific is the dependency (E.G. autoconf)
- How "standard" is the dependency - E.G. can we reasonably expect it to be available on all/most developer machines?

Signature · 1 line
Bye, Peter Korsgaard
#14 lore raw

PATCH 4/8 flex: add flex-host package (required by webkit)

Quoted 4 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Lionel" == Lionel Landwerlin <[email protected]> writes:

Hi,

Quoted 10 lines
Quoted 3 lines
Quoted 3 lines

You must install 'flex' on your build machine

make: *** [dependencies] Error 1

Lionel> I will recheck again tomorrow, it was on a machine at work (RH Lionel> enterprise 5).

OK.

I rechecked and flex is in fact installed, but it's not the good version (RH Enterprise 5 has 2.5.4 instead of 2.5.33).

At least, gperf is not checked by dependencies.sh.

Quoted 10 lines

Lionel> By the way, what's the policy about host packages that should be Lionel> included in buildroot ?

Well, we try to keep the amount of dependencies low to make it easy to use, but within sane limits ofcourse, we don't want to build an entire host system as well.

There's no hard fixed rules in other words. Certain things just have to be there (shell, make, toolchain). For the rest it's a question about:

Quoted 8 lines

- How big is the dependency (E.G. how much effort to compile for host)
- How version specific is the dependency (E.G. autoconf)
- How "standard" is the dependency - E.G. can we reasonably expect it to be available on all/most developer machines?

--
Bye, Peter Korsgaard

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20091116/fd703e97/attachment-0001.htm>

#15 lore raw

PATCH 5/8 gperf: convert to autotools infrastructure

In reply to llandwerlin at gmail.com

From: Lionel Landwerlin <[email protected]>

---
 package/gperf/gperf.mk |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)
package/gperf/gperf.mk +7 -5
index 0dc6d6e..bb2d4f3 100644
@@ -9,12 +9,14 @@ GPERF_SITE = $(BR2_GNU_MIRROR)/gperf
 GPERF_AUTORECONF = NO
 GPERF_INSTALL_STAGING = NO
 GPERF_INSTALL_TARGET = YES
-GPERF_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) install
+
+# install-strip rule does not exist in gperf's makefiles
 GPERF_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
 
-$(eval $(call AUTOTARGETS,package,gperf))
+define GPERF_INSTALL_STRIP
+$(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/usr/bin/gperf
+endef
 
-$(GPERF_HOOK_POST_INSTALL): $(GPERF_TARGET_INSTALL_TARGET)
-	$(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/usr/bin/gperf
-	touch $@
+GPERF_POST_INSTALL_HOOKS += GPERF_INSTALL_STRIP
 
+$(eval $(call AUTOTARGETS,package,gperf))
Signature · 1 line
1.6.5.2
#16 lore raw

PATCH 5/8 gperf: convert to autotools infrastructure

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"llandwerlin" == llandwerlin <[email protected]> writes:

llandwerlin> From: Lionel Landwerlin <[email protected]> llandwerlin> Signed-off-by: Lionel Landwerlin <[email protected]> llandwerlin> ---

 llandwerlin>  package/gperf/gperf.mk |   12 +++++++-----

llandwerlin> 1 files changed, 7 insertions(+), 5 deletions(-)

llandwerlin> diff --git a/package/gperf/gperf.mk b/package/gperf/gperf.mk llandwerlin> index 0dc6d6e..bb2d4f3 100644
llandwerlin> --- a/package/gperf/gperf.mk
llandwerlin> +++ b/package/gperf/gperf.mk
llandwerlin> @@ -9,12 +9,14 @@ GPERF_SITE = $(BR2_GNU_MIRROR)/gperf

 llandwerlin>  GPERF_AUTORECONF = NO
 llandwerlin>  GPERF_INSTALL_STAGING = NO
 llandwerlin>  GPERF_INSTALL_TARGET = YES

llandwerlin> -GPERF_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) install llandwerlin> +
llandwerlin> +# install-strip rule does not exist in gperf's makefiles llandwerlin> GPERF_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install

llandwerlin> -$(eval $(call AUTOTARGETS,package,gperf)) llandwerlin> +define GPERF_INSTALL_STRIP
llandwerlin> +$(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/usr/bin/gperf llandwerlin> +endef

llandwerlin> -$(GPERF_HOOK_POST_INSTALL): $(GPERF_TARGET_INSTALL_TARGET)
llandwerlin> - $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/usr/bin/gperf
llandwerlin> - touch $@
llandwerlin> +GPERF_POST_INSTALL_HOOKS += GPERF_INSTALL_STRIP

All binaries are stripped in target-finalize, so there's no need to to it explicitly here, otherwise it looks good.

Signature · 1 line
Bye, Peter Korsgaard
#17 lore raw

PATCH 6/8 gperf: add gperf-host package (required by webkit)

In reply to llandwerlin at gmail.com

From: Lionel Landwerlin <[email protected]>

---
 package/gperf/gperf.mk |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
package/gperf/gperf.mk +1 -0
index bb2d4f3..57e0663 100644
@@ -20,3 +20,4 @@ endef
 GPERF_POST_INSTALL_HOOKS += GPERF_INSTALL_STRIP
 
 $(eval $(call AUTOTARGETS,package,gperf))
+$(eval $(call AUTOTARGETS,package,gperf,host))
Signature · 1 line
1.6.5.2
#18 lore raw

PATCH 7/8 webkit: convert to autotools infrastructure

In reply to llandwerlin at gmail.com

From: Lionel Landwerlin <[email protected]>

---
 package/webkit/webkit.mk |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)
package/webkit/webkit.mk +9 -8
index bc7d062..01baa27 100644
@@ -9,7 +9,6 @@ WEBKIT_SITE = http://nightly.webkit.org/files/trunk/src/
 
 WEBKIT_INSTALL_STAGING = YES
 WEBKIT_INSTALL_TARGET = YES
-WEBKIT_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) install
 WEBKIT_LIBTOOL_PATCH = NO
 
 WEBKIT_DEPENDENCIES = icu curl libxml2 libxslt libgtk2 sqlite enchant \
@@ -25,11 +24,13 @@ endif
 
 WEBKIT_CONF_OPT += --disable-video
 
-$(eval $(call AUTOTARGETS,package,webkit))
+define WEBKIT_AUTOGEN_PATCH
+$(SED) 's/AUTOMAKE_FLAGS=.*/AUTOMAKE_FLAGS="--foreign --add-missing --copy"/' $(WEBKIT_DIR)/autogen.sh
+$(SED) 's/LIBTOOLIZE_FLAGS=.*/LIBTOOLIZE_FLAGS="--force --automake --copy"/' $(WEBKIT_DIR)/autogen.sh
+# Don't run the configure step yet
+cd $(WEBKIT_DIR); AUTOGEN_CONFIGURE_ARGS=--version ./autogen.sh
+endef
+
+WEBKIT_POST_EXTRACT_HOOKS += WEBKIT_AUTOGEN_PATCH
 
-$(WEBKIT_HOOK_POST_EXTRACT):
-	$(SED) 's/AUTOMAKE_FLAGS=.*/AUTOMAKE_FLAGS="--foreign --add-missing --copy"/' $(WEBKIT_DIR)/autogen.sh
-	$(SED) 's/LIBTOOLIZE_FLAGS=.*/LIBTOOLIZE_FLAGS="--force --automake --copy"/' $(WEBKIT_DIR)/autogen.sh
-	# Don't run the configure step yet
-	cd $(WEBKIT_DIR); AUTOGEN_CONFIGURE_ARGS=--version ./autogen.sh
-	touch $@
+$(eval $(call AUTOTARGETS,package,webkit))
Signature · 1 line
1.6.5.2
#19 lore raw

PATCH 8/8 webkit: fix dependencies on host tools flex and gperf

In reply to llandwerlin at gmail.com

From: Lionel Landwerlin <[email protected]>

---
 package/webkit/webkit.mk |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
package/webkit/webkit.mk +2 -2
index 01baa27..389a5fc 100644
@@ -11,8 +11,8 @@ WEBKIT_INSTALL_STAGING = YES
 WEBKIT_INSTALL_TARGET = YES
 WEBKIT_LIBTOOL_PATCH = NO
 
-WEBKIT_DEPENDENCIES = icu curl libxml2 libxslt libgtk2 sqlite enchant \
-			libsoup
+WEBKIT_DEPENDENCIES = host-flex host-gperf icu curl libxml2 libxslt	\
+			libgtk2 sqlite enchant libsoup
 
 ifeq ($(BR2_PACKAGE_WEBKIT_X11),y)
 WEBKIT_CONF_OPT = --with-target=x11
Signature · 1 line
1.6.5.2