Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: make the build more reproducible
--- ncbi-blastplus.orig/c++/src/build-system/configure.ac
+++ ncbi-blastplus/c++/src/build-system/configure.ac
@@ -2826,13 +2826,13 @@
    linux*)
       kver=`uname -r | sed -e 's/-.*//'`
       libcver=`ldd --version | awk 'NR == 1 { print $NF }'`
-      verbose_host=$host_cpu-$host_vendor-linux$kver-gnu$libcver
+      verbose_host=$host_cpu-$host_vendor-linux-gnu$libcver
       ;;
    *) verbose_host=$host ;;
 esac
 
 #### Overall configuration mode summary
-signature_hostname=`(hostname || uname -n) 2>/dev/null \
+signature_hostname=`echo debian_build 2>/dev/null \
     | sed 's/\..*//; s/-/_/g; 1q'`
 signature="${signature_compiler}_${signature_compiler_version}-${release_debug}${mt_sfx}${dll_sfx}${bit64_sfx}${prof_sfx}--${verbose_host}-${signature_hostname}"
 AC_DEFINE_UNQUOTED(NCBI_SIGNATURE, "$signature",
--- ncbi-blastplus.orig/c++/include/algo/blast/core/blast_message.h
+++ ncbi-blastplus/c++/include/algo/blast/core/blast_message.h
@@ -117,7 +117,7 @@
 
 /** Convenient define to call the function Blast_PerrorEx. */
 #define Blast_PerrorWithLocation(msg, error_code, context) \
-Blast_PerrorEx(msg, error_code, __FILE__, __LINE__, context)
+Blast_PerrorEx(msg, error_code, "c++/include/algo/blast/core/blast_message.h", __LINE__, context)
 
 /** Extended version of Blast_Perror which includes parameters for the file
  * name and line number where the error/warning occurred. This function should
--- ncbi-blastplus.orig/c++/include/connect/ncbi_util.h
+++ ncbi-blastplus/c++/include/connect/ncbi_util.h
@@ -113,7 +113,7 @@
  */
 #define  LOG_WRITE(lg, code, subcode, level, message)                        \
     LOG_Write(lg, code, subcode, level, THIS_MODULE, CORE_CURRENT_FUNCTION,  \
-              __FILE__, __LINE__, message, 0, 0)
+              "c++/include/connect/ncbi_util.h", __LINE__, message, 0, 0)
 
 #ifdef   LOG_DATA
 /* AIX's <pthread.h> defines LOG_DATA to be an integer constant;
@@ -122,7 +122,7 @@
 #endif
 #define  LOG_DATA(lg, code, subcode, level, data, size, message)             \
     LOG_Write(lg, code, subcode, level, THIS_MODULE, CORE_CURRENT_FUNCTION,  \
-              __FILE__, __LINE__, message, data, size)
+              "c++/include/connect/ncbi_util.h", __LINE__, message, data, size)
 
 
 /** Default for THIS_MODULE.
--- ncbi-blastplus.orig/c++/include/corelib/impl/ncbi_java.h
+++ ncbi-blastplus/c++/include/corelib/impl/ncbi_java.h
@@ -63,7 +63,7 @@
 
 #define JAVA_ABORT(msg) \
     { \
-        NcbiCerr << __FILE__ << ": " << NCBI_CURRENT_FUNCTION << ": " msg << endl; \
+        NcbiCerr << "c++/include/corelib/impl/ncbi_java.h" << ": " << NCBI_CURRENT_FUNCTION << ": " msg << endl; \
         abort(); \
     }
 
--- ncbi-blastplus.orig/c++/include/corelib/ncbidiag.hpp
+++ ncbi-blastplus/c++/include/corelib/ncbidiag.hpp
@@ -167,7 +167,7 @@
 /// @sa
 ///   CDiagCompileInfo
 #define DIAG_COMPILE_INFO                                           \
-    NCBI_NS_NCBI::CDiagCompileInfo(__FILE__,                        \
+    NCBI_NS_NCBI::CDiagCompileInfo("c++/include/corelib/ncbidiag.hpp",                        \
                                    __LINE__,                        \
                                    NCBI_CURRENT_FUNCTION,           \
                                    NCBI_MAKE_MODULE(NCBI_MODULE))
--- ncbi-blastplus.orig/c++/include/corelib/test_boost.hpp
+++ ncbi-blastplus/c++/include/corelib/test_boost.hpp
@@ -249,7 +249,7 @@
 BOOST_JOIN( BOOST_JOIN( test_name, _registrar ), __LINE__ ) (           \
     boost::unit_test::make_test_case(                                   \
         &BOOST_AUTO_TC_INVOKER( test_name ), #test_name,                \
-        __FILE__, __LINE__ ),                                           \
+        "c++/include/corelib/test_boost.hpp", __LINE__ ),                                           \
     ::NCBI_NS_NCBI::SNcbiTestTCTimeout<                                 \
         BOOST_AUTO_TC_UNIQUE_ID( test_name )>::instance()->value(),     \
     decorators );                                                       \
--- ncbi-blastplus.orig/c++/include/objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp
+++ ncbi-blastplus/c++/include/objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp
@@ -1124,7 +1124,7 @@
 #define SEQDB_FILE_ASSERT(YESNO)                                        \
     do {                                                                \
         if (! (YESNO)) {                                                \
-            SeqDB_FileIntegrityAssert(__FILE__, __LINE__, (#YESNO));    \
+            SeqDB_FileIntegrityAssert("c++/include/objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp", __LINE__, (#YESNO));    \
         }                                                               \
     } while(0)
 
--- ncbi-blastplus.orig/c++/include/util/ddump_viewer.hpp
+++ ncbi-blastplus/c++/include/util/ddump_viewer.hpp
@@ -49,7 +49,7 @@
 //
 
 #define DEBUGDUMP_BPT(name,obj)  \
-    do {CDebugDumpViewer().Bpt(name,&(obj),__FILE__,__LINE__);} while (0)
+    do {CDebugDumpViewer().Bpt(name,&(obj),"c++/include/util/ddump_viewer.hpp",__LINE__);} while (0)
 
 
 //---------------------------------------------------------------------------
--- ncbi-blastplus.orig/c++/include/util/static_set.hpp
+++ ncbi-blastplus/c++/include/util/static_set.hpp
@@ -886,17 +886,17 @@
     static const Type Var
 
 #define DEFINE_STATIC_ARRAY_MAP(Type, Var, Array)                       \
-    static const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__)
+    static const Type (Var)((Array), sizeof(Array), "c++/include/util/static_set.hpp", __LINE__)
 
 #define DEFINE_CLASS_STATIC_ARRAY_MAP(Type, Var, Array)                 \
-    const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__)
+    const Type (Var)((Array), sizeof(Array), "c++/include/util/static_set.hpp", __LINE__)
 
 #define DEFINE_STATIC_ARRAY_MAP_WITH_COPY(Type, Var, Array)             \
-    static const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__, \
+    static const Type (Var)((Array), sizeof(Array), "c++/include/util/static_set.hpp", __LINE__, \
                             NCBI_NS_NCBI::NStaticArray::eCopyWarn_hide)
 
 #define DEFINE_CLASS_STATIC_ARRAY_MAP_WITH_COPY(Type, Var, Array)       \
-    const Type (Var)((Array), sizeof(Array), __FILE__, __LINE__,        \
+    const Type (Var)((Array), sizeof(Array), "c++/include/util/static_set.hpp", __LINE__,        \
                      NCBI_NS_NCBI::NStaticArray::eCopyWarn_hide)
 
 
--- ncbi-blastplus.orig/c++/src/connect/mbedtls/mbedtls/debug.h
+++ ncbi-blastplus/c++/src/connect/mbedtls/mbedtls/debug.h
@@ -40,28 +40,28 @@
 #define MBEDTLS_DEBUG_STRIP_PARENS( ... )   __VA_ARGS__
 
 #define MBEDTLS_SSL_DEBUG_MSG( level, args )                    \
-    mbedtls_debug_print_msg( ssl, level, __FILE__, __LINE__,    \
+    mbedtls_debug_print_msg( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__,    \
                              MBEDTLS_DEBUG_STRIP_PARENS args )
 
 #define MBEDTLS_SSL_DEBUG_RET( level, text, ret )                \
-    mbedtls_debug_print_ret( ssl, level, __FILE__, __LINE__, text, ret )
+    mbedtls_debug_print_ret( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, ret )
 
 #define MBEDTLS_SSL_DEBUG_BUF( level, text, buf, len )           \
-    mbedtls_debug_print_buf( ssl, level, __FILE__, __LINE__, text, buf, len )
+    mbedtls_debug_print_buf( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, buf, len )
 
 #if defined(MBEDTLS_BIGNUM_C)
 #define MBEDTLS_SSL_DEBUG_MPI( level, text, X )                  \
-    mbedtls_debug_print_mpi( ssl, level, __FILE__, __LINE__, text, X )
+    mbedtls_debug_print_mpi( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, X )
 #endif
 
 #if defined(MBEDTLS_ECP_C)
 #define MBEDTLS_SSL_DEBUG_ECP( level, text, X )                  \
-    mbedtls_debug_print_ecp( ssl, level, __FILE__, __LINE__, text, X )
+    mbedtls_debug_print_ecp( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, X )
 #endif
 
 #if defined(MBEDTLS_X509_CRT_PARSE_C)
 #define MBEDTLS_SSL_DEBUG_CRT( level, text, crt )                \
-    mbedtls_debug_print_crt( ssl, level, __FILE__, __LINE__, text, crt )
+    mbedtls_debug_print_crt( ssl, level, "c++/src/connect/mbedtls/mbedtls/debug.h", __LINE__, text, crt )
 #endif
 
 #else /* MBEDTLS_DEBUG_C */
--- ncbi-blastplus.orig/c++/src/connect/ncbi_lbos_cxx.cpp
+++ ncbi-blastplus/c++/src/connect/ncbi_lbos_cxx.cpp
@@ -145,7 +145,7 @@
 {
     /* Hostname should not be empty in any case */
     if (hostname.empty()) {
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
             CLBOSException::eUnknown, 
             "Internal error in LBOS Client IP Cache. Please contact developer",
             eLBOS_BadRequest);
@@ -217,7 +217,7 @@
     if (lbos_answer != NULL) {
         message << " " << lbos_answer;
     }
-    throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+    throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
             CLBOSException::s_HTTPCodeToEnum(result),
             message.str(), result);
 }
@@ -248,7 +248,7 @@
         /* If we could not parse healthcheck URL, throw "Invalid Arguments" */
         if (cur_host.empty()) {
             ConnNetInfo_Destroy(healthcheck_info);
-            throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+            throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
                                  CLBOSException::eInvalidArgs,
                                  NStr::IntToString(eLBOS_InvalidArgs),
                                  eLBOS_InvalidArgs);
@@ -307,7 +307,7 @@
         port_int = NStr::StringToInt(port_str);
     }
     catch (...) {
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
                              CLBOSException::eInvalidArgs,
                              "Could not parse port \"" + port_str + 
                              "\" in section \"" + reg_section + "\"",
@@ -315,7 +315,7 @@
     }
     if (port_int < 1 || port_int > 65535)
     {
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
                              CLBOSException::eInvalidArgs, 
                              "Invalid server port \"" + port_str + 
                              "\" in section \"" + reg_section + "\"",
@@ -623,7 +623,7 @@
     /* Forbidden names for meta parameters */
     if (name == "version" || name == "ip" || name == "port" || name == "check" 
         || name == "format" || name == "name") {
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
                              CLBOSException::eInvalidArgs, 
                              "This name cannot be used for metadata", 
                              eLBOS_InvalidArgs);
@@ -679,7 +679,7 @@
             SetRate(NStr::StringToInt(rate));
         } 
         catch (const CStringException&) {
-            throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+            throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
                                  CLBOSException::eInvalidArgs,
                                  "Could not parse string value for SetRate",
                                  eLBOS_InvalidArgs);
@@ -706,7 +706,7 @@
         return NStr::StringToDouble(rate);
     }
     catch (const CStringException&) {
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
                              CLBOSException::eInvalidArgs,
                              "Value in \"rate\" meta parameter cannot "
                              "be represented as an integer",
@@ -718,7 +718,7 @@
 void LBOS::CMetaData::SetType(const string& host_type)
 {
     if (host_type.find_first_of(" \t\n\v\f\r") != string::npos) {
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
             CLBOSException::eInvalidArgs,
             "This convenience function throws on whitespace characters "
             "in \"type\" meta parameter. If you know what you are doing, "
@@ -759,7 +759,7 @@
         SetType("");
         break;
     default:
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
                              CLBOSException::eInvalidArgs, "Unknown EHostType "
                              "value. If you are sure that a correct value is "
                              "used, please tell the developer about this issue", 
@@ -793,7 +793,7 @@
         SetType("FIREWALL");
         break;
     default:
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
                              CLBOSException::eInvalidArgs, "Unknown ESERV_Type "
                              "value. If you are sure that a correct value is "
                              "used, please tell the developer about this issue", 
@@ -824,7 +824,7 @@
         SetType("");
         break;
     default:
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
                              CLBOSException::eInvalidArgs, "Unknown EHostType "
                              "value. If you are sure that a correct value is "
                              "used, please tell the developer about this issue",
@@ -870,7 +870,7 @@
 void LBOS::CMetaData::SetExtra(const string& extra)
 {
     if (extra.find_first_of(" \t\n\v\f\r") != string::npos) {
-        throw CLBOSException(CDiagCompileInfo(__FILE__, __LINE__), NULL,
+        throw CLBOSException(CDiagCompileInfo("c++/src/connect/ncbi_lbos_cxx.cpp", __LINE__), NULL,
             CLBOSException::eInvalidArgs,
             "This convenience function throws on whitespace characters "
             "in \"extra\" meta parameter. If you know what you are doing, "
--- ncbi-blastplus.orig/c++/src/connect/ncbi_monkey.cpp
+++ ncbi-blastplus/c++/src/connect/ncbi_monkey.cpp
@@ -83,7 +83,7 @@
 const string             kSeedField      = "seed";
 
 #define PARAM_TWICE_EXCEPTION(param)                                        \
-    throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),            \
+    throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),            \
                            NULL, CMonkeyException::e_MonkeyInvalidArgs,     \
                            string("Parameter \"" param "\" is set "         \
                            "twice in [") + GetSection() + "]" +             \
@@ -371,7 +371,7 @@
     case eMonkey_Send:
         return "write";
     default:
-        throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+        throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                NULL, CMonkeyException::e_MonkeyInvalidArgs,
                                string("Unknown EMonkeyActionType value"));
     }
@@ -390,7 +390,7 @@
     case eMonkey_Connect:
         return "connect()";
     default:
-        throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+        throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                NULL, CMonkeyException::e_MonkeyInvalidArgs,
                                string("Unknown EMonkeyActionType value"));
     }
@@ -467,7 +467,7 @@
 {
     if (m_RunPos.find(sock) == m_RunPos.end()) {
         throw CMonkeyException(
-            CDiagCompileInfo(__FILE__, __LINE__),
+            CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
             NULL, CMonkeyException::e_MonkeyInvalidArgs,
             "The socket provided has not been registered with current rule");
     }
@@ -511,7 +511,7 @@
         m_ReturnStatus = eIO_Closed;
     } else if (eIOStatus == "eio_invalidarg") {
         throw CMonkeyException(
-            CDiagCompileInfo(__FILE__, __LINE__),
+            CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
             NULL, CMonkeyException::e_MonkeyInvalidArgs,
             string("Unsupported 'return_status': ") + eIOStatus_in);
     } else if (eIOStatus == "eio_interrupt") {
@@ -526,7 +526,7 @@
         m_ReturnStatus = eIO_NotSupported;
     } else {
         throw CMonkeyException(
-            CDiagCompileInfo(__FILE__, __LINE__),
+            CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
             NULL, CMonkeyException::e_MonkeyInvalidArgs,
             string("Could not parse 'return_status': ") + eIOStatus_in);
     }
@@ -543,7 +543,7 @@
        split it on commas*/
     vector<string> runs_list = s_Monkey_Split(runs, ',');
     if (runs_list.size() == 0)
-        throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+        throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                NULL, CMonkeyException::e_MonkeyInvalidArgs,
                                string("Parameter \"runs\" is empty in [")
                                + m_Section + "]" +
@@ -573,7 +573,7 @@
         if (m_RunMode == eMonkey_RunProbability) {
             if (*run.rbegin() != '%') {
                 throw CMonkeyException(
-                        CDiagCompileInfo(__FILE__, __LINE__),
+                        CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                         NULL, CMonkeyException::e_MonkeyInvalidArgs,
                         "Value is not percentage: " + run +
                         ", values have to be either only percentages or "
@@ -593,7 +593,7 @@
                 size_t last_step = m_Runs.size();
                 if (last_step == 0 && step != 1) {
                     throw CMonkeyException(
-                            CDiagCompileInfo(__FILE__, __LINE__),
+                            CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                             NULL, CMonkeyException::e_MonkeyInvalidArgs,
                             "In the string of runs: " + runs + " the first "
                             "element MUST set value for the first run");
@@ -610,7 +610,7 @@
             assert(run_format == eMonkey_RunSequence);
             if (*run.rbegin() == '%') {
                 throw CMonkeyException(
-                        CDiagCompileInfo(__FILE__, __LINE__),
+                        CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                         NULL, CMonkeyException::e_MonkeyInvalidArgs,
                         string("Value is percentage: ") + run +
                         string(", values have to be either only percentages or "
@@ -619,7 +619,7 @@
             int val = NStr::StringToInt(run);
             if (m_Runs.size() > 0 && val <= *m_Runs.rbegin()) {
                 throw CMonkeyException(
-                    CDiagCompileInfo(__FILE__, __LINE__),
+                    CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                     NULL, CMonkeyException::e_MonkeyInvalidArgs,
                     string("\"runs\" should contain values in "
                            "increasing order"));
@@ -815,7 +815,7 @@
         string value = name_value[1];
         if (name == "allow") {
             if (allow_set) {
-                throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+                throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                        NULL, 
                                        CMonkeyException::e_MonkeyInvalidArgs,
                                        string("Parameter \"allow\" is set "
@@ -827,7 +827,7 @@
         }
     }
     if (!allow_set)
-        throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+        throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                NULL, CMonkeyException::e_MonkeyInvalidArgs,
                                string("Parameter \"allow\" not set in [")
                                + GetSection() + "]" +
@@ -902,7 +902,7 @@
         string value = name_value[1];
         if (name == "ignore") {
             if (ignore_set) {
-                throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+                throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                        NULL,
                                        CMonkeyException::e_MonkeyInvalidArgs,
                                        string("Parameter \"ignore\" is set "
@@ -914,7 +914,7 @@
         }
     }
     if (!ignore_set) {
-        throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+        throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                NULL, CMonkeyException::e_MonkeyInvalidArgs,
                                string("Parameter \"ignore\" not set in [")
                                + GetSection() + "]" +
@@ -1032,7 +1032,7 @@
                                                              ".*" , "");
     if (filtered.find_first_of("[]()+^?{}$.*\\") != string::npos) {
         throw CMonkeyException(
-            CDiagCompileInfo(__FILE__, __LINE__),
+            CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
             NULL,
             CMonkeyException::e_MonkeyInvalidArgs,
             exception_message);
@@ -1051,7 +1051,7 @@
         }
         else {
             throw CMonkeyException(
-                CDiagCompileInfo(__FILE__, __LINE__),
+                CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                 NULL,
                 CMonkeyException::e_MonkeyInvalidArgs,
                 exception_message);
@@ -1179,7 +1179,7 @@
             ss << "Probability below zero for write rule in plan " << m_Name
                 << ". Check config!";
             throw CMonkeyException(
-                        CDiagCompileInfo(__FILE__, __LINE__),
+                        CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                         NULL, CMonkeyException::e_MonkeyInvalidArgs, 
                         ss.str());
         }
@@ -1221,7 +1221,7 @@
             stringstream ss;
             ss << "Probability below zero for write rule in plan " << m_Name
                << ". Check config!";
-            throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+            throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                    NULL, CMonkeyException::e_MonkeyInvalidArgs,
                                    ss.str());
         }
@@ -1270,7 +1270,7 @@
             stringstream ss;
             ss << "Probability below zero for write rule in plan " << m_Name
                 << ". Check config!";
-            throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+            throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                    NULL, CMonkeyException::e_MonkeyInvalidArgs,
                                    ss.str());
         }
@@ -1313,7 +1313,7 @@
             ss << "Probability below zero for write rule in plan " << m_Name
                 << ". Check config!";
             throw CMonkeyException(
-                        CDiagCompileInfo(__FILE__, __LINE__),
+                        CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                         NULL, CMonkeyException::e_MonkeyInvalidArgs, 
                         ss.str());
         }
@@ -1372,7 +1372,7 @@
 {
     if (sm_HookSwitch == NULL) {
         throw CMonkeyException(
-            CDiagCompileInfo(__FILE__, __LINE__),
+            CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
             NULL, CMonkeyException::e_MonkeyInvalidArgs,
             "Launch CONNECT_Init() before initializing CMonkey instance");
     }
@@ -1458,7 +1458,7 @@
                 prob = (int)(NStr::StringToDouble(prob_str) * 100);
             }
             if (prob < 0 || prob > 100) {
-                throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+                throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                        NULL,
                                        CMonkeyException::e_MonkeyInvalidArgs,
                                        "Parameter \"probability\"=" + prob_str
@@ -1469,7 +1469,7 @@
             m_Probability = (unsigned short)prob;
         }
         catch (const CStringException&) {
-            throw CMonkeyException(CDiagCompileInfo(__FILE__, __LINE__),
+            throw CMonkeyException(CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
                                    NULL, CMonkeyException::e_MonkeyInvalidArgs,
                                    "Parameter \"probability\"=" + prob_str
                                    + " for section [" + monkey_section
@@ -1757,7 +1757,7 @@
        << " has been already registered in CMonkey and cannot be used again";
     if (m_RegisteredTokens.find(token) != m_RegisteredTokens.end()) {
         throw CMonkeyException(
-            CDiagCompileInfo(__FILE__, __LINE__),
+            CDiagCompileInfo("c++/src/connect/ncbi_monkey.cpp", __LINE__),
             NULL, CMonkeyException::e_MonkeyInvalidArgs,
             ss.str());
     }
--- ncbi-blastplus.orig/c++/src/connect/ncbi_priv.h
+++ ncbi-blastplus/c++/src/connect/ncbi_priv.h
@@ -223,7 +223,7 @@
             _mess.level       = _xx_level;                              \
             _mess.module      = THIS_MODULE;                            \
             _mess.func        = CORE_CURRENT_FUNCTION;                  \
-            _mess.file        = __FILE__;                               \
+            _mess.file        = "c++/src/connect/ncbi_priv.h";                               \
             _mess.line        = __LINE__;                               \
             _mess.raw_data    = (_raw_data);                            \
             _mess.raw_size    = (_raw_size);                            \
--- ncbi-blastplus.orig/c++/src/objects/seqfeat/BioSource.cpp
+++ ncbi-blastplus/c++/src/objects/seqfeat/BioSource.cpp
@@ -938,7 +938,7 @@
 };
 
 typedef CStaticArraySet<const char*, PNocase_CStr> TCIgnoreCaseQualsSet;
-static const TCIgnoreCaseQualsSet s_IgnoreCaseQualsSet(s_IgnoreCaseQuals, sizeof(s_IgnoreCaseQuals), __FILE__, __LINE__);
+static const TCIgnoreCaseQualsSet s_IgnoreCaseQualsSet(s_IgnoreCaseQuals, sizeof(s_IgnoreCaseQuals), "c++/src/objects/seqfeat/BioSource.cpp", __LINE__);
 
 bool s_MayIgnoreCase(const string& value)
 {   
@@ -960,7 +960,7 @@
 };
 
 typedef CStaticArraySet<const char*, PNocase_CStr> TCTaxNameElementQualsSet;
-static const TCTaxNameElementQualsSet s_TaxNameElementQualsSet(s_TaxNameElementQuals, sizeof(s_TaxNameElementQuals), __FILE__, __LINE__);
+static const TCTaxNameElementQualsSet s_TaxNameElementQualsSet(s_TaxNameElementQuals, sizeof(s_TaxNameElementQuals), "c++/src/objects/seqfeat/BioSource.cpp", __LINE__);
 
 bool s_IsTaxNameElement(const string& value)
 {   
@@ -1364,7 +1364,7 @@
 };
 
 typedef CStaticArraySet<const char*, PNocase_CStr> TCStopWordStrSet;
-static const TCStopWordStrSet s_StopWordsSet(s_StopWords, sizeof(s_StopWords), __FILE__, __LINE__);
+static const TCStopWordStrSet s_StopWordsSet(s_StopWords, sizeof(s_StopWords), "c++/src/objects/seqfeat/BioSource.cpp", __LINE__);
 
 
 bool CBioSource::IsStopWord(const string& value)
--- ncbi-blastplus.orig/c++/src/objects/seqfeat/SubSource.cpp
+++ ncbi-blastplus/c++/src/objects/seqfeat/SubSource.cpp
@@ -3043,7 +3043,7 @@
     "Zimbabwe"
 };
 typedef CStaticArraySet<const char*, PCase_CStr> TCStrSet;
-static const TCStrSet s_CountriesSet(s_Countries, sizeof(s_Countries), __FILE__, __LINE__);
+static const TCStrSet s_CountriesSet(s_Countries, sizeof(s_Countries), "c++/src/objects/seqfeat/SubSource.cpp", __LINE__);
 
 // former legal country names, must be in alphabetical order (case sensitive)
 static const char* const s_Former_Countries[] = {
@@ -3061,7 +3061,7 @@
     "Yugoslavia",
     "Zaire"
 };
-static const TCStrSet s_Former_CountriesSet(s_Former_Countries, sizeof(s_Former_Countries), __FILE__, __LINE__);
+static const TCStrSet s_Former_CountriesSet(s_Former_Countries, sizeof(s_Former_Countries), "c++/src/objects/seqfeat/SubSource.cpp", __LINE__);
 
 bool CCountries::IsValid(const string& country)
 {
--- ncbi-blastplus.orig/c++/src/serial/datatool/classstr.cpp
+++ ncbi-blastplus/c++/src/serial/datatool/classstr.cpp
@@ -850,7 +850,7 @@
                         "    if (!CanGet"<< mem_cName<<"()) {\n"
                         "        ThrowUnassigned("<<member_index;
 #if 0
-                    code.Methods(inl) << ", __FILE__, __LINE__";
+                    code.Methods(inl) << ", "c++/src/serial/datatool/classstr.cpp", __LINE__";
 #endif
                     code.Methods(inl) << ");\n"
                         "    }\n";
--- ncbi-blastplus.orig/c++/src/serial/serialobject.cpp
+++ ncbi-blastplus/c++/src/serial/serialobject.cpp
@@ -295,7 +295,7 @@
 // set temporary diag compile info to use argument file name and line
 #undef DIAG_COMPILE_INFO
 #define DIAG_COMPILE_INFO                                               \
-        NCBI_NS_NCBI::CDiagCompileInfo(file_name? file_name: __FILE__,  \
+        NCBI_NS_NCBI::CDiagCompileInfo(file_name? file_name: "c++/src/serial/serialobject.cpp",  \
                                        file_line? file_line: __LINE__,  \
                                        NCBI_CURRENT_FUNCTION,           \
                                        NCBI_MAKE_MODULE(NCBI_MODULE))
@@ -303,7 +303,7 @@
 // restore original diag compile info definition
 #undef DIAG_COMPILE_INFO
 #define DIAG_COMPILE_INFO                                               \
-        NCBI_NS_NCBI::CDiagCompileInfo(__FILE__,                        \
+        NCBI_NS_NCBI::CDiagCompileInfo("c++/src/serial/serialobject.cpp",                        \
                                        __LINE__,                        \
                                        NCBI_CURRENT_FUNCTION,           \
                                        NCBI_MAKE_MODULE(NCBI_MODULE))
--- ncbi-blastplus.orig/c++/src/util/lmdb/mdb.c
+++ ncbi-blastplus/c++/src/util/lmdb/mdb.c
@@ -1523,7 +1523,7 @@
 
 #ifndef NDEBUG
 # define mdb_assert0(env, expr, expr_txt) ((expr) ? (void)0 : \
-		mdb_assert_fail(env, expr_txt, mdb_func_, __FILE__, __LINE__))
+		mdb_assert_fail(env, expr_txt, mdb_func_, "c++/src/util/lmdb/mdb.c", __LINE__))
 
 static void ESECT
 mdb_assert_fail(MDB_env *env, const char *expr_txt,
--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest.c
+++ ncbi-blastplus/c++/src/util/lmdb/mtest.c
@@ -19,7 +19,7 @@
 #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
 #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
 #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
-	"%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
+	"%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest.c", __LINE__, msg, mdb_strerror(rc)), abort()))
 
 int main(int argc,char * argv[])
 {
--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest2.c
+++ ncbi-blastplus/c++/src/util/lmdb/mtest2.c
@@ -22,7 +22,7 @@
 #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
 #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
 #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
-	"%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
+	"%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest2.c", __LINE__, msg, mdb_strerror(rc)), abort()))
 
 int main(int argc,char * argv[])
 {
--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest3.c
+++ ncbi-blastplus/c++/src/util/lmdb/mtest3.c
@@ -22,7 +22,7 @@
 #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
 #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
 #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
-	"%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
+	"%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest3.c", __LINE__, msg, mdb_strerror(rc)), abort()))
 
 int main(int argc,char * argv[])
 {
--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest4.c
+++ ncbi-blastplus/c++/src/util/lmdb/mtest4.c
@@ -22,7 +22,7 @@
 #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
 #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
 #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
-	"%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
+	"%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest4.c", __LINE__, msg, mdb_strerror(rc)), abort()))
 
 int main(int argc,char * argv[])
 {
--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest5.c
+++ ncbi-blastplus/c++/src/util/lmdb/mtest5.c
@@ -22,7 +22,7 @@
 #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
 #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
 #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
-	"%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
+	"%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest5.c", __LINE__, msg, mdb_strerror(rc)), abort()))
 
 int main(int argc,char * argv[])
 {
--- ncbi-blastplus.orig/c++/src/util/lmdb/mtest6.c
+++ ncbi-blastplus/c++/src/util/lmdb/mtest6.c
@@ -22,7 +22,7 @@
 #define E(expr) CHECK((rc = (expr)) == MDB_SUCCESS, #expr)
 #define RES(err, expr) ((rc = expr) == (err) || (CHECK(!rc, #expr), 0))
 #define CHECK(test, msg) ((test) ? (void)0 : ((void)fprintf(stderr, \
-	"%s:%d: %s: %s\n", __FILE__, __LINE__, msg, mdb_strerror(rc)), abort()))
+	"%s:%d: %s: %s\n", "c++/src/util/lmdb/mtest6.c", __LINE__, msg, mdb_strerror(rc)), abort()))
 
 char dkbuf[1024];
 
--- ncbi-blastplus.orig/c++/src/util/regexp/pcre_scanner_unittest.cc
+++ ncbi-blastplus/c++/src/util/regexp/pcre_scanner_unittest.cc
@@ -51,7 +51,7 @@
 #define CHECK_EQ(a, b)  do {                                    \
   if ( (a) != (b) ) {                                           \
     fprintf(stderr, "%s:%d: Check failed because %s != %s\n",   \
-            __FILE__, __LINE__, #a, #b);                        \
+            "c++/src/util/regexp/pcre_scanner_unittest.cc", __LINE__, #a, #b);                        \
     exit(1);                                                    \
   }                                                             \
 } while (0)
--- ncbi-blastplus.orig/c++/src/util/regexp/pcre_stringpiece_unittest.cc
+++ ncbi-blastplus/c++/src/util/regexp/pcre_stringpiece_unittest.cc
@@ -19,7 +19,7 @@
 #define CHECK(condition) do {                           \
   if (!(condition)) {                                   \
     fprintf(stderr, "%s:%d: Check failed: %s\n",        \
-            __FILE__, __LINE__, #condition);            \
+            "c++/src/util/regexp/pcre_stringpiece_unittest.cc", __LINE__, #condition);            \
     exit(1);                                            \
   }                                                     \
 } while (0)
--- ncbi-blastplus.orig/c++/src/util/static_set.cpp
+++ ncbi-blastplus/c++/src/util/static_set.cpp
@@ -87,7 +87,7 @@
           TParamStaticArrayCopyWarning::GetDefault()) ) {
         // report incorrect usage
         CDiagCompileInfo diag_compile_info
-            (file? file: __FILE__,
+            (file? file: "c++/src/util/static_set.cpp",
              file? line: __LINE__,
              NCBI_CURRENT_FUNCTION,
              NCBI_MAKE_MODULE(NCBI_MODULE));
@@ -122,7 +122,7 @@
     if ( TParamStaticArrayUnsafeTypeWarning::GetDefault() ) {
         // report incorrect usage
         CDiagCompileInfo diag_compile_info
-            (file? file: __FILE__,
+            (file? file: "c++/src/util/static_set.cpp",
              file? line: __LINE__,
              NCBI_CURRENT_FUNCTION,
              NCBI_MAKE_MODULE(NCBI_MODULE));
@@ -145,7 +145,7 @@
 {
     { // report incorrect usage
         CDiagCompileInfo diag_compile_info
-            (file? file: __FILE__,
+            (file? file: "c++/src/util/static_set.cpp",
              file? line: __LINE__,
              NCBI_CURRENT_FUNCTION,
              NCBI_MAKE_MODULE(NCBI_MODULE));
