Package: autoconf-archive
Version: 20170928-2
Tags: patch upstream
User: helm...@debian.org
Usertags: rebootstrap
Control: affects -1 + src:moc

The AX_PATH_BDB_NO_OPTIONS is broken for cross compilation and that
breaks moc. The macro assumes that $ac_cpp does not emit #line markers.
For native compilation, $ac_cpp will be "cpp" and that assumption is ok.
For cross compilation, it will be "<triplet>-gcc -E" and that one emits
#line markers. The macro inserts a line

    AX_PATH_BDB_STUFF DB_VERSION_MAJOR,DB_VERSION_MINOR,DB_VERSION_PATCH

and then tries to parse what comes back from the preprocessor. In the
cross compilation, that line is split up into many lines and the parsing
fails.

If you do not want #line markers, you must pass -P to $ac_cpp. The
attached patch implements that.

Helmut
--- autoconf-archive-20170928.orig/m4/ax_path_bdb.m4
+++ autoconf-archive-20170928/m4/ax_path_bdb.m4
@@ -179,7 +179,7 @@
       ]])
     ],[
       # Extract version from preprocessor output.
-      HEADER_VERSION=`eval "$ac_cpp conftest.$ac_ext" 2> /dev/null \
+      HEADER_VERSION=`eval "$ac_cpp -P conftest.$ac_ext" 2> /dev/null \
         | grep AX_PATH_BDB_STUFF | sed 's/[[^0-9,]]//g;s/,/./g;1q'`
     ],[])
 

Reply via email to