--- src/include/firebird.h 2016-07-15 11:31:27.151443500 +0200 +++ src/include/firebird.h 2016-07-17 14:50:04.043792400 +0200 @@ -32,11 +32,7 @@ #ifndef INCLUDE_Firebird_H #define INCLUDE_Firebird_H -#ifdef _MSC_VER -#include "gen/autoconfig_msvc.h" -#else #include "gen/autoconfig.h" -#endif #if defined __clang__ //#if __has_feature(address_sanitizer) --- src/misc/writeBuildNum.sh 2016-07-07 15:57:04.538983200 +0200 +++ src/misc/writeBuildNum.sh 2016-07-13 11:31:18.132820200 +0200 @@ -95,9 +95,9 @@ createMakeVersion() { OdsH="${Root}/src/jrd/ods.h" -Mini="/tmp/miniods.h" -TestCpp="/tmp/test.cpp" -AOut="/tmp/a.out" +Mini=$(cygpath -m "/tmp/miniods.h") +TestCpp=$(cygpath -m "/tmp/test.cpp") +AOut=$(cygpath -m "/tmp/a.out") grep ODS_VERSION $OdsH | grep -v ENCODE_ODS >$Mini --- builds/make.new/config/config.h.in 2016-07-07 15:55:55.693112800 +0200 +++ builds/make.new/config/config.h.in 2016-07-08 13:38:49.994986400 +0200 @@ -396,7 +396,7 @@ #undef HAVE_SIGSET /* Define to 1 if you have the `snprintf' function. */ -#undef HAVE_SNPRINTF +#define HAVE_SNPRINTF /* Define to 1 if you have the <socket.h> header file. */ #undef HAVE_SOCKET_H @@ -551,7 +551,7 @@ #undef HAVE_VFORK_H /* Define to 1 if you have the `vsnprintf' function. */ -#undef HAVE_VSNPRINTF +#define HAVE_VSNPRINTF /* Define to 1 if you have the <winsock2.h> header file. */ #undef HAVE_WINSOCK2_H @@ -646,7 +646,7 @@ #undef TIME_WITH_SYS_TIME /* Define this if OS is Windows NT */ -#undef WIN_NT +#define WIN_NT /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ @@ -703,3 +703,36 @@ #ifndef HAVE_SOCKLEN_T typedef int socklen_t; #endif + +/* taken from src/include/gen/autoconfig_msvc.h */ +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +#endif +/* target architecture */ +#if defined(_M_IX86) +/* sizeof(void *) */ +#define SIZEOF_VOID_P 4 +/* sizeof(size_t) */ +#define SIZEOF_SIZE_T 4 +/* alignment of long */ +#define FB_ALIGNMENT 4 +#elif defined(_M_AMD64) +#define AMD64 +/* sizeof(void *) */ +#define SIZEOF_VOID_P 8 +/* sizeof(size_t) */ +#define SIZEOF_SIZE_T 8 +/* alignment of long */ +#define FB_ALIGNMENT 8 +#else +#error unknown target platform +#endif + +#define HAVE_IO_H +#define HAVE_CTIME_S +#define HAVE_GETPAGESIZE + +#if defined _MSC_VER +#define isnan _isnan +#endif + --- src/common/common.h 2016-07-15 11:31:26.366735500 +0200 +++ src/common/common.h 2016-07-17 16:18:39.121579400 +0200 @@ -551,15 +551,6 @@ #endif /* WIN_NT */ -#ifndef FB_CPU -#error Define FB_CPU for your platform -#endif -#ifndef FB_OS -#error Define FB_OS for your platform -#endif -#ifndef FB_CC -#error Define FB_CC for your platform -#endif /***************************************************** diff -ur builds/posix/make.defaults builds/posix/make.defaults --- builds/posix/make.defaults 2016-07-07 13:56:13.036235166 +0200 +++ builds/posix/make.defaults 2016-07-07 14:29:52.368289242 +0200 @@ -56,7 +56,7 @@ else FIREBIRD=$(FB_BUILD) endif -FIREBIRD_LOCK=$(FIREBIRD) +FIREBIRD_LOCK=$(shell cygpath -w $(FIREBIRD)) export FIREBIRD export FIREBIRD_LOCK @@ -153,7 +153,7 @@ CD= cd CAT= cat AR= ar @AR_OPTIONS@ -LN= @LN_S@ +LN= cp RANLIB= @RANLIB@ BTYACC=$(ROOT)/extern/btyacc/btyacc CLOOP=$(GEN_ROOT)/$(TARGET)/cloop/release/bin/cloop @@ -175,10 +175,10 @@ # Default extensions -ARCH_EXT= .a +ARCH_EXT= .lib EXEC_EXT= @EXEEXT@ SHRLIB_EXT=@SHRLIB_EXT@ -LIB_PREFIX= lib +LIB_PREFIX= SHRLIB_FOREIGN_EXT= $(SHRLIB_EXT) #_____________________________________________________________________________ @@ -201,9 +202,8 @@ # Search path for libraries -vpath %.so $(LIB) -vpath %.a $(LIB) vpath %.dll $(LIB) +vpath %.lib $(LIB) #_____________________________________________________________________________ @@ -217,9 +217,9 @@ # #LibraryFileName=libfbclient -LibraryFileName=libfbclient -LibraryFullName=$(LibraryFileName).${SHRLIB_EXT}.${FirebirdVersion} -LibrarySoName=$(LibraryFileName).${SHRLIB_EXT}.2 +LibraryFileName=ifbclient +LibraryFullName=$(LibraryFileName).${SHRLIB_EXT} +LibrarySoName=$(LibraryFileName).${SHRLIB_EXT} LibraryBaseName=$(LibraryFileName).${SHRLIB_EXT} LIBFIREBIRD_FULLNAME = $(LIB)/$(LibraryFullName) @@ -228,7 +228,7 @@ # The firebird engine library name -EngineFileName=libEngine${OdsVersion} +EngineFileName=Engine12 EngineSoName=$(EngineFileName).${SHRLIB_EXT} ENGINE_SONAME = $(PLUGINS)/$(EngineSoName) @@ -242,7 +242,7 @@ ifeq ($(STD_EDITLINE), true) LIBEDITLINE := -l$(READLINE) else - LIBEDITLINE := $(LIB)/libedit.a + LIBEDITLINE := $(LIB)/$(LIB_PREFIX)edit$(ARCH_EXT) endif endif @@ -313,7 +313,7 @@ LIB_LINK_SONAME= -Wl,-soname,$(1) LIB_LINK_MAPFILE= -Wl,--version-script,$(1) -FIREBIRD_LIBRARY_LINK= -L$(LIB) -lfbclient $(MATHLIB) +FIREBIRD_LIBRARY_LINK= -L$(LIB) -lifbclient $(MATHLIB) EXE_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS) $(LINK_EMPTY_SYMBOLS) LIB_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) -shared @@ -355,7 +355,7 @@ # Pay attention - we place common library into obj, not lib dir # It's just a set of object files, prepared to be used by ld, not an output library -COMMON_LIB = $(OBJ)/common.a +COMMON_LIB = $(OBJ)/$(LIB_PREFIX)common$(ARCH_EXT) # From utilities CREATE_DB = $(RBIN)/create_db$(EXEC_EXT) --- builds/posix/Makefile.in 2016-07-07 15:56:06.459221300 +0200 +++ builds/posix/Makefile.in 2016-07-13 12:44:57.134217200 +0200 @@ -33,7 +33,7 @@ # Alex Peshkoff - created single makefile based on Mark's files # -ROOT=$(shell cd ..; pwd) +ROOT=$(shell cygpath -m '$(shell cd ..; pwd)') include make.defaults ifeq ($(CROSS_OUT), Y) @@ -178,7 +178,7 @@ .PHONY: cross1 cross2 boot yvalve engine fbintl gpre utilities plugins rest codes ids examples cross_rest preliminaryCheck master_process: - ln -sf $(SRC_ROOT)/include/gen/autoconfig.auto $(SRC_ROOT)/include/gen/autoconfig.h + cp -f $(SRC_ROOT)/include/gen/autoconfig.auto $(SRC_ROOT)/include/gen/autoconfig.h $(MAKE) updateBuildNum $(MAKE) export_lists $(MAKE) extern @@ -214,7 +215,7 @@ $(MAKE) CROSS_OUT=Y cross2 cross1: - ln -sf $(SRC_ROOT)/include/gen/autoconfig.auto $(SRC_ROOT)/include/gen/autoconfig.h + cp -f $(SRC_ROOT)/include/gen/autoconfig.auto $(SRC_ROOT)/include/gen/autoconfig.h $(MAKE) updateBuildNum $(MAKE) export_lists $(MAKE) extern @@ -239,7 +240,7 @@ $(MAKE) -f Makefile.examples -C $(GEN_ROOT)/examples/ cross2: - ln -sf $(SRC_ROOT)/include/cross/$(CROSS_CONFIG) $(SRC_ROOT)/include/gen/autoconfig.h + cp -f $(SRC_ROOT)/include/cross/$(CROSS_CONFIG) $(SRC_ROOT)/include/gen/autoconfig.h $(MAKE) prerequisites $(MAKE) tommath $(MAKE) yvalve @@ -310,7 +311,7 @@ # remote redirector is statically linked in main FB library $(LIBFIREBIRD_FULLNAME): $(YValve_Objects) $(Remote_Client_Objects) $(COMMON_LIB) - $(LINK_FIREBIRD) -o $@ $^ $(LINK_FIREBIRD_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,lib/libfbclient.$(SHRLIB_EXT)) + $(LINK_FIREBIRD) $(CPPFLAGS) -o $@ $^ $(LINK_FIREBIRD_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,lib/libfbclient.$(SHRLIB_EXT)) #___________________________________________________________________________ @@ -320,8 +321,8 @@ engine: $(ENGINE_SONAME) -$(ENGINE_SONAME): $(Engine_Objects) $(SVC_Objects) $(COMMON_LIB) - $(LINK_ENGINE) -o $@ $^ $(LINK_ENGINE_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/$(EngineSoName)) +$(ENGINE_SONAME): $(Engine_Objects) $(SVC_Objects) $(YValve_Objects) $(Remote_Client_Objects) $(COMMON_LIB) + $(LINK_ENGINE) $(CPPFLAGS) -o $@ $^ $(LINK_ENGINE_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,plugins/$(EngineSoName)) #___________________________________________________________________________ @@ -330,8 +331,8 @@ fbintl: $(LIBFBINTL_SO) -$(LIBFBINTL_SO): $(INTL_Objects) $(COMMON_LIB) - $(LINK_INTL) -o $@ $^ $(LINK_INTL_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,intl/libfbintl.$(SHRLIB_EXT)) +$(LIBFBINTL_SO): $(INTL_Objects) $(YValve_Objects) $(Remote_Client_Objects) $(COMMON_LIB) + $(LINK_INTL) $(CPPFLAGS) -o $@ $^ $(LINK_INTL_LIBS) $(call LIB_LINK_DARWIN_INSTALL_NAME,intl/libfbintl.$(SHRLIB_EXT)) #___________________________________________________________________________ @@ -427,12 +429,13 @@ .PHONY: firebird_server fb_lock_print fbguard fbsvcmgr fbtracemgr gbak gfix gsec gsplit gstat isql nbackup -utilities: firebird_server fb_lock_print fbguard fbsvcmgr fbtracemgr gbak gfix gsec gsplit gstat isql nbackup udfsupport +# fbguard currently fails to link, with missing fork etc, in util.cpp +utilities: firebird_server fb_lock_print fbsvcmgr fbtracemgr gbak gfix gsec gsplit gstat isql nbackup udfsupport firebird_server: $(FB_DAEMON) -$(FB_DAEMON): $(Remote_Server_Objects) $(COMMON_LIB) - $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS) $(call LINK_DARWIN_RPATH,..) +$(FB_DAEMON): $(Remote_Server_Objects) $(Remote_Client_Objects) $(COMMON_LIB) + $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS) $(LIB_GUI) $(call LINK_DARWIN_RPATH,..) fb_lock_print: $(LOCKPRINT) @@ -633,7 +635,7 @@ IBASE_ExtraFiles = include/types_pub.h include/consts_pub.h dsql/sqlda_pub.h common/dsc_pub.h jrd/ibase.h jrd/inf_pub.h jrd/blr.h include/gen/iberror.h SRC_IBASE_ExtraFiles = $(addprefix $(SRC_ROOT)/, $(IBASE_ExtraFiles)) MAKE_HEADER_Src = $(addprefix $(SRC_ROOT)/, misc/makeHeader.cpp) -MAKE_HEADER_Bin = ./makeHeader +MAKE_HEADER_Bin = ./makeHeader$(EXEC_EXT) $(INCLUDE_DEST)/ibase.h: $(SRC_IBASE_ExtraFiles) $(STATICEXE_LINK) -o $(MAKE_HEADER_Bin) $(MAKE_HEADER_Src) diff -ur builds/posix/make.rules builds/posix/make.rules --- builds/posix/make.rules 2016-07-07 13:56:13.036235166 +0200 +++ builds/posix/make.rules 2016-07-07 14:31:16.116291485 +0200 @@ -92,26 +92,23 @@ $(OBJ)/%.o: $(SRC_ROOT)/%.c $(CC) $(WCFLAGS) -c $(firstword $<) -o $@ - @sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@) $(OBJ)/%.o: $(OBJ)/%.cpp $(CXX) $(WCXXFLAGS) -c $(firstword $<) -o $@ - @sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@) $(OBJ)/%.o: $(SRC_ROOT)/%.cpp $(CXX) $(WCXXFLAGS) -c $(firstword $<) -o $@ - @sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@) $(OBJ)/%.o: $(ROOT)/%.cpp $(CC) $(WCFLAGS) -c $(firstword $<) -o $@ - @sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@) .SUFFIXES: .epp .e # Rules for making resource files $(GEN_ROOT)/%.res: $(SRC_ROOT)/%.rc - windres --output-format=coff --include-dir=$(<D) $< $@ + mkdir -p $(@D) + rc.exe $(SOLARINC) /fo $@ $< # Rule for making gbak files when cross-compiling --- src/common/utils.cpp 2016-07-15 11:31:26.746871100 +0200 +++ src/common/utils.cpp 2016-07-19 19:14:45.370689300 +0200 @@ -880,15 +880,15 @@ FILETIME utime, stime, dummy; if (GetProcessTimes(GetCurrentProcess(), &dummy, &dummy, &stime, &utime)) { - LARGE_INTEGER lint; + LARGE_INTEGER myLargeInt; - lint.HighPart = stime.dwHighDateTime; - lint.LowPart = stime.dwLowDateTime; - sysTime = lint.QuadPart / 10000; - - lint.HighPart = utime.dwHighDateTime; - lint.LowPart = utime.dwLowDateTime; - userTime = lint.QuadPart / 10000; + myLargeInt.HighPart = stime.dwHighDateTime; + myLargeInt.LowPart = stime.dwLowDateTime; + sysTime = myLargeInt.QuadPart / 10000; + + myLargeInt.HighPart = utime.dwHighDateTime; + myLargeInt.LowPart = utime.dwLowDateTime; + userTime = myLargeInt.QuadPart / 10000; } else { diff -ur builds/posix/prefix.mingw builds/posix/prefix.mingw --- builds/posix/prefix.mingw 2016-07-07 13:56:13.048235166 +0200 +++ builds/posix/prefix.mingw 2016-07-07 14:50:54.704323046 +0200 @@ -20,8 +20,8 @@ # # -Wno-unused-variable is used due to unused gpre generated variables -PROD_FLAGS=-O2 -DMINGW -Wall -Wshadow -Wundef -Wno-long-long -Wno-unused-variable -Wno-sign-compare -Wno-parentheses -Wno-switch -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads -Wno-non-virtual-dtor -DEV_FLAGS=-ggdb -DMINGW -Wall -Wshadow -Wundef -Wno-long-long -Wno-unused-variable -Wno-sign-compare -Wno-parentheses -Wno-switch -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads -Wno-non-virtual-dtor +PROD_FLAGS=-O2 -DMINGW -Dlint -DWIN32_LEAN_AND_MEAN +DEV_FLAGS=-ggdb -DMINGW -Dlint -DWIN32_LEAN_AND_MEAN PLATFORM_PATH=os/win32 @@ -29,6 +29,7 @@ LIB_LINK=$(LD) LIB_LINK_OPTIONS+=-Wl,--enable-stdcall-fixup +LIB_PLATFORM_RPATH= # Strip symbols from release versions to decrease size ifeq ($(IsProdTypeBuild),Y) @@ -36,6 +37,9 @@ LIB_LINK_OPTIONS+=-Wl,-s endif +LIB_LINK_OPTIONS= +LINK_OPTS= + # Generation of fbclient_ms.lib LIB_LINK_IMPLIB:=-Wl,--out-implib,firebird/lib/fbclient_ms.lib LIB_GUI:= -mwindows -lcomctl32 -lgdi32 @@ -55,7 +59,9 @@ ClientLibrarySoName := $(ClientLibraryName) # Looks like MinGW 3 does not support version scripts but support def-files -LINK_FIREBIRD_SYMBOLS = $(BLD_ROOT)/win32/defs/fbclient_s.def $(BLD_ROOT)/win32/defs/fbclient.def +LINK_FIREBIRD_SYMBOLS = /def:$(BLD_ROOT)/win32/defs/fbclient_s.def /def:$(BLD_ROOT)/win32/defs/firebird.def +LINK_PLUGIN_SYMBOLS = /def:$(BLD_ROOT)/win32/defs/plugin.def +LINK_IBUTIL_SYMBOLS = /def:$(BLD_ROOT)/win32/defs/ib_util.def # This is required for newly built executable to find newly built shared # libraries because on Win32 there is no such thing as LD_LIBRARY_PATH --- builds/posix/make.shared.variables 2016-07-22 17:07:46.650672300 +0200 +++ builds/posix/make.shared.variables 2016-07-23 10:44:41.311454600 +0200 @@ -62,6 +62,7 @@ $(SecDbCache) Remote_Client:= $(call dirObjects,remote/client) $(call dirObjects,auth/SecureRemotePassword/client) \ $(call makeObjects,auth/SecurityDatabase,LegacyClient.cpp) \ + $(call dirObjects,auth/trusted) \ $(call dirObjects,plugins/crypt/arc4) Remote_Server_Objects:= $(Remote_Common) $(Remote_Server) Remote_Client_Objects:= $(Remote_Common) $(Remote_Client) diff -ur configure configure --- configure 2016-07-07 13:55:54.976234682 +0200 +++ configure 2016-07-07 14:54:30.012328812 +0200 @@ -3337,6 +3337,14 @@ SHRLIB_EXT=dll ;; + *-*-cygwin*) + MAKEFILE_PREFIX=mingw + PLATFORM=win32 + EDITLINE_FLG=N + RAW_DEVICES_FLG=N + SHRLIB_EXT=dll + ;; + *) as_fn_error $? "unsupported platform ${build}" "$LINENO" 5 ;; @@ -8432,6 +8432,9 @@ mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; +cygwin*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; esac # Try without a prefix underscore, then with it. diff -ur extern/btyacc/main.c extern/btyacc/main.c --- extern/btyacc/main.c 2016-07-07 13:55:55.448234695 +0200 +++ extern/btyacc/main.c 2016-07-07 14:56:03.560331317 +0200 @@ -2,7 +2,7 @@ #include <signal.h> #include <stdio.h> -#if defined(WIN32) +#if defined(WIN32) || defined(_WIN32) #include <io.h> #else #include <unistd.h> diff -ur extern/btyacc/Makefile extern/btyacc/Makefile --- extern/btyacc/Makefile 2016-07-07 13:55:55.448234695 +0200 +++ extern/btyacc/Makefile 2016-07-07 14:57:42.284333961 +0200 @@ -30,7 +30,7 @@ PRINT = pr -f -l88 -PROGRAM = btyacc +PROGRAM = btyacc.exe SRCS = closure.c error.c lalr.c lr0.c main.c mkpar.c output.c \ mstring.c reader.c readskel.c skeleton.c symtab.c verbose.c warshall.c @@ -58,7 +58,7 @@ index:; ctags -wx $(HDRS) $(SRCS) install: $(PROGRAM) - cp $(PROGRAM).exe /bin + cp $(PROGRAM) /bin oldinstall: $(PROGRAM) @echo Installing $(PROGRAM) in $(DEST) --- extern/cloop/src/tests/test1/CppTest.cpp 2016-07-07 15:56:27.948015300 +0200 +++ extern/cloop/src/tests/test1/CppTest.cpp 2016-07-13 18:58:48.529822600 +0200 @@ -24,6 +24,7 @@ #include <stdio.h> #include <assert.h> +#define WIN32 #ifdef WIN32 #include <windows.h> #define DLL_EXPORT __declspec(dllexport) --- extern/cloop/src/tests/test1/CTest.c 2016-07-07 15:56:27.611791300 +0200 +++ extern/cloop/src/tests/test1/CTest.c 2016-07-13 17:04:22.805090300 +0200 @@ -23,6 +23,7 @@ #include <stdlib.h> #include <stdio.h> +#define WIN32 #ifdef WIN32 #include <windows.h> #define DLL_EXPORT __declspec(dllexport) --- extern/cloop/Makefile 2016-07-07 15:56:28.279136300 +0200 +++ extern/cloop/Makefile 2016-07-13 16:22:38.493479800 +0200 @@ -11,8 +11,8 @@ SRC_DIR := src BUILD_DIR := build OUT_DIR := output -SHRLIB_EXT := .so -EXE_EXT := +SHRLIB_EXT := .dll +EXE_EXT := .exe OBJ_DIR := $(BUILD_DIR)/$(TARGET) BIN_DIR := $(OUT_DIR)/$(TARGET)/bin @@ -27,7 +27,7 @@ OBJS_C := $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRCS_C)) OBJS_CPP := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRCS_CPP)) -C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter +C_FLAGS := -fPIC CXX_FLAGS := $(C_FLAGS) FPC_FLAGS := -Mdelphi @@ -53,7 +53,7 @@ .PHONY: all mkdirs clean all: mkdirs \ - $(BIN_DIR)/cloop \ + $(BIN_DIR)/cloop$(EXE_EXT) \ $(BIN_DIR)/test1-c$(SHRLIB_EXT) \ $(BIN_DIR)/test1-c$(EXE_EXT) \ $(BIN_DIR)/test1-cpp$(SHRLIB_EXT) \ @@ -63,6 +63,10 @@ mkdirs: $(OBJ_DIRS) $(BIN_DIR) $(LIB_DIR) +# These files have the same basename, so various conflicting intermediate files break the build +$(BIN_DIR)/test1-c$(EXE_EXT): | $(BIN_DIR)/test1-c$(SHRLIB_EXT) +$(BIN_DIR)/test1-cpp$(EXE_EXT): | $(BIN_DIR)/test1-cpp$(SHRLIB_EXT) + $(OBJ_DIRS) $(BIN_DIR) $(LIB_DIR): @mkdir -p $@ @@ -74,7 +74,7 @@ -include $(addsuffix .d,$(basename $(OBJS_C))) -include $(addsuffix .d,$(basename $(OBJS_CPP))) -$(BIN_DIR)/cloop: \ +$(BIN_DIR)/cloop$(EXE_EXT): \ $(OBJ_DIR)/cloop/Expr.o \ $(OBJ_DIR)/cloop/Generator.o \ $(OBJ_DIR)/cloop/Lexer.o \ @@ -83,20 +83,20 @@ $(LD) $^ -o $@ -$(SRC_DIR)/tests/test1/CalcCApi.h: $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl - $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl c-header $@ CALC_C_API_H CALC_I +$(SRC_DIR)/tests/test1/CalcCApi.h: $(BIN_DIR)/cloop$(EXE_EXT) $(SRC_DIR)/tests/test1/Interface.idl + $(BIN_DIR)/cloop$(EXE_EXT) $(SRC_DIR)/tests/test1/Interface.idl c-header $@ CALC_C_API_H CALC_I -$(SRC_DIR)/tests/test1/CalcCApi.c: $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl $(SRC_DIR)/tests/test1/CalcCApi.h - $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl c-impl $@ CalcCApi.h CALC_I +$(SRC_DIR)/tests/test1/CalcCApi.c: $(BIN_DIR)/cloop$(EXE_EXT) $(SRC_DIR)/tests/test1/Interface.idl $(SRC_DIR)/tests/test1/CalcCApi.h + $(BIN_DIR)/cloop$(EXE_EXT) $(SRC_DIR)/tests/test1/Interface.idl c-impl $@ CalcCApi.h CALC_I -$(SRC_DIR)/tests/test1/CalcCppApi.h: $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl - $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl c++ $@ CALC_CPP_API_H calc I +$(SRC_DIR)/tests/test1/CalcCppApi.h: $(BIN_DIR)/cloop$(EXE_EXT) $(SRC_DIR)/tests/test1/Interface.idl + $(BIN_DIR)/cloop$(EXE_EXT) $(SRC_DIR)/tests/test1/Interface.idl c++ $@ CALC_CPP_API_H calc I -$(SRC_DIR)/tests/test1/CalcPascalApi.pas: $(BIN_DIR)/cloop \ +$(SRC_DIR)/tests/test1/CalcPascalApi.pas: $(BIN_DIR)/cloop$(EXE_EXT) \ $(SRC_DIR)/tests/test1/Interface.idl \ $(SRC_DIR)/tests/test1/CalcPascalApi.interface.pas \ $(SRC_DIR)/tests/test1/CalcPascalApi.implementation.pas - $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl pascal $@ CalcPascalApi \ + $(BIN_DIR)/cloop$(EXE_EXT) $(SRC_DIR)/tests/test1/Interface.idl pascal $@ CalcPascalApi \ --uses "SysUtils" \ --interfaceFile $(SRC_DIR)/tests/test1/CalcPascalApi.interface.pas \ --implementationFile $(SRC_DIR)/tests/test1/CalcPascalApi.implementation.pas \ @@ -108,23 +108,23 @@ $(OBJ_DIR)/tests/test1/CalcCApi.o \ $(OBJ_DIR)/tests/test1/CTest.o \ - $(LD) $^ -shared -ldl -o $@ + $(LD) $^ -o $@ $(BIN_DIR)/test1-c$(EXE_EXT): \ $(OBJ_DIR)/tests/test1/CalcCApi.o \ $(OBJ_DIR)/tests/test1/CTest.o \ - $(LD) $^ -ldl -o $@ + $(LD) $^ -o $@ $(BIN_DIR)/test1-cpp$(SHRLIB_EXT): \ $(OBJ_DIR)/tests/test1/CppTest.o \ - $(LD) $^ -shared -ldl -o $@ + $(LD) $^ -o $@ $(BIN_DIR)/test1-cpp$(EXE_EXT): \ $(OBJ_DIR)/tests/test1/CppTest.o \ - $(LD) $^ -ldl -o $@ + $(LD) $^ -o $@ $(BIN_DIR)/test1-pascal$(SHRLIB_EXT): \ $(SRC_DIR)/tests/test1/PascalClasses.pas \ diff -ur src/common/classes/fb_string.cpp src/common/classes/fb_string.cpp --- src/common/classes/fb_string.cpp 2016-07-07 13:55:56.064234711 +0200 +++ src/common/classes/fb_string.cpp 2016-07-07 14:59:01.516336083 +0200 @@ -32,6 +32,12 @@ #include <ctype.h> #include <stdarg.h> +#ifdef WIN_NT +#pragma comment(lib, "User32.lib") +#pragma comment(lib, "advapi32") +#pragma comment(lib, "shell32.lib") +#endif + #ifdef HAVE_STRCASECMP #define STRNCASECMP strncasecmp #else diff -ur src/misc/makeHeader.cpp src/misc/makeHeader.cpp --- src/misc/makeHeader.cpp 2016-07-07 13:56:00.100234819 +0200 +++ src/misc/makeHeader.cpp 2016-07-07 15:00:14.780338045 +0200 @@ -1,9 +1,9 @@ #include <stdio.h> #include <string.h> #include <errno.h> -//#ifdef HAVE_UNISTD_H +#ifdef HAVE_UNISTD_H #include <unistd.h> -//#endif +#endif --- builds/posix/Makefile.in.plugins_examples.orig 2020-11-13 18:07:52.515550600 +0100 +++ builds/posix/Makefile.in.plugins_examples 2020-11-13 18:08:33.218626500 +0100 @@ -28,7 +28,7 @@ # Adriano dos Santos Fernandes # -ROOT=$(shell cd ..; pwd) +ROOT=$(shell cygpath -m '$(shell cd ..; pwd)') ifeq ($(IsDeveloper), Y) DefaultTarget := Debug --- examples/dbcrypt/CryptApplication.cpp.orig 2020-11-13 20:57:11.222938900 +0100 +++ examples/dbcrypt/CryptApplication.cpp 2020-11-13 21:01:19.332316100 +0100 @@ -27,6 +27,13 @@ #include "../interfaces/ifaceExamples.h" #include <firebird/Message.h> +#include "gen/autoconfig.h" + +#ifdef WIN_NT +#include <windows.h> +#include <winbase.h> +#endif + using namespace Firebird; class CryptKey : public ICryptKeyCallbackImpl<CryptKey, CheckStatusWrapper> @@ -238,8 +238,15 @@ av++; } +#ifdef WIN_NT + if (!getenv("ISC_USER")) + SetEnvironmentVariable("ISC_USER", "sysdba"); + if (!getenv("ISC_PASSWORD")) + SetEnvironmentVariable("ISC_PASSWORD", "masterkey"); +#else setenv("ISC_USER", "sysdba", 0); setenv("ISC_PASSWORD", "masterkey", 0); +#endif App app; try ='feature/orcus-odf-rebased'>feature/orcus-odf-rebased</option> <option value='feature/orcus-odf-rebased2'>feature/orcus-odf-rebased2</option> <option value='feature/orcus-rebased'>feature/orcus-rebased</option> <option value='feature/owncloud-provider-for-android'>feature/owncloud-provider-for-android</option> <option value='feature/pdfium-master'>feature/pdfium-master</option> <option value='feature/perfwork4'>feature/perfwork4</option> <option value='feature/perfwork5'>feature/perfwork5</option> <option value='feature/pivotcharts'>feature/pivotcharts</option> <option value='feature/print_revamp'>feature/print_revamp</option> <option value='feature/priorities'>feature/priorities</option> <option value='feature/profilesafemode'>feature/profilesafemode</option> <option value='feature/propose-master-cib'>feature/propose-master-cib</option> <option value='feature/pytable'>feature/pytable</option> <option value='feature/pyweb-wizard'>feature/pyweb-wizard</option> <option value='feature/qt5-win+mac'>feature/qt5-win+mac</option> <option value='feature/refactor-god-objects'>feature/refactor-god-objects</option> <option value='feature/rendercontext'>feature/rendercontext</option> <option value='feature/resolve-comments'>feature/resolve-comments</option> <option value='feature/scaling-geometry-provider'>feature/scaling-geometry-provider</option> <option value='feature/screenshotannotation'>feature/screenshotannotation</option> <option value='feature/sgexperiment'>feature/sgexperiment</option> <option value='feature/skia'>feature/skia</option> <option value='feature/slidehack'>feature/slidehack</option> <option value='feature/slidehack2'>feature/slidehack2</option> <option value='feature/slideshow_onlySprites'>feature/slideshow_onlySprites</option> <option value='feature/slideshowprimitives'>feature/slideshowprimitives</option> <option value='feature/sparklines'>feature/sparklines</option> <option value='feature/spellig_popup_SID'>feature/spellig_popup_SID</option> <option value='feature/stub_writer'>feature/stub_writer</option> <option value='feature/svg-export'>feature/svg-export</option> <option value='feature/svg-optimisations'>feature/svg-optimisations</option> <option value='feature/svg-optimisations-5-0'>feature/svg-optimisations-5-0</option> <option value='feature/sw-delete-undo-rework'>feature/sw-delete-undo-rework</option> <option value='feature/sw_redlinehide_4a_for_libreoffice-6-2'>feature/sw_redlinehide_4a_for_libreoffice-6-2</option> <option value='feature/sw_redlinehide_4b_for_libreoffice-6-2'>feature/sw_redlinehide_4b_for_libreoffice-6-2</option> <option value='feature/table-style'>feature/table-style</option> <option value='feature/table-style-rebased'>feature/table-style-rebased</option> <option value='feature/table_panel'>feature/table_panel</option> <option value='feature/table_rotated_text'>feature/table_rotated_text</option> <option value='feature/taggedPDF'>feature/taggedPDF</option> <option value='feature/template_manager_improvements'>feature/template_manager_improvements</option> <option value='feature/template_manager_improvements2'>feature/template_manager_improvements2</option> <option value='feature/themesupport'>feature/themesupport</option> <option value='feature/themesupport2'>feature/themesupport2</option> <option value='feature/tiled-editing'>feature/tiled-editing</option> <option value='feature/tscp3'>feature/tscp3</option> <option value='feature/unitver'>feature/unitver</option> <option value='feature/unocrsrptr'>feature/unocrsrptr</option> <option value='feature/unostyles'>feature/unostyles</option> <option value='feature/unostyles2'>feature/unostyles2</option> <option value='feature/unostyles3'>feature/unostyles3</option> <option value='feature/use-ogl-context-in-canvas'>feature/use-ogl-context-in-canvas</option> <option value='feature/vcl-opengl'>feature/vcl-opengl</option> <option value='feature/vcl-opengl-integration'>feature/vcl-opengl-integration</option> <option value='feature/vcl-opengl2'>feature/vcl-opengl2</option> <option value='feature/vclptr'>feature/vclptr</option> <option value='feature/vlc'>feature/vlc</option> <option value='feature/vlc-rb'>feature/vlc-rb</option> <option value='feature/vs2012'>feature/vs2012</option> <option value='feature/wasm'>feature/wasm</option> <option value='feature/window-iter'>feature/window-iter</option> <option value='feature/windows-cross-build'>feature/windows-cross-build</option> <option value='feature/windowsupdater'>feature/windowsupdater</option> <option value='feature/xtiledrenderable'>feature/xtiledrenderable</option> <option value='feature/yrs-demo'>feature/yrs-demo</option> <option value='libreoffice-24-2'>libreoffice-24-2</option> <option value='libreoffice-24-2-0'>libreoffice-24-2-0</option> <option value='libreoffice-24-2-1'>libreoffice-24-2-1</option> <option value='libreoffice-24-2-2'>libreoffice-24-2-2</option> <option value='libreoffice-24-2-3'>libreoffice-24-2-3</option> <option value='libreoffice-24-2-4'>libreoffice-24-2-4</option> <option value='libreoffice-24-2-5'>libreoffice-24-2-5</option> <option value='libreoffice-24-2-6'>libreoffice-24-2-6</option> <option value='libreoffice-24-2-7'>libreoffice-24-2-7</option> <option value='libreoffice-24-8'>libreoffice-24-8</option> <option value='libreoffice-24-8-0'>libreoffice-24-8-0</option> <option value='libreoffice-24-8-1'>libreoffice-24-8-1</option> <option value='libreoffice-24-8-2'>libreoffice-24-8-2</option> <option value='libreoffice-24-8-3'>libreoffice-24-8-3</option> <option value='libreoffice-24-8-4'>libreoffice-24-8-4</option> <option value='libreoffice-24-8-5'>libreoffice-24-8-5</option> <option value='libreoffice-25-2'>libreoffice-25-2</option> <option value='libreoffice-25-2-0'>libreoffice-25-2-0</option> <option value='libreoffice-25-2-1'>libreoffice-25-2-1</option> <option value='libreoffice-3-5'>libreoffice-3-5</option> <option value='libreoffice-3-5-0'>libreoffice-3-5-0</option> <option value='libreoffice-3-5-1'>libreoffice-3-5-1</option> <option value='libreoffice-3-5-2'>libreoffice-3-5-2</option> <option value='libreoffice-3-5-3'>libreoffice-3-5-3</option> <option value='libreoffice-3-5-4'>libreoffice-3-5-4</option> <option value='libreoffice-3-5-5'>libreoffice-3-5-5</option> <option value='libreoffice-3-5-6'>libreoffice-3-5-6</option> <option value='libreoffice-3-5-7'>libreoffice-3-5-7</option> <option value='libreoffice-3-6'>libreoffice-3-6</option> <option value='libreoffice-3-6-0'>libreoffice-3-6-0</option> <option value='libreoffice-3-6-1'>libreoffice-3-6-1</option> <option value='libreoffice-3-6-2'>libreoffice-3-6-2</option> <option value='libreoffice-3-6-3'>libreoffice-3-6-3</option> <option value='libreoffice-3-6-4'>libreoffice-3-6-4</option> <option value='libreoffice-3-6-5'>libreoffice-3-6-5</option> <option value='libreoffice-3-6-6'>libreoffice-3-6-6</option> <option value='libreoffice-3-6-7'>libreoffice-3-6-7</option> <option value='libreoffice-4-0'>libreoffice-4-0</option> <option value='libreoffice-4-0-0'>libreoffice-4-0-0</option> <option value='libreoffice-4-0-1'>libreoffice-4-0-1</option> <option value='libreoffice-4-0-2'>libreoffice-4-0-2</option> <option value='libreoffice-4-0-3'>libreoffice-4-0-3</option> <option value='libreoffice-4-0-4'>libreoffice-4-0-4</option> <option value='libreoffice-4-0-5'>libreoffice-4-0-5</option> <option value='libreoffice-4-0-6'>libreoffice-4-0-6</option> <option value='libreoffice-4-1'>libreoffice-4-1</option> <option value='libreoffice-4-1-0'>libreoffice-4-1-0</option> <option value='libreoffice-4-1-1'>libreoffice-4-1-1</option> <option value='libreoffice-4-1-2'>libreoffice-4-1-2</option> <option value='libreoffice-4-1-3'>libreoffice-4-1-3</option> <option value='libreoffice-4-1-4'>libreoffice-4-1-4</option> <option value='libreoffice-4-1-5'>libreoffice-4-1-5</option> <option value='libreoffice-4-1-6'>libreoffice-4-1-6</option> <option value='libreoffice-4-2'>libreoffice-4-2</option> <option value='libreoffice-4-2-0'>libreoffice-4-2-0</option> <option value='libreoffice-4-2-1'>libreoffice-4-2-1</option> <option value='libreoffice-4-2-2'>libreoffice-4-2-2</option> <option value='libreoffice-4-2-3'>libreoffice-4-2-3</option> <option value='libreoffice-4-2-4'>libreoffice-4-2-4</option> <option value='libreoffice-4-2-5'>libreoffice-4-2-5</option> <option value='libreoffice-4-2-6'>libreoffice-4-2-6</option> <option value='libreoffice-4-2-7'>libreoffice-4-2-7</option> <option value='libreoffice-4-2-8'>libreoffice-4-2-8</option> <option value='libreoffice-4-3'>libreoffice-4-3</option> <option value='libreoffice-4-3-0'>libreoffice-4-3-0</option> <option value='libreoffice-4-3-1'>libreoffice-4-3-1</option> <option value='libreoffice-4-3-2'>libreoffice-4-3-2</option> <option value='libreoffice-4-3-3'>libreoffice-4-3-3</option> <option value='libreoffice-4-3-4'>libreoffice-4-3-4</option> <option value='libreoffice-4-3-5'>libreoffice-4-3-5</option> <option value='libreoffice-4-3-6'>libreoffice-4-3-6</option> <option value='libreoffice-4-3-7'>libreoffice-4-3-7</option> <option value='libreoffice-4-4'>libreoffice-4-4</option> <option value='libreoffice-4-4-0'>libreoffice-4-4-0</option> <option value='libreoffice-4-4-1'>libreoffice-4-4-1</option> <option value='libreoffice-4-4-2'>libreoffice-4-4-2</option> <option value='libreoffice-4-4-3'>libreoffice-4-4-3</option> <option value='libreoffice-4-4-4'>libreoffice-4-4-4</option> <option value='libreoffice-4-4-5'>libreoffice-4-4-5</option> <option value='libreoffice-4-4-6'>libreoffice-4-4-6</option> <option value='libreoffice-4-4-7'>libreoffice-4-4-7</option> <option value='libreoffice-5-0'>libreoffice-5-0</option> <option value='libreoffice-5-0-0'>libreoffice-5-0-0</option> <option value='libreoffice-5-0-1'>libreoffice-5-0-1</option> <option value='libreoffice-5-0-2'>libreoffice-5-0-2</option> <option value='libreoffice-5-0-3'>libreoffice-5-0-3</option> <option value='libreoffice-5-0-4'>libreoffice-5-0-4</option> <option value='libreoffice-5-0-5'>libreoffice-5-0-5</option> <option value='libreoffice-5-0-6'>libreoffice-5-0-6</option> <option value='libreoffice-5-1'>libreoffice-5-1</option> <option value='libreoffice-5-1-0'>libreoffice-5-1-0</option> <option value='libreoffice-5-1-1'>libreoffice-5-1-1</option> <option value='libreoffice-5-1-2'>libreoffice-5-1-2</option> <option value='libreoffice-5-1-3'>libreoffice-5-1-3</option> <option value='libreoffice-5-1-4'>libreoffice-5-1-4</option> <option value='libreoffice-5-1-5'>libreoffice-5-1-5</option> <option value='libreoffice-5-1-6'>libreoffice-5-1-6</option> <option value='libreoffice-5-2'>libreoffice-5-2</option> <option value='libreoffice-5-2-0'>libreoffice-5-2-0</option> <option value='libreoffice-5-2-1'>libreoffice-5-2-1</option> <option value='libreoffice-5-2-2'>libreoffice-5-2-2</option> <option value='libreoffice-5-2-3'>libreoffice-5-2-3</option> <option value='libreoffice-5-2-4'>libreoffice-5-2-4</option> <option value='libreoffice-5-2-5'>libreoffice-5-2-5</option> <option value='libreoffice-5-2-6'>libreoffice-5-2-6</option> <option value='libreoffice-5-2-7'>libreoffice-5-2-7</option> <option value='libreoffice-5-3'>libreoffice-5-3</option> <option value='libreoffice-5-3-0'>libreoffice-5-3-0</option> <option value='libreoffice-5-3-1'>libreoffice-5-3-1</option> <option value='libreoffice-5-3-2'>libreoffice-5-3-2</option> <option value='libreoffice-5-3-3'>libreoffice-5-3-3</option> <option value='libreoffice-5-3-4'>libreoffice-5-3-4</option> <option value='libreoffice-5-3-5'>libreoffice-5-3-5</option> <option value='libreoffice-5-3-6'>libreoffice-5-3-6</option> <option value='libreoffice-5-3-7'>libreoffice-5-3-7</option> <option value='libreoffice-5-4'>libreoffice-5-4</option> <option value='libreoffice-5-4-0'>libreoffice-5-4-0</option> <option value='libreoffice-5-4-1'>libreoffice-5-4-1</option> <option value='libreoffice-5-4-2'>libreoffice-5-4-2</option> <option value='libreoffice-5-4-3'>libreoffice-5-4-3</option> <option value='libreoffice-5-4-4'>libreoffice-5-4-4</option> <option value='libreoffice-5-4-5'>libreoffice-5-4-5</option> <option value='libreoffice-5-4-6'>libreoffice-5-4-6</option> <option value='libreoffice-5-4-7'>libreoffice-5-4-7</option> <option value='libreoffice-6-0'>libreoffice-6-0</option> <option value='libreoffice-6-0-0'>libreoffice-6-0-0</option> <option value='libreoffice-6-0-1'>libreoffice-6-0-1</option> <option value='libreoffice-6-0-2'>libreoffice-6-0-2</option> <option value='libreoffice-6-0-3'>libreoffice-6-0-3</option> <option value='libreoffice-6-0-4'>libreoffice-6-0-4</option> <option value='libreoffice-6-0-5'>libreoffice-6-0-5</option> <option value='libreoffice-6-0-6'>libreoffice-6-0-6</option> <option value='libreoffice-6-0-7'>libreoffice-6-0-7</option> <option value='libreoffice-6-1'>libreoffice-6-1</option> <option value='libreoffice-6-1-0'>libreoffice-6-1-0</option> <option value='libreoffice-6-1-1'>libreoffice-6-1-1</option> <option value='libreoffice-6-1-2'>libreoffice-6-1-2</option> <option value='libreoffice-6-1-3'>libreoffice-6-1-3</option> <option value='libreoffice-6-1-4'>libreoffice-6-1-4</option> <option value='libreoffice-6-1-5'>libreoffice-6-1-5</option> <option value='libreoffice-6-1-6'>libreoffice-6-1-6</option> <option value='libreoffice-6-2'>libreoffice-6-2</option> <option value='libreoffice-6-2-0'>libreoffice-6-2-0</option> <option value='libreoffice-6-2-1'>libreoffice-6-2-1</option> <option value='libreoffice-6-2-2'>libreoffice-6-2-2</option> <option value='libreoffice-6-2-3'>libreoffice-6-2-3</option> <option value='libreoffice-6-2-4'>libreoffice-6-2-4</option> <option value='libreoffice-6-2-5'>libreoffice-6-2-5</option> <option value='libreoffice-6-2-6'>libreoffice-6-2-6</option> <option value='libreoffice-6-2-7'>libreoffice-6-2-7</option> <option value='libreoffice-6-2-8'>libreoffice-6-2-8</option> <option value='libreoffice-6-3'>libreoffice-6-3</option> <option value='libreoffice-6-3-0'>libreoffice-6-3-0</option> <option value='libreoffice-6-3-1'>libreoffice-6-3-1</option> <option value='libreoffice-6-3-2'>libreoffice-6-3-2</option> <option value='libreoffice-6-3-3'>libreoffice-6-3-3</option> <option value='libreoffice-6-3-4'>libreoffice-6-3-4</option> <option value='libreoffice-6-3-5'>libreoffice-6-3-5</option> <option value='libreoffice-6-3-6'>libreoffice-6-3-6</option> <option value='libreoffice-6-4'>libreoffice-6-4</option> <option value='libreoffice-6-4-0'>libreoffice-6-4-0</option> <option value='libreoffice-6-4-1'>libreoffice-6-4-1</option> <option value='libreoffice-6-4-2'>libreoffice-6-4-2</option> <option value='libreoffice-6-4-3'>libreoffice-6-4-3</option> <option value='libreoffice-6-4-4'>libreoffice-6-4-4</option> <option value='libreoffice-6-4-5'>libreoffice-6-4-5</option> <option value='libreoffice-6-4-6'>libreoffice-6-4-6</option> <option value='libreoffice-6-4-7'>libreoffice-6-4-7</option> <option value='libreoffice-7-0'>libreoffice-7-0</option> <option value='libreoffice-7-0-0'>libreoffice-7-0-0</option> <option value='libreoffice-7-0-1'>libreoffice-7-0-1</option> <option value='libreoffice-7-0-2'>libreoffice-7-0-2</option> <option value='libreoffice-7-0-3'>libreoffice-7-0-3</option> <option value='libreoffice-7-0-4'>libreoffice-7-0-4</option> <option value='libreoffice-7-0-5'>libreoffice-7-0-5</option> <option value='libreoffice-7-0-6'>libreoffice-7-0-6</option> <option value='libreoffice-7-1'>libreoffice-7-1</option> <option value='libreoffice-7-1-0'>libreoffice-7-1-0</option> <option value='libreoffice-7-1-1'>libreoffice-7-1-1</option> <option value='libreoffice-7-1-2'>libreoffice-7-1-2</option> <option value='libreoffice-7-1-3'>libreoffice-7-1-3</option> <option value='libreoffice-7-1-4'>libreoffice-7-1-4</option> <option value='libreoffice-7-1-5'>libreoffice-7-1-5</option> <option value='libreoffice-7-1-6'>libreoffice-7-1-6</option> <option value='libreoffice-7-1-7'>libreoffice-7-1-7</option> <option value='libreoffice-7-2'>libreoffice-7-2</option> <option value='libreoffice-7-2-0'>libreoffice-7-2-0</option> <option value='libreoffice-7-2-1'>libreoffice-7-2-1</option> <option value='libreoffice-7-2-2'>libreoffice-7-2-2</option> <option value='libreoffice-7-2-3'>libreoffice-7-2-3</option> <option value='libreoffice-7-2-5'>libreoffice-7-2-5</option> <option value='libreoffice-7-2-6'>libreoffice-7-2-6</option> <option value='libreoffice-7-2-7'>libreoffice-7-2-7</option> <option value='libreoffice-7-3'>libreoffice-7-3</option> <option value='libreoffice-7-3-0'>libreoffice-7-3-0</option> <option value='libreoffice-7-3-1'>libreoffice-7-3-1</option> <option value='libreoffice-7-3-2'>libreoffice-7-3-2</option> <option value='libreoffice-7-3-3'>libreoffice-7-3-3</option> <option value='libreoffice-7-3-4'>libreoffice-7-3-4</option> <option value='libreoffice-7-3-5'>libreoffice-7-3-5</option> <option value='libreoffice-7-3-6'>libreoffice-7-3-6</option> <option value='libreoffice-7-3-7'>libreoffice-7-3-7</option> <option value='libreoffice-7-4'>libreoffice-7-4</option> <option value='libreoffice-7-4-0'>libreoffice-7-4-0</option> <option value='libreoffice-7-4-1'>libreoffice-7-4-1</option> <option value='libreoffice-7-4-2'>libreoffice-7-4-2</option> <option value='libreoffice-7-4-3'>libreoffice-7-4-3</option> <option value='libreoffice-7-4-4'>libreoffice-7-4-4</option> <option value='libreoffice-7-4-6'>libreoffice-7-4-6</option> <option value='libreoffice-7-4-7'>libreoffice-7-4-7</option> <option value='libreoffice-7-5'>libreoffice-7-5</option> <option value='libreoffice-7-5-0'>libreoffice-7-5-0</option> <option value='libreoffice-7-5-1'>libreoffice-7-5-1</option> <option value='libreoffice-7-5-2'>libreoffice-7-5-2</option> <option value='libreoffice-7-5-3'>libreoffice-7-5-3</option> <option value='libreoffice-7-5-4'>libreoffice-7-5-4</option> <option value='libreoffice-7-5-5'>libreoffice-7-5-5</option> <option value='libreoffice-7-5-6'>libreoffice-7-5-6</option> <option value='libreoffice-7-5-7'>libreoffice-7-5-7</option> <option value='libreoffice-7-5-8'>libreoffice-7-5-8</option> <option value='libreoffice-7-5-9'>libreoffice-7-5-9</option> <option value='libreoffice-7-6'>libreoffice-7-6</option> <option value='libreoffice-7-6-0'>libreoffice-7-6-0</option> <option value='libreoffice-7-6-1'>libreoffice-7-6-1</option> <option value='libreoffice-7-6-2'>libreoffice-7-6-2</option> <option value='libreoffice-7-6-3'>libreoffice-7-6-3</option> <option value='libreoffice-7-6-4'>libreoffice-7-6-4</option> <option value='libreoffice-7-6-5'>libreoffice-7-6-5</option> <option value='libreoffice-7-6-6'>libreoffice-7-6-6</option> <option value='libreoffice-7-6-7'>libreoffice-7-6-7</option> <option value='master' selected='selected'>master</option> <option value='ports/macosx10.5/master'>ports/macosx10.5/master</option> <option value='private/Ashod/cd-5.3-3.2_import_unloaded'>private/Ashod/cd-5.3-3.2_import_unloaded</option> <option value='private/Ashod/cd-5.3-3.2_import_unloaded_share_GfxLink'>private/Ashod/cd-5.3-3.2_import_unloaded_share_GfxLink</option> <option value='private/Ashod/cd-5.3.3.2'>private/Ashod/cd-5.3.3.2</option> <option value='private/Ashod/cp-5.0-preinit'>private/Ashod/cp-5.0-preinit</option> <option value='private/Ashod/fast-calc-rendering'>private/Ashod/fast-calc-rendering</option> <option value='private/Ashod/pdfium'>private/Ashod/pdfium</option> <option value='private/Ashod/pdfium_on_master'>private/Ashod/pdfium_on_master</option> <option value='private/Ashod/pdfium_on_master_fixed'>private/Ashod/pdfium_on_master_fixed</option> <option value='private/EL-SHREIF/ui_logger'>private/EL-SHREIF/ui_logger</option> <option value='private/Minion3665/swf-export'>private/Minion3665/swf-export</option> <option value='private/Rosemary/change-tracking'>private/Rosemary/change-tracking</option> <option value='private/Sweetshark/killswclient'>private/Sweetshark/killswclient</option> <option value='private/Sweetshark/lessdepend'>private/Sweetshark/lessdepend</option> <option value='private/Sweetshark/multilistenerfix'>private/Sweetshark/multilistenerfix</option> <option value='private/ajrhunt/c4'>private/ajrhunt/c4</option> <option value='private/ajrhunt/cunit'>private/ajrhunt/cunit</option> <option value='private/ajrhunt/cunitdemo'>private/ajrhunt/cunitdemo</option> <option value='private/ajrhunt/firebird-improvement'>private/ajrhunt/firebird-improvement</option> <option value='private/bansan/chardraw'>private/bansan/chardraw</option> <option value='private/bubli/textboxchaining'>private/bubli/textboxchaining</option> <option value='private/hcvcastro/preinit'>private/hcvcastro/preinit</option> <option value='private/hcvcastro/undo-row-comment'>private/hcvcastro/undo-row-comment</option> <option value='private/jmux/armin-strip-before-squash'>private/jmux/armin-strip-before-squash</option> <option value='private/jmux/broken-static-win'>private/jmux/broken-static-win</option> <option value='private/jmux/current-reorga'>private/jmux/current-reorga</option> <option value='private/jmux/meson'>private/jmux/meson</option> <option value='private/jmux/meson-gsoc-2021'>private/jmux/meson-gsoc-2021</option> <option value='private/jmux/oss-fuzz'>private/jmux/oss-fuzz</option> <option value='private/jmux/oss-fuzz-wip'>private/jmux/oss-fuzz-wip</option> <option value='private/jmux/scheduler-fixes'>private/jmux/scheduler-fixes</option> <option value='private/jmux/shape.odt'>private/jmux/shape.odt</option> <option value='private/jmux/wasm-for-master'>private/jmux/wasm-for-master</option> <option value='private/jmux/wasm-tmp'>private/jmux/wasm-tmp</option> <option value='private/jmux/wasm_for_master_catchall'>private/jmux/wasm_for_master_catchall</option> <option value='private/jmux/win-arm64'>private/jmux/win-arm64</option> <option value='private/jmux/win-test-nohang'>private/jmux/win-test-nohang</option> <option value='private/juergen/Tests'>private/juergen/Tests</option> <option value='private/juergen/check-cjk'>private/juergen/check-cjk</option> <option value='private/kendy/condformat-api'>private/kendy/condformat-api</option> <option value='private/kendy/condformat-fdo82014'>private/kendy/condformat-fdo82014</option> <option value='private/kendy/mailmerge-04'>private/kendy/mailmerge-04</option> <option value='private/kendy/mailmerge-05'>private/kendy/mailmerge-05</option> <option value='private/kendy/swinterpreter'>private/kendy/swinterpreter</option> <option value='private/kendy/testcl'>private/kendy/testcl</option> <option value='private/khaledhosny/color-fonts'>private/khaledhosny/color-fonts</option> <option value='private/khaledhosny/vcl-cleanup-font'>private/khaledhosny/vcl-cleanup-font</option> <option value='private/kohei/chart-bugs'>private/kohei/chart-bugs</option> <option value='private/kohei/find-replace-all-perf'>private/kohei/find-replace-all-perf</option> <option value='private/kohei/headless-perf'>private/kohei/headless-perf</option> <option value='private/kohei/if-or-not-if-jump'>private/kohei/if-or-not-if-jump</option> <option value='private/kohei/sort-ref-update'>private/kohei/sort-ref-update</option> <option value='private/lfrb/opengl-vcl'>private/lfrb/opengl-vcl</option> <option value='private/lgodard/calc_notes_import_export'>private/lgodard/calc_notes_import_export</option> <option value='private/lgodard/tdf#117202'>private/lgodard/tdf#117202</option> <option value='private/llunak/mailmerge'>private/llunak/mailmerge</option> <option value='private/llunak/mailmerge_01'>private/llunak/mailmerge_01</option> <option value='private/llunak/mailmerge_02'>private/llunak/mailmerge_02</option> <option value='private/llunak/mailmerge_03'>private/llunak/mailmerge_03</option> <option value='private/llunak/munich_12587'>private/llunak/munich_12587</option> <option value='private/llunak/skia'>private/llunak/skia</option> <option value='private/lmamane/basetest'>private/lmamane/basetest</option> <option value='private/lmamane/for-julien2412'>private/lmamane/for-julien2412</option> <option value='private/lmamane/for-julien2412-master'>private/lmamane/for-julien2412-master</option> <option value='private/lmamane/tdf110997'>private/lmamane/tdf110997</option> <option value='private/lmamane/timedate-controls-nanosecond'>private/lmamane/timedate-controls-nanosecond</option> <option value='private/lmamane/validation'>private/lmamane/validation</option> <option value='private/mcecchetti/23H1/a11y/paragraph'>private/mcecchetti/23H1/a11y/paragraph</option> <option value='private/mcecchetti/accessibility/paragraph'>private/mcecchetti/accessibility/paragraph</option> <option value='private/mcecchetti/amd/pdf-export-jpeg'>private/mcecchetti/amd/pdf-export-jpeg</option> <option value='private/mcecchetti/bitmapcrc64'>private/mcecchetti/bitmapcrc64</option> <option value='private/mcecchetti/bitmapcrc64-5-0'>private/mcecchetti/bitmapcrc64-5-0</option> <option value='private/mcecchetti/calc-perf-unit-test'>private/mcecchetti/calc-perf-unit-test</option> <option value='private/mcecchetti/calc-unit-test'>private/mcecchetti/calc-unit-test</option> <option value='private/mcecchetti/gl-program-binary'>private/mcecchetti/gl-program-binary</option> <option value='private/mert/wip_deepl'>private/mert/wip_deepl</option> <option value='private/mikekaganski/multicolumn'>private/mikekaganski/multicolumn</option> <option value='private/mmeeks/aafixes44'>private/mmeeks/aafixes44</option> <option value='private/mmeeks/backports'>private/mmeeks/backports</option> <option value='private/mmeeks/binarydatacache'>private/mmeeks/binarydatacache</option> <option value='private/mmeeks/bitmapcrc64'>private/mmeeks/bitmapcrc64</option> <option value='private/mmeeks/copy-paste'>private/mmeeks/copy-paste</option> <option value='private/mmeeks/copypaste'>private/mmeeks/copypaste</option> <option value='private/mmeeks/cp-6.2-bits'>private/mmeeks/cp-6.2-bits</option> <option value='private/mmeeks/cp64merge'>private/mmeeks/cp64merge</option> <option value='private/mmeeks/currency-dropdown'>private/mmeeks/currency-dropdown</option> <option value='private/mmeeks/foo'>private/mmeeks/foo</option> <option value='private/mmeeks/formula-iterator'>private/mmeeks/formula-iterator</option> <option value='private/mmeeks/gldebug'>private/mmeeks/gldebug</option> <option value='private/mmeeks/hidpi-bits'>private/mmeeks/hidpi-bits</option> <option value='private/mmeeks/icontest'>private/mmeeks/icontest</option> <option value='private/mmeeks/opengl-backbuffer'>private/mmeeks/opengl-backbuffer</option> <option value='private/mmeeks/opengl-backbuffer2'>private/mmeeks/opengl-backbuffer2</option> <option value='private/mmeeks/sandbox'>private/mmeeks/sandbox</option> <option value='private/mmeeks/swapdatacontainer'>private/mmeeks/swapdatacontainer</option> <option value='private/mmeeks/vcl-opengl3'>private/mmeeks/vcl-opengl3</option> <option value='private/moggi/fix-opengl-context-problems'>private/moggi/fix-opengl-context-problems</option> <option value='private/moggi/improved-dxf-xls-export'>private/moggi/improved-dxf-xls-export</option> <option value='private/moggi/opengl-4-4-build-test'>private/moggi/opengl-4-4-build-test</option> <option value='private/moggi/opengl-preparation'>private/moggi/opengl-preparation</option> <option value='private/moggi/opengl-vcl-win'>private/moggi/opengl-vcl-win</option> <option value='private/moggi/orcus-improvements'>private/moggi/orcus-improvements</option> <option value='private/moggi/track-win-dc'>private/moggi/track-win-dc</option> <option value='private/moggi/ui-test'>private/moggi/ui-test</option> <option value='private/moggi/vcl-opengl3'>private/moggi/vcl-opengl3</option> <option value='private/mst/sw_fieldmarkhide'>private/mst/sw_fieldmarkhide</option> <option value='private/mst/sw_redlinehide'>private/mst/sw_redlinehide</option> <option value='private/mst/sw_redlinehide_2'>private/mst/sw_redlinehide_2</option> <option value='private/mst/sw_redlinehide_3'>private/mst/sw_redlinehide_3</option> <option value='private/mst/sw_redlinehide_4a'>private/mst/sw_redlinehide_4a</option> <option value='private/mst/sw_redlinehide_4b'>private/mst/sw_redlinehide_4b</option> <option value='private/pranavk/modernize_gtktiledviewer'>private/pranavk/modernize_gtktiledviewer</option> <option value='private/quwex/gsoc-box2d-experimental'>private/quwex/gsoc-box2d-experimental</option> <option value='private/quwex/notespane-search'>private/quwex/notespane-search</option> <option value='private/quwex/notespaneflat'>private/quwex/notespaneflat</option> <option value='private/quwex/notespanesquashed'>private/quwex/notespanesquashed</option> <option value='private/quwex/tdf59323'>private/quwex/tdf59323</option> <option value='private/s.mehrbrodt/colorpicker-backport'>private/s.mehrbrodt/colorpicker-backport</option> <option value='private/sweetshark/swdepend'>private/sweetshark/swdepend</option> <option value='private/tbsdy/clipping'>private/tbsdy/clipping</option> <option value='private/tbsdy/drawserverfontlayout'>private/tbsdy/drawserverfontlayout</option> <option value='private/tbsdy/emf'>private/tbsdy/emf</option> <option value='private/tbsdy/osl_getAllEnvironment'>private/tbsdy/osl_getAllEnvironment</option> <option value='private/tbsdy/outdev'>private/tbsdy/outdev</option> <option value='private/tbsdy/printinfomgr'>private/tbsdy/printinfomgr</option> <option value='private/tbsdy/workbench'>private/tbsdy/workbench</option> <option value='private/thb/libo-6-1+backports'>private/thb/libo-6-1+backports</option> <option value='private/thb/libreoffice-5-2+backports'>private/thb/libreoffice-5-2+backports</option> <option value='private/thb/sw_redlinehide-6-1'>private/thb/sw_redlinehide-6-1</option> <option value='private/thb/tdf149754'>private/thb/tdf149754</option> <option value='private/thb/wasm-upstreaming'>private/thb/wasm-upstreaming</option> <option value='private/timar/cp-6.2-centos7'>private/timar/cp-6.2-centos7</option> <option value='private/timar/fontconfigcrash'>private/timar/fontconfigcrash</option> <option value='private/timar/pythonupgrademsp'>private/timar/pythonupgrademsp</option> <option value='private/tml/Use-the-iOS-French-and-Italian-dictionaries-for-othe'>private/tml/Use-the-iOS-French-and-Italian-dictionaries-for-othe</option> <option value='private/tml/android-use-bionic-linker-copy'>private/tml/android-use-bionic-linker-copy</option> <option value='private/tml/android-use-faulty.lib'>private/tml/android-use-faulty.lib</option> <option value='private/tml/cp-6-4-28-1'>private/tml/cp-6-4-28-1</option> <option value='private/tml/fixwintext'>private/tml/fixwintext</option> <option value='private/tml/iculess'>private/tml/iculess</option> <option value='private/tml/lov-6.1.5.2'>private/tml/lov-6.1.5.2</option> <option value='private/tml/lov-6.2.1'>private/tml/lov-6.2.1</option> <option value='private/tml/lov-7.0.3.3'>private/tml/lov-7.0.3.3</option> <option value='private/tml/lov-7.0.4'>private/tml/lov-7.0.4</option> <option value='private/tml/lov-7.1.2'>private/tml/lov-7.1.2</option> <option value='private/tml/opencl-default-1'>private/tml/opencl-default-1</option> <option value='private/tvajngerl/staging'>private/tvajngerl/staging</option> <option value='ref/for/distro/collabora/cp-6.2'>ref/for/distro/collabora/cp-6.2</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>LibreOffice 核心代码仓库</td><td class='sub right'>文档基金会</td></tr></table> <table class='tabs'><tr><td> <a href='/cgit/lo/core/'>summary</a><a href='/cgit/lo/core/refs/'>refs</a><a class='active' href='/cgit/lo/core/log/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl'>log</a><a href='/cgit/lo/core/tree/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl'>tree</a><a href='/cgit/lo/core/commit/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl'>commit</a><a href='/cgit/lo/core/diff/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit/lo/core/log/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl'> <select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/cgit/lo/core/log/'>root</a>/<a href='/cgit/lo/core/log/offapi'>offapi</a>/<a href='/cgit/lo/core/log/offapi/com'>com</a>/<a href='/cgit/lo/core/log/offapi/com/sun'>sun</a>/<a href='/cgit/lo/core/log/offapi/com/sun/star'>star</a>/<a href='/cgit/lo/core/log/offapi/com/sun/star/sdbc'>sdbc</a>/<a href='/cgit/lo/core/log/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl'>ResultSetConcurrency.idl</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit/lo/core/log/offapi/com/sun/star/sdbc/ResultSetConcurrency.idl?showmsg=1'>Expand</a>)</th><th class='left'>Author</th></tr>