--- Begin Message ---
Source: bist
Version: 0.5.2-1.2
Tags: patch upstream
User: [email protected]
Usertags: ftcbfs
bist fails to cross build from source. There are two recurring issues
that cause the failure.
For one thing, the configure script hard codes the build architecture
pkg-config. It needs to use the host architecture pkg-config though.
Since this is a common problem, there is a standard macro that just
works: PKG_CHECK_MODULES.
The other aspect is AC_RUN_IFELSE. In all cases, the argument for cross
compilation passed to AC_RUN_IFELSE makes configuration fail. Rather,
uncheckable things are commonly assumed to be ok for cross compilation.
The attached patch fixes both issues and makes bist cross buildable.
Please consider applying the attached patch.
Helmut
--- bist-0.5.2.orig/configure.ac
+++ bist-0.5.2/configure.ac
@@ -49,9 +49,6 @@
AC_CHECK_PROG([PYTHON], [python], [TRUE],
[FALSE], [$PATH:/usr/libexec:/usr/sbin:/usr/etc:etc], [])
-AC_CHECK_PROG([PKGCONFIG], [pkg-config], [TRUE],
- [FALSE], [$PATH:/usr/libexec:/usr/sbin:/usr/etc:etc], [])
-
AC_CHECK_PROG([FLTKCONFIG], [fltk-config], [TRUE],
[FALSE], [$PATH:/usr/libexec:/usr/sbin:/usr/etc:etc], [])
@@ -60,10 +57,6 @@
AC_MSG_ERROR([cannot find fltk-config!], [1])
fi
-if [[ $PKGCONFIG = "FALSE" ]]; then
- AC_MSG_ERROR([cannot find pkg-config!], [1])
-fi
-
if [[ $PYTHON = "FALSE" ]]; then
AC_MSG_WARN([cannot find python interpreter but do not worry it is not not mandatory to run bist!], [1])
fi
@@ -89,35 +82,15 @@
AC_SUBST([LIBS],[$LIBS\ `fltk-config --use-images --ldflags`])
fi
-AC_MSG_CHECKING([pkg-config --exists cairo])
-
-pkg-config --exists cairo
-
-if test $? -ne 0 ; then
-
+PKG_CHECK_MODULES([CAIRO],[cairo],,[
AC_MSG_ERROR([pkg --exists cairo failed! do you have cairo header installed?]);
+])
-else
-AC_MSG_RESULT([OK])
-fi
-
-AC_MSG_CHECKING([pkg-config --exists pangocairo])
-
-pkg-config --exists pangocairo
-
-if test $? -ne 0 ; then
-
+PKG_CHECK_MODULES([PANGOCAIRO],[pangocairo],,[
AC_MSG_ERROR([pkgconfig --exists pangocairo failed! do you have pango header installed?]);
+])
-else
-AC_MSG_RESULT([OK])
-fi
-
-
-AC_SUBST([LIBS],[$LIBS\ `pkg-config --libs cairo`])
-
-AC_SUBST([LIBS],[$LIBS\ `pkg-config --libs pangocairo`])
-
+AC_SUBST([LIBS],[$LIBS\ $CAIRO_LIBS\ $PANGOCAIRO_LIBS])
AC_ARG_ENABLE([debug],
[AC_HELP_STRING([--enable-debug],[enable debugging output. Default: disabled])],
@@ -127,11 +100,7 @@
dnl AC_SUBST([CPPFLAGS],[$CPPFLAGS\ \-rdynamic])
-AC_SUBST([CPPFLAGS],[$CPPFLAGS\ -I./pluginclude\ -I.\ -I./include\ -I../images\ -pedantic\ `fltk-config --cxxflags`])
-
-AC_SUBST([CPPFLAGS],[$CPPFLAGS\ `pkg-config --cflags cairo`])
-
-AC_SUBST([CPPFLAGS],[$CPPFLAGS\ `pkg-config --cflags pangocairo`])
+AC_SUBST([CPPFLAGS],[$CPPFLAGS\ -I./pluginclude\ -I.\ -I./include\ -I../images\ -pedantic\ `fltk-config --cxxflags`\ $CAIRO_CFLAGS\ $PANGOCAIRO_CFLAGS])
opt=`echo "$CPPFLAGS" | grep Wall`
@@ -194,7 +163,7 @@
[[Fl::run();]])],
[AC_MSG_RESULT([it works!])],
[AC_MSG_ERROR([fltk do not works], [1])],
-[AC_MSG_ERROR([fltk do not works], [1])])
+[AC_MSG_RESULT([cross: assuming ok])])
dnl AC_MSG_CHECKING([if libplot library works])
@@ -222,7 +191,7 @@
[XML_Parser p = XML_ParserCreate(NULL)])],
[AC_MSG_RESULT([it works!])],
[AC_MSG_ERROR([libexpat do not works], [1])],
-[AC_MSG_ERROR([libexpat do not works], [1])])
+[AC_MSG_RESULT([cross: assuming ok])])
@@ -236,13 +205,12 @@
[dlerror()])],
[AC_MSG_RESULT([it works!])],
[AC_MSG_ERROR([libdl do not works], [1])],
-[AC_MSG_ERROR([libdl do not works], [1])])
+[AC_MSG_RESULT([cross: assuming ok])])
AC_MSG_CHECKING([if cairo library works])
-AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <cairo/cairo.h>],
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <cairo/cairo.h>],
[cairo_t* cr])],
[AC_MSG_RESULT([it works!])],
-[AC_MSG_ERROR([libcairo do not works], [1])],
[AC_MSG_ERROR([libcairo do not works], [1])])
--- bist-0.5.2.orig/pluginsrc/TREcalc/configure.ac
+++ bist-0.5.2/pluginsrc/TREcalc/configure.ac
@@ -37,9 +37,9 @@
AC_SUBST([CPPFLAGS],[$CPPFLAGS\ -I../../include\ -I.\ `fltk-config --cxxflags`])
-AC_SUBST([CPPFLAGS],[$CPPFLAGS\ `pkg-config --cflags cairo`])
+PKG_CHECK_MODULES([PANGOCAIRO],[cairo pangocairo])
-AC_SUBST([CPPFLAGS],[$CPPFLAGS\ `pkg-config --cflags pangocairo`])
+AC_SUBST([CPPFLAGS],["$CPPFLAGS $PANGOCAIRO_CFLAGS"])
opt=`echo "$CPPFLAGS" | grep Wall`
@@ -52,11 +52,13 @@
AC_SUBST([LIBS],[$LIBS\ -lgsl\ -lgslcblas])
AC_MSG_CHECKING([if gsl library works])
+AC_CHECK_HEADER([gsl/gsl_poly.h],[
AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <gsl/gsl_poly.h>],
[gsl_poly_complex_workspace_alloc(2)])],
[AC_SUBST([HAVE_GSL],[TRUE]) echo "it works!"],
[AC_SUBST([HAVE_GSL],[FALSE]) echo "do not works!"],
-[AC_SUBST([HAVE_GSL],[FALSE]) echo "do not works!"])
+[AC_SUBST([HAVE_GSL],[TRUE]) echo "cross: assuming ok"])
+],[AC_SUBST([HAVE_GSL],[FALSE]) echo "gsl header missing"])
if [[ "$HAVE_GSL" = "FALSE" ]]; then
--- bist-0.5.2.orig/pluginsrc/fetch_nist_database/configure.ac
+++ bist-0.5.2/pluginsrc/fetch_nist_database/configure.ac
@@ -37,9 +37,9 @@
AC_SUBST([CPPFLAGS],[$CPPFLAGS\ -I../../include\ -I.\ `fltk-config --cxxflags`])
-AC_SUBST([CPPFLAGS],[$CPPFLAGS\ `pkg-config --cflags cairo`])
+PKG_CHECK_MODULES([PANGOCAIRO],[cairo pangocairo])
-AC_SUBST([CPPFLAGS],[$CPPFLAGS\ `pkg-config --cflags pangocairo`])
+AC_SUBST([CPPFLAGS],["$CPPFLAGS $PANGOCAIRO_CFLAGS"])
opt=`echo "$CPPFLAGS" | grep Wall`
--- End Message ---