summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPopa Adrian Marius <mapopa@gmail.com>2015-07-02 19:00:27 +0300
committerCaolán McNamara <caolanm@redhat.com>2015-07-11 20:00:57 +0000
commite63673f8991492aaf814665f58435bc6884ca06d (patch)
tree8b11879c4527b368441cbe20d0ac842043007742
parent291e760b7f1e128537cd81ae2c6674e590d4953f (diff)
Update firebird to version 2.5.4
Change-Id: I39289db515cbc611c74edf3d7a3520776d8f3a64 Reviewed-on: https://gerrit.libreoffice.org/16703 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--download.lst4
-rw-r--r--external/firebird/ExternalPackage_firebird.mk4
-rw-r--r--external/firebird/ExternalProject_firebird.mk2
-rw-r--r--external/firebird/UnpackedTarball_firebird.mk3
-rw-r--r--external/firebird/firebird-configure-x86-64-macosx.patch.120
-rw-r--r--external/firebird/firebird-cygwin-msvc.patch.125
-rw-r--r--external/firebird/firebird-icu.patch.128
-rw-r--r--external/firebird/firebird-macosx.patch.110
-rw-r--r--external/firebird/firebird-no-open-temp-on-shutdown.patch.1359
-rw-r--r--external/firebird/firebird-vs2013.patch.111
10 files changed, 49 insertions, 417 deletions
diff --git a/download.lst b/download.lst
index 07959ae5843d..8813d80114a0 100644
--- a/download.lst
+++ b/download.lst
@@ -39,8 +39,8 @@ export ETONYEK_MD5SUM := e5947373dd7834f27e93f1636faa419f
export ETONYEK_VERSION_MICRO := 3
export ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.bz2
export EXPAT_TARBALL := dd7dab7a5fea97d2a6a43f511449b7cd-expat-2.1.0.tar.gz
-export FIREBIRD_MD5SUM := 21154d2004e025c8a3666625b0357bb5
-export FIREBIRD_TARBALL := Firebird-2.5.2.26540-0.tar.bz2
+export FIREBIRD_MD5SUM := 7a17ec9889424b98baa29e001a054434
+export FIREBIRD_TARBALL := Firebird-2.5.4.26856-0.tar.bz2
# FIREBIRD_MD5SUM := b259c2d1c60a03bd104108405ae990a7
# export FIREBIRD_TARBALL := Firebird-3.0-alpha1-20130302.tar.gz
export FONTCONFIG_TARBALL := 77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz
diff --git a/external/firebird/ExternalPackage_firebird.mk b/external/firebird/ExternalPackage_firebird.mk
index 98917f8ae0a1..3b921edfada3 100644
--- a/external/firebird/ExternalPackage_firebird.mk
+++ b/external/firebird/ExternalPackage_firebird.mk
@@ -14,9 +14,9 @@ $(eval $(call gb_ExternalPackage_use_external_project,firebird,firebird))
ifeq ($(OS)-$(COM),WNT-MSC)
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/ifbembed.dll,gen/firebird/bin/ifbembed.dll))
else ifeq ($(OS),MACOSX)
-$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.dylib,gen/firebird/lib/libfbembed.dylib.2.5.2))
+$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.dylib,gen/firebird/lib/libfbembed.dylib.2.5.4))
else ifeq ($(DISABLE_DYNLOADING),)
-$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.so.2.5,gen/firebird/lib/libfbembed.so.2.5.2))
+$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.so.2.5,gen/firebird/lib/libfbembed.so.2.5.4))
endif
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_SHARE_FOLDER)/firebird/firebird.msg,gen/firebird/firebird.msg))
diff --git a/external/firebird/ExternalProject_firebird.mk b/external/firebird/ExternalProject_firebird.mk
index d2607f0e3ca2..f1dbb2fc7ba8 100644
--- a/external/firebird/ExternalProject_firebird.mk
+++ b/external/firebird/ExternalProject_firebird.mk
@@ -63,6 +63,6 @@ $(call gb_ExternalProject_get_state_target,firebird,build):
$(MAKE) firebird_embedded \
$(if $(filter MACOSX,$(OS)),&& $(PERL) \
$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
- $(gb_Package_SOURCEDIR_firebird)/gen/firebird/lib/libfbembed.dylib.2.5.2) \
+ $(gb_Package_SOURCEDIR_firebird)/gen/firebird/lib/libfbembed.dylib.2.5.4) \
)
# vim: set noet sw=4 ts=4:
diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk
index ee29b09f0fff..abee5ec6e989 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -12,11 +12,9 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,firebird))
$(eval $(call gb_UnpackedTarball_set_tarball,firebird,$(FIREBIRD_TARBALL)))
$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
- external/firebird/firebird-icu.patch.1 \
external/firebird/firebird-rpath.patch.0 \
external/firebird/firebird-c++11.patch.1 \
external/firebird/firebird-c++11replfn.patch.0 \
- external/firebird/firebird-no-open-temp-on-shutdown.patch.1 \
external/firebird/firebird.disable-ib-util-not-found.patch.1 \
))
@@ -30,6 +28,7 @@ endif
ifeq ($(OS),MACOSX)
$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
external/firebird/firebird-macosx.patch.1 \
+ external/firebird/firebird-configure-x86-64-macosx.patch.1 \
))
endif
# vim: set noet sw=4 ts=4:
diff --git a/external/firebird/firebird-configure-x86-64-macosx.patch.1 b/external/firebird/firebird-configure-x86-64-macosx.patch.1
new file mode 100644
index 000000000000..eddd0fa6e600
--- /dev/null
+++ b/external/firebird/firebird-configure-x86-64-macosx.patch.1
@@ -0,0 +1,20 @@
+--- firebird.org/configure 2015-03-27 16:00:42.000000000 +0200
++++ firebird/configure 2015-06-09 15:33:26.000000000 +0300
+@@ -2373,7 +2373,7 @@
+ ;;
+
+ i*86-*-darwin* | i*86_*-darwin*)
+- MAKEFILE_PREFIX=darwin_i386
++ MAKEFILE_PREFIX=darwin_x86_64
+ MAKEFILE_POSTFIX=darwin
+ PLATFORM=DARWIN
+ INSTALL_PREFIX=darwin
+@@ -2386,7 +2386,7 @@
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=dylib
+ ICU_PLATFORM=MacOSX
+- CPU_TYPE=i386
++ CPU_TYPE=x86_64
+ ;;
+
+ powerpc-*-darwin*)
diff --git a/external/firebird/firebird-cygwin-msvc.patch.1 b/external/firebird/firebird-cygwin-msvc.patch.1
index b563a1063a9a..9c24ebf91d11 100644
--- a/external/firebird/firebird-cygwin-msvc.patch.1
+++ b/external/firebird/firebird-cygwin-msvc.patch.1
@@ -422,9 +422,10 @@ unchanged:
-case "$target" in
+case "$host" in
- i*86-*-darwin*)
- dnl MAKEFILE_PREFIX=darwin_i386
+ x*64-*-darwin* | x*64_*-darwin*)
MAKEFILE_PREFIX=darwin_x86_64
+ MAKEFILE_POSTFIX=darwin
+
@@ -112,7 +86,7 @@
amd64-*-freebsd* | x86_64*-*-freebsd* | x86_64*-*-k*bsd*-gnu)
@@ -483,8 +484,8 @@ unchanged:
[AC_DEFINE(WORKING_SEM_INIT,1,[Define this if sem_init() works on the platform])
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
--AC_SEARCH_LIBS(sem_open, rt)])
-+AC_SEARCH_LIBS(sem_open, rt)],
+-AC_SEARCH_LIBS(sem_open, rt pthread)])
++AC_SEARCH_LIBS(sem_open, rt pthread)]),
+[AC_DEFINE(WORKING_SEM_INIT,1,[Define this if sem_init() works on the platform])
+AC_MSG_RESULT(cross-compiling, assuming yes)])
fi
@@ -659,15 +660,15 @@ unchanged:
#include <io.h> // umask, close, lseek, read, open, _sopen
#include <process.h>
#include <sys/types.h>
-@@ -121,7 +123,7 @@
-
+@@ -122,7 +124,7 @@
#ifdef WIN_NT
#include <shlobj.h>
+ #if _MSC_VER <= 1500
-#include <shfolder.h>
+//#include <shfolder.h>
+ #endif
#define _WINSOCKAPI_
#include <share.h>
- #include "err_proto.h"
unchanged:
--- firebird.org/src/jrd/isc.cpp 2013-06-26 10:05:24.922009300 +0100
+++ firebird/src/jrd/isc.cpp 2013-06-29 10:38:56.698423800 +0100
@@ -714,14 +715,12 @@ unchanged:
unchanged:
--- firebird.org/src/jrd/os/win32/mod_loader.cpp 2013-06-26 10:05:25.006951300 +0100
+++ firebird/src/jrd/os/win32/mod_loader.cpp 2013-06-27 18:30:42.642374700 +0100
-@@ -93,6 +93,10 @@
- "msvcr80.dll",
- #elif _MSC_VER == 1500
+@@ -95,6 +95,8 @@
"msvcr90.dll",
-+#elif _MSC_VER == 1600
-+ "mscvr100.dll",
+ #elif _MSC_VER == 1600
+ "msvcr100.dll",
+#elif _MSC_VER == 1700
-+ "mscvr110.dll",
++ "msvcr110.dll",
#else
#error Specify CRT DLL name here !
#endif
diff --git a/external/firebird/firebird-icu.patch.1 b/external/firebird/firebird-icu.patch.1
deleted file mode 100644
index 6045ee19f0b0..000000000000
--- a/external/firebird/firebird-icu.patch.1
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -ur firebird.org/builds/posix/Makefile.in.examples firebird/builds/posix/Makefile.in.examples
---- firebird.org/builds/posix/Makefile.in.examples 2013-06-21 20:47:17.047657633 +0100
-+++ firebird/builds/posix/Makefile.in.examples 2013-06-21 21:01:45.297638456 +0100
-@@ -53,10 +53,10 @@
- export PATH
-
- ifeq ($(PLATFORM),DARWIN)
--DYLD_LIBRARY_PATH := $(GEN_ROOT)/firebird/lib
-+DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):$(GEN_ROOT)/firebird/lib
- export DYLD_LIBRARY_PATH
- else
--LD_LIBRARY_PATH := $(GEN_ROOT)/firebird/lib
-+LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(GEN_ROOT)/firebird/lib
- export LD_LIBRARY_PATH
- endif
- GPRE_FLAGS= -r -m -z -n
-diff -ur firebird.org/builds/posix/Makefile.in.firebird firebird/builds/posix/Makefile.in.firebird
---- firebird.org/builds/posix/Makefile.in.firebird 2013-06-21 20:47:17.060657632 +0100
-+++ firebird/builds/posix/Makefile.in.firebird 2013-06-21 21:12:00.559624868 +0100
-@@ -44,7 +44,7 @@
- TEST_PATH = @FIREBIRD_BUILD_DIR@
- # Firebird libs path set at link time (-R) so do not override local requirements - nmcc 28/12/2002
- #LD_LIBRARY_PATH=$(RealFirebirdPath)/lib
--LD_LIBRARY_PATH=$(LIB)
-+LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(LIB)
-
- #export ISC_USER
- #export ISC_PASSWORD
diff --git a/external/firebird/firebird-macosx.patch.1 b/external/firebird/firebird-macosx.patch.1
index 42007d50a38f..8a492898f96e 100644
--- a/external/firebird/firebird-macosx.patch.1
+++ b/external/firebird/firebird-macosx.patch.1
@@ -21,7 +21,7 @@
+PLAT_CLASSIC_POST_TARGET=
-PLAT_SUPER_PRE_TARGET=darwin_setup_framework
--PLAT_SUPER_POST_TRAGET=darwin_finish_ss_framework
+-PLAT_SUPER_POST_TARGET=darwin_finish_ss_framework
+PLAT_SUPER_PRE_TARGET=
+PLAT_SUPER_POST_TRAGET=
@@ -65,7 +65,7 @@ diff -ur firebird.org/builds/posix/postfix.darwin firebird/builds/posix/postfix.
mkdir -p $(FB_FW)/Resources/doc
--- firebird.org/builds/posix/prefix.darwin_i386
+++ firebird/builds/posix/prefix.darwin_i386
-@@ -19,7 +19,7 @@
+@@ -24,7 +24,7 @@
# 4. for CFLAGS, CXXFLAGS, LDFLAGS export '-m32 -arch i386'
# 5. export MACOSX_DEPLOYMENT_TARGET=10.6
@@ -74,17 +74,19 @@ diff -ur firebird.org/builds/posix/postfix.darwin firebird/builds/posix/postfix.
export DYLD_LIBRARY_PATH
MACOSX_DEPLOYMENT_TARGET=10.6
-@@ -32,8 +32,8 @@
+@@ -32,9 +32,9 @@
OS_ServerFiles=inet_server.cpp
-PROD_FLAGS=-O1 -DDARWIN -pipe -p -MMD -fPIC -fno-common -arch i386 -mmacosx-version-min=10.6
-DEV_FLAGS=-ggdb -DDARWIN -pipe -p -MMD -fPIC -fno-common -Wall -arch i386 -mmacosx-version-min=10.6
+-CXXFLAGS:=$(CXXFLAGS) -fvisibility-inlines-hidden -fvisibility=hidden -fno-weak
+PROD_FLAGS=-O1 -DDARWIN -pipe -p -MMD -fPIC -fno-common
+DEV_FLAGS=-ggdb -DDARWIN -pipe -p -MMD -fPIC -fno-common -Wall
- CXXFLAGS:=$(CXXFLAGS) -fvisibility-inlines-hidden -fvisibility=hidden -fno-weak
++CXXFLAGS:=$(CXXFLAGS) -fvisibility-inlines-hidden -fvisibility=hidden
EMBED_UTIL_TARGETS=gstat gds_relay gsec fbguard nbackup fb_lock_print fbsvcmgr fbtracemgr
CLIENT_UTIL_TARGETS=gds_relay gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr \
+ fbtracemgr
--- firebird.org/builds/posix/prefix.darwin_x86_64
+++ firebird/builds/posix/prefix.darwin_x86_64
@@ -19,7 +19,7 @@
diff --git a/external/firebird/firebird-no-open-temp-on-shutdown.patch.1 b/external/firebird/firebird-no-open-temp-on-shutdown.patch.1
deleted file mode 100644
index 5ce748ca8e5d..000000000000
--- a/external/firebird/firebird-no-open-temp-on-shutdown.patch.1
+++ /dev/null
@@ -1,359 +0,0 @@
-Only in firebird: Makefile
-Only in firebird: build.log
-diff -ur firebird.org/builds/posix/Makefile.in.client.gfix firebird/builds/posix/Makefile.in.client.gfix
---- firebird.org/builds/posix/Makefile.in.client.gfix 2014-07-03 13:40:07.000000000 +0200
-+++ firebird/builds/posix/Makefile.in.client.gfix 2014-07-03 13:45:17.000000000 +0200
-@@ -39,7 +39,8 @@
- @SET_MAKE@
-
-
--GFIX_Other_Sources = jrd/isc.cpp jrd/ThreadData.cpp jrd/path_utils.cpp common/UtilSvc.cpp
-+GFIX_Other_Sources = jrd/isc.cpp jrd/ThreadData.cpp jrd/path_utils.cpp common/UtilSvc.cpp \
-+ $(OS_SPECIFIC_Sources)
-
- GFIX_Files = alice_meta.epp alice.cpp exe.cpp tdr.cpp aliceMain.cpp
- GFIX_Sources = $(addprefix alice/, $(GFIX_Files)) $(GFIX_Other_Sources)
-diff -ur firebird.org/builds/posix/Makefile.in.client.util firebird/builds/posix/Makefile.in.client.util
---- firebird.org/builds/posix/Makefile.in.client.util 2014-07-03 13:40:07.000000000 +0200
-+++ firebird/builds/posix/Makefile.in.client.util 2014-07-03 13:45:17.000000000 +0200
-@@ -90,7 +90,7 @@
- $(FBCLASSES_MsgObjects) $(CLUMPLETS_Objects) $(FBCOMMON_ClientObjects)
-
-
--FBGUARD_Other_Sources = jrd/isc.cpp jrd/divorce.cpp jrd/path_utils.cpp
-+FBGUARD_Other_Sources = jrd/isc.cpp jrd/divorce.cpp jrd/path_utils.cpp $(OS_SPECIFIC_Sources)
- FBGUARD_Files = guard.cpp util.cpp
- FBGUARD_Sources = $(addprefix utilities/guard/, $(FBGUARD_Files)) $(FBGUARD_Other_Sources)
- FBGUARD_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBGUARD_Sources)))) $(FBCLASSES_ClientObjects)
-diff -ur firebird.org/builds/posix/Makefile.in.embed.gfix firebird/builds/posix/Makefile.in.embed.gfix
---- firebird.org/builds/posix/Makefile.in.embed.gfix 2014-07-03 13:40:07.000000000 +0200
-+++ firebird/builds/posix/Makefile.in.embed.gfix 2014-07-03 13:54:55.000000000 +0200
-@@ -43,7 +43,8 @@
- alice.cpp exe.cpp tdr.cpp aliceMain.cpp
-
- GFIX_Other_Sources += jrd/isc.cpp jrd/ThreadData.cpp jrd/path_utils.cpp \
-- common/UtilSvc.cpp
-+ common/UtilSvc.cpp \
-+ $(OS_SPECIFIC_Sources)
-
- GFIX_Sources = $(addprefix alice/, $(GFIX_Files)) $(GFIX_Other_Sources)
- GFIX_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GFIX_Sources))))
-Only in firebird/builds/posix: Makefile.in.embed.gfix.orig
-Only in firebird/builds/posix: Makefile.in.embed.gfix.rej
-Only in firebird/builds/posix: Makefile.in.embed.gfix~
-diff -ur firebird.org/builds/posix/Makefile.in.embed.util firebird/builds/posix/Makefile.in.embed.util
---- firebird.org/builds/posix/Makefile.in.embed.util 2014-07-03 13:40:07.000000000 +0200
-+++ firebird/builds/posix/Makefile.in.embed.util 2014-07-03 13:45:17.000000000 +0200
-@@ -103,7 +103,7 @@
- $(FBCLASSES_MsgObjects) $(CLUMPLETS_Objects) $(FBCOMMON_ClientObjects)
-
-
--FBGUARD_Other_Sources = jrd/isc.cpp jrd/divorce.cpp jrd/path_utils.cpp
-+FBGUARD_Other_Sources = jrd/isc.cpp jrd/divorce.cpp jrd/path_utils.cpp $(OS_SPECIFIC_Sources)
- FBGUARD_Files = guard.cpp util.cpp
- FBGUARD_Sources = $(addprefix utilities/guard/, $(FBGUARD_Files)) $(FBGUARD_Other_Sources)
- FBGUARD_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBGUARD_Sources)))) $(FBCLASSES_ClientObjects)
-diff -ur firebird.org/builds/posix/prefix.aix_powerpc_xlc firebird/builds/posix/prefix.aix_powerpc_xlc
---- firebird.org/builds/posix/prefix.aix_powerpc_xlc 2014-07-03 13:40:07.000000000 +0200
-+++ firebird/builds/posix/prefix.aix_powerpc_xlc 2014-07-03 13:45:17.000000000 +0200
-@@ -118,7 +118,7 @@
- common/classes/MsgPrint.cpp common/classes/SafeArg.cpp \
- common/classes/BaseStream.cpp common/classes/fb_string.cpp \
- common/classes/TempFile.cpp \
-- jrd/gds.cpp jrd/isc.cpp \
-+ jrd/gds.cpp jrd/isc.cpp $(OS_SPECIFIC_Sources)\
- jrd/os/posix/path_utils.cpp jrd/os/posix/os_utils.cpp \
- jrd/os/posix/config_root.cpp jrd/os/posix/fbsyslog.cpp
-
-Only in firebird: config.log
-Only in firebird: config.status
-Only in firebird/extern/btyacc: btyacc
-Only in firebird: gen
-Only in firebird: libtool
-Only in firebird/src/dsql: dsql.tab.h
-Only in firebird/src/dsql: parse.cpp
-Only in firebird/src/gpre: gpre_meta.cpp
-Only in firebird/src/include/gen: autoconfig.h
-Only in firebird/src/include/gen: blrtable.h
-diff -ur firebird.org/src/jrd/gds.cpp firebird/src/jrd/gds.cpp
---- firebird.org/src/jrd/gds.cpp 2014-07-03 13:40:08.000000000 +0200
-+++ firebird/src/jrd/gds.cpp 2014-07-03 13:45:17.000000000 +0200
-@@ -200,8 +200,6 @@
-
- static void sanitize(Firebird::string& locale);
-
--static void safe_concat_path(TEXT* destbuf, const TEXT* srcbuf);
--
- // New functions that try to be safe.
- static SLONG safe_interpret(char* const s, const size_t bufsize,
- const ISC_STATUS** const vector, bool legacy = false);
-@@ -1734,7 +1732,7 @@
- GDS_init_prefix();
-
- strcpy(resultString, fb_prefix); // safe - no BO
-- safe_concat_path(resultString, file);
-+ iscSafeConcatPath(resultString, file);
- }
-
-
-@@ -1755,12 +1753,7 @@
- GDS_init_prefix();
-
- strcpy(string, fb_prefix_lock); // safe - no BO
--
-- // if someone wants to know prefix for lock files,
-- // sooner of all he wants that directory to exist
-- os_utils::createLockDirectory(string);
--
-- safe_concat_path(string, root);
-+ iscSafeConcatPath(string, root);
- }
-
-
-@@ -1784,7 +1777,7 @@
- GDS_init_prefix();
-
- strcpy(string, fb_prefix_msg); // safe - no BO
-- safe_concat_path(string, root);
-+ iscSafeConcatPath(string, root);
- }
-
-
-@@ -3553,43 +3546,6 @@
- }
- }
-
--static void safe_concat_path(TEXT *resultString, const TEXT *appendString)
--{
--/**************************************
-- *
-- * s a f e _ c o n c a t _ p a t h
-- *
-- **************************************
-- *
-- * Functional description
-- * Safely appends appendString to resultString using paths rules.
-- * resultString must be at most MAXPATHLEN size.
-- * Thread/signal safe code.
-- *
-- **************************************/
-- size_t len = strlen(resultString);
-- fb_assert(len > 0);
--
-- if (resultString[len - 1] != PathUtils::dir_sep && len < MAXPATHLEN - 1)
-- {
-- resultString[len++] = PathUtils::dir_sep;
-- resultString[len] = 0;
-- }
--
-- size_t alen = strlen(appendString);
-- if (len + alen > MAXPATHLEN - 1)
-- {
-- alen = MAXPATHLEN - 1 - len;
-- }
--
-- fb_assert(len < MAXPATHLEN);
-- fb_assert(alen < MAXPATHLEN);
-- fb_assert(len + alen < MAXPATHLEN);
--
-- memcpy(&resultString[len], appendString, alen);
-- resultString[len + alen] = 0;
--}
--
-
- void FB_EXPORTED gds__default_printer(void* /*arg*/, SSHORT offset, const TEXT* line)
- {
-Only in firebird/src/jrd: gds.cpp.orig
-diff -ur firebird.org/src/jrd/isc.cpp firebird/src/jrd/isc.cpp
---- firebird.org/src/jrd/isc.cpp 2014-07-03 13:40:08.000000000 +0200
-+++ firebird/src/jrd/isc.cpp 2014-07-03 13:45:17.000000000 +0200
-@@ -48,6 +48,8 @@
- #include "../jrd/gds_proto.h"
- #include "../jrd/isc_proto.h"
- #include "../jrd/jrd_proto.h"
-+#include "../jrd/os/os_utils.h"
-+#include "../jrd/os/path_utils.h"
-
- #include "../common/classes/init.h"
-
-@@ -632,3 +634,61 @@
- iscLogStatus(text, s);
- }
-
-+
-+void iscPrefixLock(TEXT* string, const TEXT* root, bool createLockDir)
-+{
-+/**************************************
-+ *
-+ * i s c P r e f i x L o c k
-+ *
-+ **************************************
-+ *
-+ * Functional description
-+ * Find appropriate Firebird lock file prefix.
-+ *
-+ **************************************/
-+ gds__prefix_lock(string, "");
-+
-+ if (createLockDir)
-+ os_utils::createLockDirectory(string);
-+
-+ iscSafeConcatPath(string, root);
-+}
-+
-+
-+void iscSafeConcatPath(TEXT *resultString, const TEXT *appendString)
-+{
-+/**************************************
-+ *
-+ * i s c S a f e C o n c a t P a t h
-+ *
-+ **************************************
-+ *
-+ * Functional description
-+ * Safely appends appendString to resultString using paths rules.
-+ * resultString must be at most MAXPATHLEN size.
-+ * Thread/signal safe code.
-+ *
-+ **************************************/
-+ size_t len = strlen(resultString);
-+ fb_assert(len > 0);
-+
-+ if (resultString[len - 1] != PathUtils::dir_sep && len < MAXPATHLEN - 1)
-+ {
-+ resultString[len++] = PathUtils::dir_sep;
-+ resultString[len] = 0;
-+ }
-+
-+ size_t alen = strlen(appendString);
-+ if (len + alen > MAXPATHLEN - 1)
-+ {
-+ alen = MAXPATHLEN - 1 - len;
-+ }
-+
-+ fb_assert(len < MAXPATHLEN);
-+ fb_assert(alen < MAXPATHLEN);
-+ fb_assert(len + alen < MAXPATHLEN);
-+
-+ memcpy(&resultString[len], appendString, alen);
-+ resultString[len + alen] = 0;
-+}
-diff -ur firebird.org/src/jrd/isc_proto.h firebird/src/jrd/isc_proto.h
---- firebird.org/src/jrd/isc_proto.h 2014-07-03 13:40:08.000000000 +0200
-+++ firebird/src/jrd/isc_proto.h 2014-07-03 13:45:17.000000000 +0200
-@@ -44,4 +44,7 @@
- struct _SECURITY_ATTRIBUTES* ISC_get_security_desc();
- #endif
-
-+void iscPrefixLock(TEXT* string, const TEXT* root, bool createLockDir);
-+void iscSafeConcatPath(TEXT *resultString, const TEXT *appendString);
-+
- #endif // JRD_ISC_PROTO_H
-diff -ur firebird.org/src/jrd/isc_sync.cpp firebird/src/jrd/isc_sync.cpp
---- firebird.org/src/jrd/isc_sync.cpp 2014-07-03 13:40:08.000000000 +0200
-+++ firebird/src/jrd/isc_sync.cpp 2014-07-03 13:45:17.000000000 +0200
-@@ -2296,7 +2296,7 @@
- {
- #ifndef WIN_NT
- TEXT expanded_filename[MAXPATHLEN];
-- gds__prefix_lock(expanded_filename, filename);
-+ iscPrefixLock(expanded_filename, filename, false);
-
- // We can't do much (specially in dtors) when it fails
- // therefore do not check for errors - at least it's just /tmp.
-@@ -2332,7 +2332,7 @@
- **************************************/
-
- TEXT expanded_filename[MAXPATHLEN];
-- gds__prefix_lock(expanded_filename, filename);
-+ iscPrefixLock(expanded_filename, filename, true);
-
- /* make the complete filename for the init file this file is to be used as a
- master lock to eliminate possible race conditions with just a single file
-@@ -2340,7 +2340,7 @@
- lock to a LCK_SHARED lock is not atomic*/
-
- TEXT init_filename[MAXPATHLEN];
-- gds__prefix_lock(init_filename, INIT_FILE);
-+ iscPrefixLock(init_filename, INIT_FILE, true);
-
- const bool trunc_flag = (length != 0);
-
-@@ -2373,7 +2373,7 @@
- if (fdSem < 0)
- {
- TEXT sem_filename[MAXPATHLEN];
-- gds__prefix_lock(sem_filename, SEM_FILE);
-+ iscPrefixLock(sem_filename, SEM_FILE, true);
- const int f = openFile(sem_filename);
- if (f == -1)
- {
-@@ -2554,7 +2554,7 @@
- int retry_count = 0;
-
- TEXT expanded_filename[MAXPATHLEN];
-- gds__prefix_lock(expanded_filename, filename);
-+ iscPrefixLock(expanded_filename, filename, true);
-
- const bool trunc_flag = (length != 0);
- bool init_flag = false;
-@@ -4187,7 +4187,7 @@
- CloseHandle(shmem_data->sh_mem_hdr_object);
-
- TEXT expanded_filename[MAXPATHLEN];
-- gds__prefix_lock(expanded_filename, shmem_data->sh_mem_name);
-+ iscPrefixLock(expanded_filename, shmem_data->sh_mem_name, false);
-
- // Delete file only if it is not used by anyone else
- HANDLE hFile = CreateFile(expanded_filename,
-Only in firebird/src/jrd: isc_sync.cpp.orig
-diff -ur firebird.org/src/jrd/svc.cpp firebird/src/jrd/svc.cpp
---- firebird.org/src/jrd/svc.cpp 2014-07-03 13:40:08.000000000 +0200
-+++ firebird/src/jrd/svc.cpp 2014-07-03 13:45:17.000000000 +0200
-@@ -1360,7 +1360,7 @@
- gds__prefix(auxBuf, "");
- break;
- case isc_info_svc_get_env_lock:
-- gds__prefix_lock(auxBuf, "");
-+ iscPrefixLock(auxBuf, "", false);
- break;
- case isc_info_svc_get_env_msg:
- gds__prefix_msg(auxBuf, "");
-@@ -1844,7 +1844,7 @@
- gds__prefix(PathBuffer, "");
- break;
- case isc_info_svc_get_env_lock:
-- gds__prefix_lock(PathBuffer, "");
-+ iscPrefixLock(PathBuffer, "", false);
- break;
- case isc_info_svc_get_env_msg:
- gds__prefix_msg(PathBuffer, "");
-Only in firebird/src/jrd: svc.cpp.orig
-diff -ur firebird.org/src/jrd/trace/TraceConfigStorage.cpp firebird/src/jrd/trace/TraceConfigStorage.cpp
---- firebird.org/src/jrd/trace/TraceConfigStorage.cpp 2014-07-03 13:40:08.000000000 +0200
-+++ firebird/src/jrd/trace/TraceConfigStorage.cpp 2014-07-03 13:45:17.000000000 +0200
-@@ -221,7 +221,7 @@
- fb_assert(m_base->cnt_uses == 0);
-
- char dir[MAXPATHLEN];
-- gds__prefix_lock(dir, "");
-+ iscPrefixLock(dir, "", true);
-
- PathName filename = TempFile::create("fb_trace_", dir);
- filename.copyTo(cfg_file_name, sizeof(m_base->cfg_file_name));
-Only in firebird/src/jrd/trace: TraceConfigStorage.cpp.orig
-diff -ur firebird.org/src/jrd/trace/TraceLog.cpp firebird/src/jrd/trace/TraceLog.cpp
---- firebird.org/src/jrd/trace/TraceLog.cpp 2014-07-03 13:40:08.000000000 +0200
-+++ firebird/src/jrd/trace/TraceLog.cpp 2014-07-03 13:45:17.000000000 +0200
-@@ -69,7 +69,7 @@
- }
-
- char dir[MAXPATHLEN];
-- gds__prefix_lock(dir, "");
-+ iscPrefixLock(dir, "", true);
- PathUtils::concatPath(m_baseFileName, dir, fileName);
-
- TraceLogGuard guard(this);
-Only in firebird/src/jrd/trace: TraceLog.cpp.orig
-Only in firebird/src/misc: codes.cpp
-Only in firebird: temp
diff --git a/external/firebird/firebird-vs2013.patch.1 b/external/firebird/firebird-vs2013.patch.1
index 4b930d111f8b..b7f90d391a74 100644
--- a/external/firebird/firebird-vs2013.patch.1
+++ b/external/firebird/firebird-vs2013.patch.1
@@ -1,12 +1,11 @@
-# -*- Mode: Diff -*-
---- firebird/src/jrd/os/win32/mod_loader.cpp
-+++ firebird/src/jrd/os/win32/mod_loader.cpp
+--- firebird/src/jrd/os/win32/mod_loader.cpp.orig 2015-06-05 07:18:34.639613335 +0300
++++ firebird/src/jrd/os/win32/mod_loader.cpp 2015-06-05 07:41:08.383489041 +0300
@@ -97,6 +97,8 @@
- "mscvr100.dll",
+ "msvcr100.dll",
#elif _MSC_VER == 1700
- "mscvr110.dll",
+ "msvcr110.dll",
+#elif _MSC_VER == 1800
-+ "mscvr120.dll",
++ "mscvr120.dll",
#else
#error Specify CRT DLL name here !
#endif