From: Olivier Sallou Date: Mon, 12 Mar 2012 16:05:37 +0000 (+0000) Subject: fix upstream bug for Hurd build X-Git-Tag: archive/raspbian/2.16.0+ds-7+rpi1~1^2~300 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=be254d57447b8eca6b55721922bed6d206a24f8f;p=ncbi-blast%2B.git fix upstream bug for Hurd build --- diff --git a/debian/changelog b/debian/changelog index cb7563ff..559d47fa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +ncbi-blast+ (2.2.26-2) unstable; urgency=low + + * debian/patches/wrong_path_to_touch.patch :Fix upstream FTBFS on the Hurd + hardcodes wrong path to touch (Closes: #663244) + + -- Olivier Sallou Wed, 07 Mar 2012 17:29:23 +0100 + ncbi-blast+ (2.2.26-1) unstable; urgency=low [ Olivier Sallou ] diff --git a/debian/patches/series b/debian/patches/series index 8eda07f4..988f0acb 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -2,3 +2,4 @@ hurd_fixes legacy_rename_rpsblast fix_lib_deps no_multiarch_rpath +wrong_path_to_touch.patch diff --git a/debian/patches/wrong_path_to_touch.patch b/debian/patches/wrong_path_to_touch.patch new file mode 100644 index 00000000..82d9f950 --- /dev/null +++ b/debian/patches/wrong_path_to_touch.patch @@ -0,0 +1,439 @@ +Subject: upstream bug using hard path for touch +Description: upstream makes use of a hard path that +does not match on hurd systems. Patch comes from upstream + and will be included in next release +Author: Olivier Sallou +Last-Updated: 12/03/2012 +--- a/c++/src/build-system/Makefile.meta.in ++++ b/c++/src/build-system/Makefile.meta.in +@@ -28,7 +28,7 @@ + + @make_shell@ + RM = /bin/rm +-TOUCH = /usr/bin/touch ++TOUCH = @TOUCH@ + MKDIR = /bin/mkdir + + signature = @signature@ +--- a/c++/src/build-system/Makefile.mk.in ++++ b/c++/src/build-system/Makefile.mk.in +@@ -54,7 +54,7 @@ + RMDIR = /bin/rm -rf + COPY = /bin/cp -p + BINCOPY = @BINCOPY@ +-TOUCH = /usr/bin/touch ++TOUCH = @TOUCH@ + MKDIR = /bin/mkdir + BINTOUCH = $(TOUCH) + LN_S = @LN_S@ +--- a/c++/src/build-system/NEWS ++++ b/c++/src/build-system/NEWS +@@ -8,3 +8,5 @@ + 2011-05-17: new @ncbi_java@ variable for --with-jni builds. + + 2011-10-05: new @FEATURES@ variable for the unit test framework. ++ ++2012-02-27: new @TOUCH@ variable to avoid hard-coded paths. +--- a/c++/src/build-system/configure ++++ b/c++/src/build-system/configure +@@ -318,7 +318,7 @@ + # include + #endif" + +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PROJECTS build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX MT_SFX DLL DLL_LIB_SETTING IF_WITH_DLL UNLESS_WITH_DLL STATIC USUAL_AND_DLL USUAL_AND_LIB LN_S RANLIB ac_ct_RANLIB AR STRIP DISTCC CCACHE TAIL EGREP VALGRIND_PATH CXXCPP TCHECK_CL AMQ CPP Z_INCLUDE Z_LIBS BZ2_INCLUDE BZ2_LIBS LZO_INCLUDE LZO_LIBS PCRE_INCLUDE PCRE_LIBS LIBGNUTLS_CONFIG GNUTLS_INCLUDE GNUTLS_LIBS OPENSSL_INCLUDE OPENSSL_LIBS FTDS64_INCLUDE FTDS64_LIBS FTDS64_LIB FTDS64_CTLIB_INCLUDE FTDS64_CTLIB_LIBS FTDS64_CTLIB_LIB FTDS_INCLUDE FTDS_LIBS FTDS_LIB freetds ftds64 mysql_config PYTHON PYTHON_INCLUDE PYTHON_LIBS PYTHON23 PYTHON23_INCLUDE PYTHON23_LIBS PYTHON24 PYTHON24_INCLUDE PYTHON24_LIBS PYTHON25 PYTHON25_INCLUDE PYTHON25_LIBS _ACJNI_JAVAC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS wxconf EXPAT_INCLUDE EXPAT_LIBS SABLOT_INCLUDE SABLOT_LIBS LIBXML_INCLUDE LIBXML_LIBS LIBXSLT_INCLUDE LIBXSLT_LIBS XSLTPROC SQLITE3_INCLUDE SQLITE3_LIBS OECHEM_INCLUDE OECHEM_LIBS SGE_INCLUDE SGE_LIBS MUPARSER_INCLUDE MUPARSER_LIBS HDF5_INCLUDE HDF5_LIBS JPEG_INCLUDE JPEG_LIBS PNG_INCLUDE PNG_LIBS TIFF_INCLUDE TIFF_LIBS UNGIF_INCLUDE UNGIF_LIBS GIF_INCLUDE GIF_LIBS XPM_INCLUDE XPM_LIBS freetype_config MAGIC_INCLUDE MAGIC_LIBS CURL_INCLUDE CURL_LIBS signature build_root top_srcdir srcdir status_dir builddir runpath ncbi_runpath c_ncbi_runpath LINK C_LINK TAIL_N EGREP_Q FAST_CFLAGS FAST_CXXFLAGS OBJCXX_CXXFLAGS DEPFLAGS DEPFLAGS_POST FAST_LDFLAGS APP_LDFLAGS DLL_LDFLAGS C_LIBS OBJCXX_LIBS GCCPCH RUNPATH_ORIGIN NO_STRICT_ALIASING D_SFX DEBUG_SFX LIB_OR_DLL FORCE_STATIC_LIB APP_LIB_SETTING APP_LIBS_SETTING LINK_DLL has_dll_loadable LINK_LOADABLE CFLAGS_DLL CXXFLAGS_DLL ALLOW_UNDEF FORBID_UNDEF OPT_GROUPS local_lbsm ncbi_crypt CONNEXT XCONNEXT serial bdb dbapi objects gui algo app internal sra check CHECK_ARG CHECK_TOOLS CHECK_TIMEOUT_MULT CHECK_OS_NAME FEATURES script_shell make_shell obj_ext lib_pre lib_l_pre lib_ext dll_ext loadable_ext lib_l_ext exe_ext f_compile f_outobj f_outlib f_libpath f_runpath f_outexe BDB_LIB BDB_CACHE_LIB DBAPI_DRIVER DBAPI_CTLIB DBAPI_DBLIB DBAPI_MYSQL DBAPI_ODBC THREAD_LIBS NCBIATOMIC_LIB NETWORK_LIBS NETWORK_PURE_LIBS RESOLVER_LIBS MATH_LIBS KSTAT_LIBS RPCSVC_LIBS CRYPT_LIBS DL_LIBS RT_LIBS UUID_LIBS DEMANGLE_LIBS ICONV_LIBS Z_LIB BZ2_LIB PCREPOSIX_LIBS PCRE_LIB OPENSSL_STATIC_LIBS TLS_INCLUDE TLS_LIBS SYBASE_PATH SYBASE_LCL_PATH SYBASE_INCLUDE SYBASE_LIBS SYBASE_DLLS SYBASE_DBLIBS MYSQL_INCLUDE MYSQL_LIBS BERKELEYDB_INCLUDE BERKELEYDB_LIBS BERKELEYDB_STATIC_LIBS BERKELEYDB_CXX_LIBS BERKELEYDB_CXX_STATIC_LIBS ODBC_INCLUDE ODBC_LIBS BOOST_INCLUDE BOOST_LIBPATH BOOST_TAG BOOST_REGEX_LIBS BOOST_REGEX_STATIC_LIBS BOOST_TEST_PEM_LIBS BOOST_TEST_PEM_STATIC_LIBS BOOST_TEST_TEM_LIBS BOOST_TEST_TEM_STATIC_LIBS BOOST_TEST_UTF_LIBS BOOST_TEST_UTF_STATIC_LIBS BOOST_THREAD_LIBS BOOST_THREAD_STATIC_LIBS NCBI_C_INCLUDE NCBI_C_LIBPATH OPENGL_INCLUDE OPENGL_LIBS OPENGL_STATIC_LIBS OSMESA_INCLUDE OSMESA_LIBS OSMESA_STATIC_LIBS GLUT_INCLUDE GLUT_LIBS GLEW_INCLUDE GLEW_LIBS GLEW_STATIC_LIBS FLTK_INCLUDE FLTK_LIBS FLTK_LIBS_GL FLTK_LIBS_IMAGES FLTK_LIBS_ALL FLTK_STATIC_LIBS FLTK_STATIC_LIBS_GL FLTK_STATIC_LIBS_IMAGES FLTK_STATIC_LIBS_ALL FLTK_CONFIG WXWIDGETS_INCLUDE WXWIDGETS_LIBS WXWIDGETS_STATIC_LIBS WXWIDGETS_GL_LIBS WXWIDGETS_GL_STATIC_LIBS WXWIDGETS_POST_LINK FASTCGI_INCLUDE FASTCGI_LIBS FASTCGI_OBJS NCBI_SSS_INCLUDE NCBI_SSS_LIBPATH LIBSSSUTILS LIBSSSDB sssutils SP_INCLUDE SP_LIBS ORBACUS_INCLUDE ORBACUS_LIBPATH LIBOB LIBIMR ICU_CONFIG ICU_INCLUDE ICU_LIBS ICU_STATIC_LIBS EXPAT_STATIC_LIBS SABLOT_STATIC_LIBS LIBXML_STATIC_LIBS LIBXSLT_STATIC_LIBS XERCES_INCLUDE XERCES_LIBS XERCES_STATIC_LIBS XALAN_INCLUDE XALAN_LIBS XALAN_STATIC_LIBS SQLITE3_STATIC_LIBS FREETYPE_INCLUDE FREETYPE_LIBS ncbi_xreader_pubseqos ncbi_xreader_pubseqos2 UNLESS_PUBSEQOS JDK_PATH JDK_INCLUDE ncbi_java NCBI_C_ncbi BINCOPY APP_NOCOPY APP_OR_NULL IF_REBUILDING_LIBS IF_REBUILDING_CONDITIONALLY IF_DEACTIVATING configurables_mfname CC_FILTER CXX_FILTER AR_FILTER LINK_FILTER CC_WRAPPER CXX_WRAPPER AR_WRAPPER LINK_WRAPPER KeepStateTarget Rules serial_ws50_rtti_kludge ncbicntr UNIX_SRC UNIX_USR_PROJ compiler compiler_root compiler_version COMPILER OSTYPE NCBI_PLATFORM_BITS LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PROJECTS build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX MT_SFX DLL DLL_LIB_SETTING IF_WITH_DLL UNLESS_WITH_DLL STATIC USUAL_AND_DLL USUAL_AND_LIB LN_S RANLIB ac_ct_RANLIB AR STRIP DISTCC CCACHE TAIL TOUCH EGREP VALGRIND_PATH CXXCPP TCHECK_CL AMQ CPP Z_INCLUDE Z_LIBS BZ2_INCLUDE BZ2_LIBS LZO_INCLUDE LZO_LIBS PCRE_INCLUDE PCRE_LIBS LIBGNUTLS_CONFIG GNUTLS_INCLUDE GNUTLS_LIBS OPENSSL_INCLUDE OPENSSL_LIBS FTDS64_INCLUDE FTDS64_LIBS FTDS64_LIB FTDS64_CTLIB_INCLUDE FTDS64_CTLIB_LIBS FTDS64_CTLIB_LIB FTDS_INCLUDE FTDS_LIBS FTDS_LIB freetds ftds64 mysql_config PYTHON PYTHON_INCLUDE PYTHON_LIBS PYTHON23 PYTHON23_INCLUDE PYTHON23_LIBS PYTHON24 PYTHON24_INCLUDE PYTHON24_LIBS PYTHON25 PYTHON25_INCLUDE PYTHON25_LIBS _ACJNI_JAVAC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS wxconf EXPAT_INCLUDE EXPAT_LIBS SABLOT_INCLUDE SABLOT_LIBS LIBXML_INCLUDE LIBXML_LIBS LIBXSLT_INCLUDE LIBXSLT_LIBS XSLTPROC SQLITE3_INCLUDE SQLITE3_LIBS OECHEM_INCLUDE OECHEM_LIBS SGE_INCLUDE SGE_LIBS MUPARSER_INCLUDE MUPARSER_LIBS HDF5_INCLUDE HDF5_LIBS JPEG_INCLUDE JPEG_LIBS PNG_INCLUDE PNG_LIBS TIFF_INCLUDE TIFF_LIBS UNGIF_INCLUDE UNGIF_LIBS GIF_INCLUDE GIF_LIBS XPM_INCLUDE XPM_LIBS freetype_config MAGIC_INCLUDE MAGIC_LIBS CURL_INCLUDE CURL_LIBS signature build_root top_srcdir srcdir status_dir builddir runpath ncbi_runpath c_ncbi_runpath LINK C_LINK TAIL_N EGREP_Q FAST_CFLAGS FAST_CXXFLAGS OBJCXX_CXXFLAGS DEPFLAGS DEPFLAGS_POST FAST_LDFLAGS APP_LDFLAGS DLL_LDFLAGS C_LIBS OBJCXX_LIBS GCCPCH RUNPATH_ORIGIN NO_STRICT_ALIASING D_SFX DEBUG_SFX LIB_OR_DLL FORCE_STATIC_LIB APP_LIB_SETTING APP_LIBS_SETTING LINK_DLL has_dll_loadable LINK_LOADABLE CFLAGS_DLL CXXFLAGS_DLL ALLOW_UNDEF FORBID_UNDEF OPT_GROUPS local_lbsm ncbi_crypt CONNEXT XCONNEXT serial bdb dbapi objects gui algo app internal sra check CHECK_ARG CHECK_TOOLS CHECK_TIMEOUT_MULT CHECK_OS_NAME FEATURES script_shell make_shell obj_ext lib_pre lib_l_pre lib_ext dll_ext loadable_ext lib_l_ext exe_ext f_compile f_outobj f_outlib f_libpath f_runpath f_outexe BDB_LIB BDB_CACHE_LIB DBAPI_DRIVER DBAPI_CTLIB DBAPI_DBLIB DBAPI_MYSQL DBAPI_ODBC THREAD_LIBS NCBIATOMIC_LIB NETWORK_LIBS NETWORK_PURE_LIBS RESOLVER_LIBS MATH_LIBS KSTAT_LIBS RPCSVC_LIBS CRYPT_LIBS DL_LIBS RT_LIBS UUID_LIBS DEMANGLE_LIBS ICONV_LIBS Z_LIB BZ2_LIB PCREPOSIX_LIBS PCRE_LIB OPENSSL_STATIC_LIBS TLS_INCLUDE TLS_LIBS SYBASE_PATH SYBASE_LCL_PATH SYBASE_INCLUDE SYBASE_LIBS SYBASE_DLLS SYBASE_DBLIBS MYSQL_INCLUDE MYSQL_LIBS BERKELEYDB_INCLUDE BERKELEYDB_LIBS BERKELEYDB_STATIC_LIBS BERKELEYDB_CXX_LIBS BERKELEYDB_CXX_STATIC_LIBS ODBC_INCLUDE ODBC_LIBS BOOST_INCLUDE BOOST_LIBPATH BOOST_TAG BOOST_REGEX_LIBS BOOST_REGEX_STATIC_LIBS BOOST_TEST_PEM_LIBS BOOST_TEST_PEM_STATIC_LIBS BOOST_TEST_TEM_LIBS BOOST_TEST_TEM_STATIC_LIBS BOOST_TEST_UTF_LIBS BOOST_TEST_UTF_STATIC_LIBS BOOST_THREAD_LIBS BOOST_THREAD_STATIC_LIBS NCBI_C_INCLUDE NCBI_C_LIBPATH OPENGL_INCLUDE OPENGL_LIBS OPENGL_STATIC_LIBS OSMESA_INCLUDE OSMESA_LIBS OSMESA_STATIC_LIBS GLUT_INCLUDE GLUT_LIBS GLEW_INCLUDE GLEW_LIBS GLEW_STATIC_LIBS FLTK_INCLUDE FLTK_LIBS FLTK_LIBS_GL FLTK_LIBS_IMAGES FLTK_LIBS_ALL FLTK_STATIC_LIBS FLTK_STATIC_LIBS_GL FLTK_STATIC_LIBS_IMAGES FLTK_STATIC_LIBS_ALL FLTK_CONFIG WXWIDGETS_INCLUDE WXWIDGETS_LIBS WXWIDGETS_STATIC_LIBS WXWIDGETS_GL_LIBS WXWIDGETS_GL_STATIC_LIBS WXWIDGETS_POST_LINK FASTCGI_INCLUDE FASTCGI_LIBS FASTCGI_OBJS NCBI_SSS_INCLUDE NCBI_SSS_LIBPATH LIBSSSUTILS LIBSSSDB sssutils SP_INCLUDE SP_LIBS ORBACUS_INCLUDE ORBACUS_LIBPATH LIBOB LIBIMR ICU_CONFIG ICU_INCLUDE ICU_LIBS ICU_STATIC_LIBS EXPAT_STATIC_LIBS SABLOT_STATIC_LIBS LIBXML_STATIC_LIBS LIBXSLT_STATIC_LIBS XERCES_INCLUDE XERCES_LIBS XERCES_STATIC_LIBS XALAN_INCLUDE XALAN_LIBS XALAN_STATIC_LIBS SQLITE3_STATIC_LIBS FREETYPE_INCLUDE FREETYPE_LIBS ncbi_xreader_pubseqos ncbi_xreader_pubseqos2 UNLESS_PUBSEQOS JDK_PATH JDK_INCLUDE ncbi_java NCBI_C_ncbi BINCOPY APP_NOCOPY APP_OR_NULL IF_REBUILDING_LIBS IF_REBUILDING_CONDITIONALLY IF_DEACTIVATING configurables_mfname CC_FILTER CXX_FILTER AR_FILTER LINK_FILTER CC_WRAPPER CXX_WRAPPER AR_WRAPPER LINK_WRAPPER KeepStateTarget Rules serial_ws50_rtti_kludge ncbicntr UNIX_SRC UNIX_USR_PROJ compiler compiler_root compiler_version COMPILER OSTYPE NCBI_PLATFORM_BITS LIBOBJS LTLIBOBJS' + ac_subst_files='' + + # Initialize some variables set by options. +@@ -874,6 +874,7 @@ + =============================================================================== + =============== NCBI C++ Toolkit specific configuration flags ================= + --without-debug build non-debug versions of libs and apps ++ --with-max-debug, enable extra runtime checks (esp. of STL usage) + --with-symbols retain debugging symbols in non-debug mode + --without-optimization turn off optimization flags in non-debug mode + --with-profiling build profiled versions of libs and apps +@@ -893,6 +894,7 @@ + --with-relative-runpath=P specify an executable-relative DLL search path + --with-hard-runpath hard-code runtime path, ignoring LD_LIBRARY_PATH + --with-lfs enable large file support to the extent possible ++ --with-limited-linker don't attempt to build especially large projects + --with-extra-action= script to call after the configuration is complete + --with-autodep automatic generation of dependencies (GNU make) + --with-build-root=DIR specify a non-default build directory name +@@ -1846,6 +1848,12 @@ + + fi; + ++# Check whether --with-max-debug or --without-max-debug was given. ++if test "${with_max_debug+set}" = set; then ++ withval="$with_max_debug" ++ ++fi; ++ + # Check whether --with-symbols or --without-symbols was given. + if test "${with_symbols+set}" = set; then + withval="$with_symbols" +@@ -1960,6 +1968,12 @@ + + fi; + ++# Check whether --with-limited-linker or --without-limited-linker was given. ++if test "${with_limited_linker+set}" = set; then ++ withval="$with_limited_linker" ++ ++fi; ++ + ## Scripts, make features, and directory naming + + # Check whether --with-extra-action or --without-extra-action was given. +@@ -2812,8 +2826,9 @@ + + #### Check the passed arguments against the list of available ones + x_with_list="\ +-debug symbols optimization profiling tcheck dll static static-exe bundles \ +-plugin-auto-load bin-release mt 64 universal exe runpath hard-runpath lfs \ ++debug max-debug symbols optimization profiling tcheck dll static static-exe \ ++plugin-auto-load bundles bin-release mt 64 universal exe runpath hard-runpath \ ++lfs limited-linker \ + autodep suffix hostspec version execopy bincopy lib-rebuilds lib-rebuilds=ask \ + deactivation makefile-auto-update projects flat-makefile configure-dialog \ + check ncbi-public strip pch caution ccache distcc \ +@@ -2985,6 +3000,11 @@ + if test "$with_debug" = no; then + : ${with_symbols=no} + : ${with_optimization=yes} ++ if test "$with_max_debug" = yes; then ++ { { echo "$as_me:$LINENO: error: incompatible options: --without-debug but --with-max-debug" >&5 ++echo "$as_me: error: incompatible options: --without-debug but --with-max-debug" >&2;} ++ { (exit 1); exit 1; }; } ++ fi + else + : ${with_symbols=yes} + : ${with_optimization=no} +@@ -4962,6 +4982,9 @@ + echo "$as_me:$LINENO: result: $ncbi_cv_prog_cc_wl_rpath" >&5 + echo "${ECHO_T}$ncbi_cv_prog_cc_wl_rpath" >&6 + ;; ++ cygwin*:GCC ) ++ LDFLAGS="-Wl,--export-all-symbols $LDFLAGS" ++ ;; + *:GCC | *:ICC ) + echo "$as_me:$LINENO: checking whether $CC supports -Wl,-E" >&5 + echo $ECHO_N "checking whether $CC supports -Wl,-E... $ECHO_C" >&6 +@@ -5217,6 +5240,10 @@ + ;; + + darwin*:GCC) ++ case `uname -m` in ++ *64 ) : ${with_64=yes} ;; ++ * ) : ${with_64=no} ;; ++ esac + # Per , it was + # historically necessary to build plugins as Mach-O bundles rather than + # dynamic libraries. That's not such a big deal on modern Mac OS X +@@ -5229,14 +5256,16 @@ + fi + if $CXX -v 2>&1 | grep -q Apple; then + CFLAGS="-fpascal-strings $CFLAGS" +- CXXFLAGS="-fno-permissive -fpascal-strings $CXXFLAGS" ++ CXXFLAGS="-fpascal-strings $CXXFLAGS" ++ $CXX -v 2>&1 | grep -q clang || CXXFLAGS="-fno-permissive $CXXFLAGS" + # -flat_namespace is necessary for proper handling of shared libraries + # that don't themselves link against all their dependencies. + LDFLAGS="-flat_namespace $LDFLAGS" + + if test "$with_ncbi_public" = yes; then + TARGET='-mmacosx-version-min=10.5' +- if test -d /Developer/SDKs/MacOSX10.5.sdk; then ++ if test "$with_64:${with_universal-no}" != "yes:no" \ ++ -a -d /Developer/SDKs/MacOSX10.5.sdk; then + TARGET="-isysroot /Developer/SDKs/MacOSX10.5.sdk $TARGET" + fi + CC="$CC $TARGET" +@@ -5271,11 +5300,6 @@ + + OBJCXX_CXXFLAGS='-x objective-c++' + OBJCXX_LIBS='-lobjc' +- +- case `uname -m` in +- *64 ) : ${with_64=yes} ;; +- * ) : ${with_64=no} ;; +- esac + ;; + esac + +@@ -5579,6 +5603,9 @@ + CPPFLAGS="$LFSFLAGS $CPPFLAGS" + fi + ++tabchar=' ' ++wschars=" $tabchar" ++wsrx="[$wschars]" + + #### Flags to enable (potentially unsafe) extra optimization. + if test -z "$DEF_FAST_FLAGS" -o -z "$FAST_CXXFLAGS" ; then +@@ -5601,7 +5628,7 @@ + ;; + WorkShop5[89]* | WorkShop510 ) + # Limit optimization to -xO2 (-O now maps to -xO3) due to compiler bugs. +- subst='s/[ ]-x*O[1-9]*//g' ++ subst="s/$wsrx-x*O[1-9]*//g" + CFLAGS="` echo \" $CFLAGS\" | sed -e \"$subst\"` -xO2" + CXXFLAGS="`echo \" $CXXFLAGS\" | sed -e \"$subst\"` -xO2" + LDFLAGS="` echo \" $LDFLAGS\" | sed -e \"$subst\"` -xO2" +@@ -5688,7 +5715,7 @@ + solaris* ) + CONF_f_runpath="-R" + ;; +- linux*:GCC | *bsd*:GCC | cygwin*:GCC | osf*:GCC | gnu*:GCC ) ++ linux*:GCC | *bsd*:GCC | cygwin*:GCC | osf*:GCC ) + CONF_f_runpath="-Wl,-rpath," + ;; + linux*:ICC ) +@@ -5751,7 +5778,7 @@ + break + ;; + /* ) +- fgrep -qsx $abs_dir /etc/ld.so.conf.d/* || found=true ++ found=true + break + ;; + esac +@@ -6615,6 +6642,46 @@ + echo "${ECHO_T}no" >&6 + fi + ++# Extract the first word of "touch", so it can be a program name with args. ++set dummy touch; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_path_TOUCH+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ case $TOUCH in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_TOUCH="$TOUCH" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_dummy="/bin:/usr/bin:$PATH" ++for as_dir in $as_dummy ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_path_TOUCH="$as_dir/$ac_word$ac_exec_ext" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++ ;; ++esac ++fi ++TOUCH=$ac_cv_path_TOUCH ++ ++if test -n "$TOUCH"; then ++ echo "$as_me:$LINENO: result: $TOUCH" >&5 ++echo "${ECHO_T}$TOUCH" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ + echo "$as_me:$LINENO: checking for egrep" >&5 + echo $ECHO_N "checking for egrep... $ECHO_C" >&6 + if test "${ac_cv_prog_egrep+set}" = set; then +@@ -8028,13 +8095,13 @@ + _ACEOF + + fi +- if $CXX -v 2>&1 | grep -q Apple; then ++ if $CXX -v 2>&1 | egrep -q 'Apple|clang'; then + LINK_DLL="$LINK $ARCH_CFLAGS -dynamiclib -install_name ${pure_runpath%%:*}/\$(XDLL) -o" + LINK_LOADABLE="$LINK $ARCH_CFLAGS -bundle -o" + ALLOW_UNDEF='-undefined suppress' + FORBID_UNDEF='-undefined error' + else +- LINK_DLL="$CC $ARCH_CFLAGS -nostartfiles -Wl,-dynamic -install_name ${pure_runpath%%:*}/\$(XDLL) -o" ++ LINK_DLL="$CC $ARCH_CFLAGS -nostartfiles -Wl,-dynamic -Wl,-dylib -Wl,-install_name,${pure_runpath%%:*}/\$(XDLL) -o" + LINK_LOADABLE="$CC $ARCH_CFLAGS -nostartfiles -Wl,-dynamic -Wl,-bundle -Wl,-read_only_relocs,warning -lbundle1.o -o" + ALLOW_UNDEF='-Wl,-undefined,suppress' + FORBID_UNDEF='-Wl,-undefined,error' +@@ -8696,7 +8763,7 @@ + fi + + +-#### Manage the debug-vs.-optimization flags ("--with(out)-debug", ++#### Manage the debug-vs.-optimization flags ("--with(out)-(max-)debug", + #### "--with(out)-symbols", "--with(out)-optimization") + if test "$compiler" != "MSVC" ; then + if test "$with_debug" = "no" -o "$with_tcheck" != "no"; then +@@ -8705,23 +8772,42 @@ + CPPFLAGS="-D_DEBUG $CPPFLAGS" + fi + ++ if test "$with_max_debug" = "yes"; then ++ case "$compiler" in ++ GCC ) ++ CPPFLAGS="-D_GLIBCXX_DEBUG $CPPFLAGS" ++ CFLAGS="-fstack-check $CFLAGS" ++ CXXFLAGS="-fstack-check $CXXFLAGS" ++ ;; ++ ICC ) ++ CPPFLAGS="-D_GLIBCXX_DEBUG $CPPFLAGS" ++ CFLAGS="-debug all -fstack-security-check -ftrapuv $CFLAGS" ++ CXXFLAGS="-debug all -fstack-security-check -ftrapuv $CXXFLAGS" ++ ;; ++ WorkShop* ) ++ CFLAGS="-xcheck=%all $CFLAGS" ++ CXXFLAGS="-xcheck=%all $CXXFLAGS" ++ ;; ++ esac ++ WithFeatures="$WithFeatures${WithFeaturesSep}MaxDebug"; WithFeaturesSep=" " ++ fi ++ dbgrx1="$wsrx-g[^cx$wschars]*$wsrx" ++ dbgrx2="$wsrx-gx*coff[0-9+]*$wsrx" ++ optrx="$wsrx-x*O[0-9s]*$wsrx" + if test "$with_symbols" = "no" ; then +- CFLAGS=` echo " $CFLAGS" | sed 's/[ ]-g[0-9]*//g'` +- CXXFLAGS=`echo " $CXXFLAGS" | sed 's/[ ]-g[0-9]*//g'` +- LDFLAGS=` echo " $LDFLAGS" | sed 's/[ ]-g[0-9]*//g'` ++ CFLAGS=` echo " $CFLAGS " | sed "s/$dbgrx1/ /g; s/$dbgrx2/ /g"` ++ CXXFLAGS=`echo " $CXXFLAGS " | sed "s/$dbgrx1/ /g; s/$dbgrx2/ /g"` ++ LDFLAGS=` echo " $LDFLAGS " | sed "s/$dbgrx1/ /g; s/$dbgrx2/ /g"` + else +- if echo " $CFLAGS" |grep -v >/dev/null '[ ]-g[0-9]*' ; then +- CFLAGS="$CFLAGS -g" ; fi +- if echo " $CXXFLAGS" |grep -v >/dev/null '[ ]-g[0-9]*' ; then +- CXXFLAGS="$CXXFLAGS -g" ; fi +- if echo " $LDFLAGS" |grep -v >/dev/null '[ ]-g[0-9]*' ; +- then LDFLAGS="$LDFLAGS -g" ; fi ++ echo " $CFLAGS " | $EGREP_Q "$dbgrx1|$dbgrx2" || CFLAGS="$CFLAGS -g" ++ echo " $CXXFLAGS "| $EGREP_Q "$dbgrx1|$dbgrx2" || CXXFLAGS="$CXXFLAGS -g" ++ echo " $LDFLAGS " | $EGREP_Q "$dbgrx1|$dbgrx2" || LDFLAGS="$LDFLAGS -g" + STRIP="@:" + fi + +- NOPT_CFLAGS=` echo " $CFLAGS" | sed 's/[ ]-x*O[0-9]*//g'` +- NOPT_CXXFLAGS=`echo " $CXXFLAGS" | sed 's/[ ]-x*O[0-9]*//g'` +- NOPT_LDFLAGS=` echo " $LDFLAGS" | sed 's/[ ]-x*O[0-9]*//g'` ++ NOPT_CFLAGS=` echo " $CFLAGS " | sed "s/$optrx/ /g"` ++ NOPT_CXXFLAGS=`echo " $CXXFLAGS " | sed "s/$optrx/ /g"` ++ NOPT_LDFLAGS=` echo " $LDFLAGS " | sed "s/$optrx/ /g"` + if test "${with_tcheck-no}" != "no"; then + # Suppress warnings when building with ICC. + NOPT_CFLAGS="$NOPT_CFLAGS -O0" +@@ -8736,11 +8822,11 @@ + FAST_CXXFLAGS="$CXXFLAGS" + FAST_LDFLAGS="$LDFLAGS" + else +- if echo " $CFLAGS" |grep -v >/dev/null '[ ]-x*O[0-9]*' ; then ++ if echo " $CFLAGS " | grep -v "$optrx" >/dev/null ; then + CFLAGS="$CFLAGS -O" ; fi +- if echo " $CXXFLAGS" |grep -v >/dev/null '[ ]-x*O[0-9]*' ; then ++ if echo " $CXXFLAGS " | grep -v "$optrx" >/dev/null ; then + CXXFLAGS="$CXXFLAGS -O" ; fi +- if echo " $LDFLAGS" |grep -v >/dev/null '[ ]-x*O[0-9]*' ; then ++ if echo " $LDFLAGS " | grep -v "$optrx" >/dev/null ; then + LDFLAGS="$LDFLAGS -O" ; fi + FAST_CFLAGS="$NOPT_CFLAGS $FAST_CFLAGS" + FAST_CXXFLAGS="$NOPT_CXXFLAGS $FAST_CXXFLAGS" +@@ -17916,8 +18002,8 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ncbi_cv_c_forceinline=no +- for fi in forceinline __forceinline__ __forceinline __always_inline \ +- "inline __attribute__((always_inline))" inline __inline__; do ++ for fi in __always_inline "inline __attribute__((always_inline))" \ ++ forceinline __forceinline__ __forceinline inline __inline__; do + test "$ncbi_cv_c_forceinline" = "no" || break + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +@@ -22719,7 +22805,8 @@ + + _ACEOF + eval "$ac_cpp $BERKELEYDB_INCLUDE conftest.$ac_ext" \ +- 2>&5 | grep '^ncbi_cv_' | tr -d ' ' > conftest.sh ++ 2>&5 | grep '^ncbi_cv_' \ ++ | tr -d "$wschars" > conftest.sh + . ./conftest.sh + rm -f contest* + +@@ -24277,7 +24364,8 @@ + + _ACEOF + eval "$ac_cpp $BOOST_INCLUDE conftest.$ac_ext" \ +- 2>&5 | grep '^ncbi_cv_' | tr -d ' ' > conftest.sh ++ 2>&5 | grep '^ncbi_cv_' \ ++ | tr -d "$wschars" > conftest.sh + . ./conftest.sh + rm -f contest* + +@@ -24324,7 +24412,7 @@ + case "$with_boost_tag" in + yes | "" ) + case "$host_os:$ncbi_compiler" in +- darwin*:GCC) BOOST_TAG="" ;; ++ darwin*:GCC) BOOST_TAG="-xgcc" ;; + *:GCC) BOOST_TAG="-gcc" ;; + *:KCC) BOOST_TAG="-kcc" ;; + linux*:ICC) BOOST_TAG="-il" ;; +@@ -24335,8 +24423,8 @@ + *:MSVC) BOOST_TAG="-vc" ;; + esac + case "$BOOST_TAG" in +- -gcc|-il ) boost_comp_vers=`echo $compiler_version | cut -c1-2` ;; +- * ) boost_comp_vers='' ;; ++ -*gcc|-il ) boost_comp_vers=`echo $compiler_version | cut -c1-2` ;; ++ * ) boost_comp_vers='' ;; + esac + test "$with_mt" = "yes" && BOOST_MT=-mt + test "$with_debug" = "yes" && BOOST_D=-d +@@ -32758,11 +32846,15 @@ + ;; + esac + ++if test "${with_limited_linker}" = "yes"; then ++ WithFeatures="$WithFeatures${WithFeaturesSep}LimitedLinker"; WithFeaturesSep=" " ++fi ++ + FEATURES="$WithFeatures $WithPackages $WithProjects" + + ### Compute Without{Features,Packages,Projects}. Takes quadratic time, + ### but that's life. +-for x in GCC KCC ICC VisualAge CompaqCompiler WorkShop MIPSpro MSVC MT DLL DLL_BUILD MSWin unix WinMain AIX BSD Cygwin CygwinMT Darwin XCODE IRIX Linux OSF Solaris MacOS in-house-resources PubSeqOS JDK Ncbi-JNI check Valgrind; do ++for x in GCC KCC ICC VisualAge CompaqCompiler WorkShop MIPSpro MSVC MT DLL DLL_BUILD MaxDebug MSWin unix WinMain AIX BSD Cygwin CygwinMT Darwin XCODE IRIX Linux OSF Solaris MacOS in-house-resources PubSeqOS JDK Ncbi-JNI check Valgrind LimitedLinker; do + case " $WithFeatures " in + *" $x "*) ;; + *) WithoutFeatures="$WithoutFeatures$WithoutFeaturesSep$x" +@@ -33848,6 +33940,7 @@ + s,@DISTCC@,$DISTCC,;t t + s,@CCACHE@,$CCACHE,;t t + s,@TAIL@,$TAIL,;t t ++s,@TOUCH@,$TOUCH,;t t + s,@EGREP@,$EGREP,;t t + s,@VALGRIND_PATH@,$VALGRIND_PATH,;t t + s,@CXXCPP@,$CXXCPP,;t t +@@ -34875,7 +34968,7 @@ + -s "$real_srcdir" $cfm_flags && test -f "$builddir/Makefile.flat"; then + build_flat="Alternatively, cd $builddir && make -f Makefile.flat" + elif test -f "$builddir/Flat.configuration_log"; then +- grep 'already defined' "$builddir/Flat.configuration_log" ++ $EGREP 'Error:|already defined' "$builddir/Flat.configuration_log" + { { echo "$as_me:$LINENO: error: flat makefile generation failed." >&5 + echo "$as_me: error: flat makefile generation failed." >&2;} + { (exit 1); exit 1; }; } +--- a/c++/src/build-system/configure.ac ++++ b/c++/src/build-system/configure.ac +@@ -1965,6 +1965,7 @@ + AC_MSG_RESULT(no) + fi + ++AC_PATH_PROG(TOUCH, touch, [], /bin:/usr/bin:$PATH) + AC_PROG_EGREP + AC_MSG_CHECKING([how to run $EGREP quietly]) + if test -z "`echo foo | $EGREP -q fo+ 2>>config.log || echo $?`"; then