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