diff --git a/pub/config.h.in b/pub/config.h.in index 7d352e20f859cc94413220b988fe1dd76a8b14c0..eefc046abbec90acc0faebd25999e4e725f5915b 100644 --- a/pub/config.h.in +++ b/pub/config.h.in @@ -18,6 +18,15 @@ */ #undef HAVE_ALLOCA_H +/* Define to 1 if you have the <boost/format.hpp> header file. */ +#undef HAVE_BOOST_FORMAT_HPP + +/* Define to 1 if you have the <boost/regex.hpp> header file. */ +#undef HAVE_BOOST_REGEX_HPP + +/* Define to 1 if you have the <boost/shared_ptr.hpp> header file. */ +#undef HAVE_BOOST_SHARED_PTR_HPP + /* Define to 1 if you have the <dlfcn.h> header file. */ #undef HAVE_DLFCN_H @@ -33,6 +42,16 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H +/* Define to 1 if you have the `boost_regex' library (-lboost_regex). */ +#undef HAVE_LIBBOOST_REGEX + +/* Define to 1 if you have the `boost_regex-gcc-mt' library + (-lboost_regex-gcc-mt). */ +#undef HAVE_LIBBOOST_REGEX_GCC_MT + +/* Define to 1 if you have the `boost_regex-mt' library (-lboost_regex-mt). */ +#undef HAVE_LIBBOOST_REGEX_MT + /* Define to 1 if you have the `fftw3' library (-lfftw3). */ #undef HAVE_LIBFFTW3 diff --git a/pub/configure b/pub/configure index 10d5db1b207ebd6bed85c12926912e6c830d39fd..2bba34ee1008b73c1b7c661af31b082aff7a72c5 100755 --- a/pub/configure +++ b/pub/configure @@ -15051,6 +15051,140 @@ else fi +# according to Sebastian, different boost lib versions must be expected: +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lboost_regex" >&5 +$as_echo_n "checking for main in -lboost_regex... " >&6; } +if test "${ac_cv_lib_boost_regex_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lboost_regex $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_boost_regex_main=yes +else + ac_cv_lib_boost_regex_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_boost_regex_main" >&5 +$as_echo "$ac_cv_lib_boost_regex_main" >&6; } +if test "x$ac_cv_lib_boost_regex_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBBOOST_REGEX 1 +_ACEOF + + LIBS="-lboost_regex $LIBS" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lboost_regex-mt" >&5 +$as_echo_n "checking for main in -lboost_regex-mt... " >&6; } +if test "${ac_cv_lib_boost_regex_mt_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lboost_regex-mt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_boost_regex_mt_main=yes +else + ac_cv_lib_boost_regex_mt_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_boost_regex_mt_main" >&5 +$as_echo "$ac_cv_lib_boost_regex_mt_main" >&6; } +if test "x$ac_cv_lib_boost_regex_mt_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBBOOST_REGEX_MT 1 +_ACEOF + + LIBS="-lboost_regex-mt $LIBS" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lboost_regex-gcc-mt" >&5 +$as_echo_n "checking for main in -lboost_regex-gcc-mt... " >&6; } +if test "${ac_cv_lib_boost_regex_gcc_mt_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lboost_regex-gcc-mt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_boost_regex_gcc_mt_main=yes +else + ac_cv_lib_boost_regex_gcc_mt_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_boost_regex_gcc_mt_main" >&5 +$as_echo "$ac_cv_lib_boost_regex_gcc_mt_main" >&6; } +if test "x$ac_cv_lib_boost_regex_gcc_mt_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBBOOST_REGEX_GCC_MT 1 +_ACEOF + + LIBS="-lboost_regex-gcc-mt $LIBS" + +else + + as_fn_error "\"Linking against boost::regex library failed.\"" "$LINENO" 5 + +fi + + +fi + + +fi + + +# in the future, check our own yamlcpp source +#AC_CHECK_FILE([yamlcpp/yaml.h], [LDFLAGS="-L"`pwd`"/yamlcpp"], +# [AC_MSG_ERROR(yamlcpp not found or corrupted)]) +# + # Checks for header files ## I put this one here only because qmake does: Make sure off_t is 64-bit in *nix, taken from http://www.google.com/search?q=cache:wlNJ8Qe4dBgJ:www.sfr-fresh.com/unix/privat/libfb-v0.18.4b-src.zip:a/src/rtlib/configure.ac+configure.ac+file+offset+bits&hl=de&ct=clnk&cd=5&gl=de&client=firefox-a @@ -15247,6 +15381,7 @@ _ACEOF fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then : @@ -15373,10 +15508,20 @@ fi done -# boost usability test does not work (see config.log: deep dependencies -# not fulfilled) -# AC_CHECK_HEADER([boost/shared_ptr.hpp], , -# [AC_MSG_ERROR(boost/shared_ptr.hpp not found)]) +for ac_header in boost/regex.hpp boost/format.hpp boost/shared_ptr.hpp +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + # Checks for typedefs, structures, and compiler characteristics { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 diff --git a/pub/configure.ac b/pub/configure.ac index 4157cbd907e0ddc499e3e85c1c1f51baf533f5e5..60a68d52a826dba89a974a073f7c28f71bb96cb7 100644 --- a/pub/configure.ac +++ b/pub/configure.ac @@ -55,17 +55,29 @@ AC_CHECK_LIB([lmmin], [lm_minimize], , AC_CHECK_LIB([kww], [kwwcf], , [AC_MSG_ERROR(libkww not found or out of sync)]) +# according to Sebastian, different boost lib versions must be expected: +AC_CHECK_LIB(boost_regex, main, , [ + AC_CHECK_LIB(boost_regex-mt, main, , [ + AC_CHECK_LIB(boost_regex-gcc-mt, main, , [ + AC_MSG_ERROR("Linking against boost::regex library failed.") + ]) + ]) +]) + +# in the future, check our own yamlcpp source +#AC_CHECK_FILE([yamlcpp/yaml.h], [LDFLAGS="-L"`pwd`"/yamlcpp"], +# [AC_MSG_ERROR(yamlcpp not found or corrupted)]) +# + # Checks for header files ## I put this one here only because qmake does: Make sure off_t is 64-bit in *nix, taken from http://www.google.com/search?q=cache:wlNJ8Qe4dBgJ:www.sfr-fresh.com/unix/privat/libfb-v0.18.4b-src.zip:a/src/rtlib/configure.ac+configure.ac+file+offset+bits&hl=de&ct=clnk&cd=5&gl=de&client=firefox-a AC_DEFINE([_FILE_OFFSET_BITS],64,[File offset bits]) AC_FUNC_ALLOCA + AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h inttypes.h libintl.h malloc.h stddef.h stdlib.h string.h sys/time.h unistd.h]) -# boost usability test does not work (see config.log: deep dependencies -# not fulfilled) -# AC_CHECK_HEADER([boost/shared_ptr.hpp], , -# [AC_MSG_ERROR(boost/shared_ptr.hpp not found)]) +AC_CHECK_HEADERS([boost/regex.hpp boost/format.hpp boost/shared_ptr.hpp]) # Checks for typedefs, structures, and compiler characteristics AC_HEADER_STDBOOL diff --git a/pub/src/func.cpp b/pub/src/func.cpp index 21196c71f95b39ae32932d2f369acd1dc948c835..a5a47b1a4b6ab90445e1a62a722a5cd36fdd1897 100644 --- a/pub/src/func.cpp +++ b/pub/src/func.cpp @@ -358,7 +358,7 @@ CCoord CFunc::coord( class CCoord *co1, class CCoord *co2 ) const CCoord co = *co1; if ( s=="+" || s=="-" ) { - if( co1->name!=co2->name ){ + if( co1->name==co2->name ){ if( co1->unit!=co2->unit ) throw string( "same coordinate name and different units" " in additive operation" ); diff --git a/pub/src/yamc.h b/pub/src/yamc.h index b0dd8c7533e4cbcfbc44d080554bf8e6015e3058..1588f5dd406661e657aa00557ce903c9188b4171 100644 --- a/pub/src/yamc.h +++ b/pub/src/yamc.h @@ -6,7 +6,7 @@ //* read YAML data files, using libyaml *// //**************************************************************************// -#include "yaml.h" +#include </io/yaml.h> class CYamlRead { public: