Bug#911655: AX_PATH_BDB_NO_OPTIONS makes broken assumptions for cross compilation

2019-02-15 Thread Elimar Riesebieter
Control: affects -1 - src:moc

* Helmut Grohne  [2018-10-23 08:19 +0200]:

> 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 "-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.

Should be fixed by moc 2.6.0~svn-r2994-3.

Elimar
-- 
  We all know Linux is great... it does infinite loops in 5 seconds.
-Linus Torvalds


signature.asc
Description: PGP signature


Bug#911655: AX_PATH_BDB_NO_OPTIONS makes broken assumptions for cross compilation

2018-10-23 Thread Helmut Grohne
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 "-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'`
 ],[])