summaryrefslogtreecommitdiffstats
path: root/package/gutenprint/gutenprint-000-use-pregen-xmli18n-header.patch
blob: 533fe33d8241406ef692cf59c903eab8a7e923a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
src/xml: use preg-gen xmli18n_tmp.h if specified

Ideally, the programs needed at build-time should be built with
CC_FOR_BUILD, and not with CC_FOR_HOST.

Unfortunately, this program wants to link against the gutenprint libs,
so we would also need to build them with CC_FOR_HOST, that is build them
twice, once for build, once for host.

Instead, in the Buildroot context, we first build gutenprint for the build
system, use that to generate the incriminated header, and then re-use that
header to build the gutenprint for the host.

It is not possible to have such constructs in Makefile.am:
    ifeq ($(FOO),)
    bar: bla
        cat $< >$@
    else
    bar:
        echo $(FOO) >$@
    endif

as autoreconf will yell loudly that there is an 'endif' without an 'if'.
Sigh... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

diff -durN gutenprint-5.2.9.orig/src/xml/Makefile.am gutenprint-5.2.9/src/xml/Makefile.am
--- gutenprint-5.2.9.orig/src/xml/Makefile.am	2011-03-30 02:43:24.000000000 +0200
+++ gutenprint-5.2.9/src/xml/Makefile.am	2013-03-24 17:08:08.435918773 +0100
@@ -52,10 +52,13 @@
 
 
 xmli18n-tmp.h: xml-stamp extract-strings
-	-rm -f $@ $@.tmp
-	./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp
-	mv $@.tmp $@
-
+	if [ -z "$(BR2_USE_PREGEN_XMLI18N_TMP_H)" ]; then \
+	    rm -f $@ $@.tmp; \
+	    ./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp; \
+	    mv $@.tmp $@; \
+	else \
+	    cp $(BR2_USE_PREGEN_XMLI18N_TMP_H) $@; \
+	fi
 
 dist-hook: xmli18n-tmp.h xml-stamp
 # xmli18n-tmp.h is needed by po/POTFILES.in at dist time