Source: stringencoders
Version: 3.10.3+git20160924-3
Tags: patch upstream
User: helm...@debian.org
Usertags: rebootstrap

stringencoders fails to cross build from source, because it fails
running its code generators, because they are built with the host
architecture compiler. The autoconf-archive provides an AX_CC_FOR_BUILD
macro for discovering the build architecture compiler. The attached
patch employs it to build those build tools with the right compiler and
makes stringencoders cross build successfully. Given that win32 requires
executables to end with .exe, I guess that it also fixes native and
cross builds on win32 as it adds the EXEEXT. Please consider applying
it.

Helmut
--- stringencoders-3.10.3+git20160924.orig/configure.ac
+++ stringencoders-3.10.3+git20160924/configure.ac
@@ -8,6 +8,7 @@
 AC_PROG_CC
 AC_PROG_CXX
 AC_PROG_INSTALL
+AX_CC_FOR_BUILD
 
 AC_C_CONST
 AC_C_BIGENDIAN
--- stringencoders-3.10.3+git20160924.orig/src/Makefile.am
+++ stringencoders-3.10.3+git20160924/src/Makefile.am
@@ -76,58 +76,58 @@
 modp_xml.c: modp_xml.h
 
 modp_b2_data.h: modp_b2_gen
-	./modp_b2_gen > modp_b2_data.h
+	./modp_b2_gen$(EXEEXT_FOR_BUILD) > modp_b2_data.h
 
 modp_b16_data.h: modp_b16_gen
-	./modp_b16_gen > modp_b16_data.h
+	./modp_b16_gen$(EXEEXT_FOR_BUILD) > modp_b16_data.h
 
 modp_b64_data.h: modp_b64_gen
-	./modp_b64_gen > modp_b64_data.h
+	./modp_b64_gen$(EXEEXT_FOR_BUILD) > modp_b64_data.h
 
 modp_ascii_data.h: modp_ascii_gen
-	./modp_ascii_gen > modp_ascii_data.h
+	./modp_ascii_gen$(EXEEXT_FOR_BUILD) > modp_ascii_data.h
 
 #
 # Recall B64WCHARS by default is "-_."
 #
 modp_b64w_data.h: modp_b64_gen
-	./modp_b64_gen $(B64WCHARS) > modp_b64w_data.h
+	./modp_b64_gen$(EXEEXT_FOR_BUILD) $(B64WCHARS) > modp_b64w_data.h
 
 #
 # RFC 4648 alphabet is -_=
 # http://www.ietf.org/rfc/rfc4648.txt
 modp_b64r_data.h: modp_b64_gen
-	./modp_b64_gen "-_=" > modp_b64r_data.h
+	./modp_b64_gen$(EXEEXT_FOR_BUILD) "-_=" > modp_b64r_data.h
 
 modp_b85_data.h: modp_b85_gen
-	./modp_b85_gen > modp_b85_data.h
+	./modp_b85_gen$(EXEEXT_FOR_BUILD) > modp_b85_data.h
 
 modp_burl_data.h: modp_burl_gen
-	./modp_burl_gen > modp_burl_data.h
+	./modp_burl_gen$(EXEEXT_FOR_BUILD) > modp_burl_data.h
 
 modp_bjavascript_data.h: modp_bjavascript_gen
-	./modp_bjavascript_gen > modp_bjavascript_data.h
+	./modp_bjavascript_gen$(EXEEXT_FOR_BUILD) > modp_bjavascript_data.h
 
 modp_json_data.h: modp_json_gen.py
 	./modp_json_gen.py
 
-noinst_PROGRAMS = \
-	modp_b2_gen modp_b16_gen modp_b64_gen modp_b85_gen \
-	modp_burl_gen modp_ascii_gen modp_bjavascript_gen
-
-modp_b2_gen_SOURCES = arraytoc.c modp_b2_gen.c
-
-modp_b16_gen_SOURCES = arraytoc.c modp_b16_gen.c
-
-modp_b64_gen_SOURCES = arraytoc.c modp_b64_gen.c
-
-modp_b85_gen_SOURCES = arraytoc.c modp_b85_gen.c
+modp_b2_gen$(EXEEXT_FOR_BUILD):modp_b2_gen.c modp_stdint.h
+	$(CC_FOR_BUILD) $< -o $@
 
-modp_burl_gen_SOURCES = arraytoc.c modp_burl_gen.c
+modp_b16_gen$(EXEEXT_FOR_BUILD):modp_b16_gen.c arraytoc.c modp_stdint.h arraytoc.h
+	$(CC_FOR_BUILD) modp_b16_gen.c arraytoc.c -o $@
 
-modp_ascii_gen_SOURCES = arraytoc.c modp_ascii_gen.c
+modp_b64_gen$(EXEEXT_FOR_BUILD):modp_b64_gen.c arraytoc.c modp_stdint.h arraytoc.h
+	$(CC_FOR_BUILD) modp_b64_gen.c arraytoc.c -o $@
 
-modp_bjavascript_gen_SOURCES = arraytoc.c modp_bjavascript_gen.c
+modp_b85_gen$(EXEEXT_FOR_BUILD):modp_b85_gen.c arraytoc.c modp_stdint.h arraytoc.h
+	$(CC_FOR_BUILD) modp_b85_gen.c arraytoc.c -o $@
 
+modp_burl_gen$(EXEEXT_FOR_BUILD):modp_burl_gen.c arraytoc.c modp_stdint.h arraytoc.h
+	$(CC_FOR_BUILD) modp_burl_gen.c arraytoc.c -o $@
 
+modp_ascii_gen$(EXEEXT_FOR_BUILD):modp_ascii_gen.c arraytoc.c modp_stdint.h arraytoc.h
+	$(CC_FOR_BUILD) modp_ascii_gen.c arraytoc.c -o $@
 
+modp_bjavascript_gen$(EXEEXT_FOR_BUILD):modp_bjavascript_gen.c arraytoc.c modp_stdint.h arraytoc.h
+	$(CC_FOR_BUILD) modp_bjavascript_gen.c arraytoc.c -o $@
--- stringencoders-3.10.3+git20160924.orig/src/modp_b2_gen.c
+++ stringencoders-3.10.3+git20160924/src/modp_b2_gen.c
@@ -1,4 +1,4 @@
-#include "arraytoc.h"
+#include "modp_stdint.h"
 #include <stdio.h>
 
 /** \brief make map of a byte to a string of 8 chars

Reply via email to