diff -u firebird/builds/posix/make.defaults firebird/builds/posix/make.defaults --- firebird/builds/posix/make.defaults 2013-07-03 16:23:44.804062000 +0100 +++ firebird/builds/posix/make.defaults 2013-07-05 12:30:01.607151400 +0100 @@ -49,7 +49,11 @@ FIREBIRD=$(GEN_ROOT)/firebird INTERBASE=$(FIREBIRD) +ifeq (@PLATFORM@,win32) +FIREBIRD_LOCK=$(shell cygpath -w $(shell cd $(FIREBIRD); pwd) ) +else FIREBIRD_LOCK=$(shell cd $(FIREBIRD); pwd) +endif export INTERBASE export FIREBIRD @@ -135,7 +139,11 @@ CD= cd CAT= cat AR= ar @AR_OPTIONS@ crsu +ifeq (@PLATFORM@,win32) +LN= cp +else LN= @LN_S@ +endif RANLIB= @RANLIB@ BTYACC=$(ROOT)/extern/btyacc/btyacc @@ -152,16 +160,32 @@ STATICEXE_LINK:= @CXX@ $(GLOB_OPTIONS) $(CXXFLAGS) LINK_LIBS = @LIBS@ +ifeq ($(PLATFORM),win32) +ifeq ($(MSVC_USE_DEBUG_RUNTIME),TRUE) +ICU_LIBS = -licuucd -licudtd -licuind +else +ICU_LIBS = -licuuc -licudt -licuin +endif +else ICU_LIBS = -licuuc -licudata -licui18n +endif STATICLINK_LIBS = @LIBS@ SO_LINK_LIBS = @LIBS@ # Default extensions +ifeq (@PLATFORM@,win32) +ARCH_EXT= .lib +else ARCH_EXT= .a +endif EXEC_EXT= @EXEEXT@ SHRLIB_EXT=@SHRLIB_EXT@ +ifeq (@PLATFORM@,win32) +LIB_PREFIX= +else LIB_PREFIX= lib +endif SHRLIB_FOREIGN_EXT= $(SHRLIB_EXT) #_____________________________________________________________________________ @@ -179,6 +199,7 @@ vpath %.so $(LIB) vpath %.a $(LIB) vpath %.dll $(LIB) +vpath %.lib $(LIB) #_____________________________________________________________________________ @@ -193,9 +214,9 @@ # Scold me, but I don't want library names to be in configure.in # -SharedLibraryName=libfbembed.${SHRLIB_EXT}.${FirebirdVersion} -SharedLibrarySoName=libfbembed.${SHRLIB_EXT}.${MajorVer}.${MinorVer} -SharedLibraryBaseName=libfbembed.${SHRLIB_EXT} +SharedLibraryName=ifbembed.${SHRLIB_EXT} +SharedLibrarySoName=ifbembed.${SHRLIB_EXT} +SharedLibraryBaseName=ifbembed.${SHRLIB_EXT} LIBFBEMBED_SO = $(LIB)/$(SharedLibraryName) LIBFBEMBED_SOBASENAME = $(LIB)/$(SharedLibrarySoName) @@ -219,7 +240,11 @@ LIBFBINTL_SO = $(FIREBIRD)/intl/$(LIB_PREFIX)fbintl.$(SHRLIB_EXT) +ifeq ($(PLATFORM),win32) +LIBFBSTATIC_A = $(LIB)/fbstatic.lib +else LIBFBSTATIC_A = $(LIB)/libfbstatic.a +endif ifeq ($(EDITLINE_FLG),Y) ifeq ($(STD_EDITLINE), true) unchanged: --- firebird.org/builds/posix/make.shared.variables 2013-06-26 10:05:19.351343000 +0100 +++ firebird/builds/posix/make.shared.variables 2013-07-04 08:12:24.432879700 +0100 @@ -291,7 +291,8 @@ OS_SPECIFIC_Sources += $(ROOT)/extern/binreloc/binreloc.c endif OS_SPECIFIC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(OS_SPECIFIC_Sources)))) - +#FBCOMMON_ClientFiles+=$(OS_SPECIFIC_Files) +#FBCOMMON_Objects+=$(OS_SPECIFIC_Objects) #________________________________________________________________________ # unchanged: --- firebird/builds/posix/Makefile.in.examples 2013-07-04 14:22:42.262676600 +0100 +++ firebird/builds/posix/Makefile.in.examples 2013-07-05 10:14:02.897675100 +0100 @@ -64,10 +64,13 @@ EXAMPLES_DEST= $(GEN_ROOT)/examples EXAMPLES_SRC= $(ROOT)/examples - +ifeq ($(PLATFORM),win32) +EMPBLD_Objects= $(EXAMPLES_DEST)/empbuild.obj +INTLBLD_Objects= $(EXAMPLES_DEST)/intlbld.obj +else EMPBLD_Objects= $(EXAMPLES_DEST)/empbuild.o - INTLBLD_Objects= $(EXAMPLES_DEST)/intlbld.o +endif INPUT_Files = empddl.sql empdml.sql indexoff.sql indexon.sql \ job.inp lang.inp proj.inp qtr.inp @@ -168,0 +180,3 @@ + +$(EXAMPLES_DEST)/%.obj: $(EXAMPLES_DEST)/%.c + $(CC) -c $(firstword $<) -Fo$@ $(WCFLAGS) \ No newline at end of file unchanged: --- firebird.org/builds/posix/Makefile.in.extlib 2013-06-26 10:05:19.366787100 +0100 +++ firebird/builds/posix/Makefile.in.extlib 2013-07-04 12:31:37.591067100 +0100 @@ -76,14 +76,20 @@ lib_ib_udf: $(LIBIBUTIL_SO) $(UDF)/ib_udf.$(SHRLIB_EXT) $(UDF)/ib_udf.$(SHRLIB_EXT): $(UDF_Objects) - $(call LINK_UDF,ib_udf) -o $@ $^ $(LINK_UDF_LIBS) + @CXX@ $^ -o $@ -LD -L$(LIB) $(GLOB_OPTIONS) $(CXXFLAGS) -lib_util \ + $(LINK_UDF_LIBS) $(LIB_LINK_OPTIONS) $(call LIB_LINK_SONAME,ib_udf.$(SHRLIB_EXT))\ + $(call LIB_LINK_RPATH,lib) \ + /link /dll # ib_util lib_ib_util: $(LIBIBUTIL_SO) $(LIBIBUTIL_SO): $(UTIL_Objects) - $(LINK_IB_UTIL) -o $@ $^ $(LINK_IB_UTIL_LIBS) + @CXX@ $^ -o $@ -LD \ + $(call LIB_LINK_RPATH,lib) $(GLOB_OPTIONS) $(CXXFLAGS) $(LINK_IBUTIL_SYMBOLS) \ + $(LIB_LINK_OPTIONS) $(LINK_IB_UTIL_LIBS) $(call LIB_LINK_SONAME,$(IbUtilLibraryName)) \ + /link /dll include $(ROOT)/gen/make.shared.targets unchanged: --- firebird.org/builds/posix/Makefile.in.firebird 2013-06-26 10:05:19.382231200 +0100 +++ firebird/builds/posix/Makefile.in.firebird 2013-07-04 18:36:17.079544900 +0100 @@ -145,7 +145,8 @@ firebird : firebird_@FIREBIRD_ARCH_TYPE@ $(PLATFORM_POSTBUILD_TARGET) -firebird_classic firebird_embedded: firebird_basic classic_targets fbtrace +firebird_classic firebird_embedded: firebird_basic classic_targets +#fbtrace firebird_super firebird_server: firebird_basic super_targets fbtrace @@ -301,7 +301,7 @@ .PHONY: ref_databases msgs msgs_intl generated_headers intl extlib includes basic_targets: ref_databases msgs msgs_intl generated_headers \ - intl extlib includes examples_cp + intl extlib includes # hack to make code regeneration work generated_headers : @@ -331,8 +336,9 @@ .PHONY: libfbembed inet_server fb_smp_server embed_gfix embed_gbak embed_isql .PHONY: embed_gpre embed_util -classic_targets: $(PLAT_CLASSIC_PRE_TARGET) libfbembed inet_server fb_smp_server embed_gfix embed_gbak embed_isql \ - embed_gpre libfbclient embed_util embed_gdef embed_qli embed_fbudf $(PLAT_CLASSIC_POST_TARGET) +classic_targets: $(PLAT_CLASSIC_PRE_TARGET) libfbembed +#inet_server fb_smp_server embed_gfix embed_gbak embed_isql \ +# embed_gpre libfbclient embed_util embed_gdef embed_qli embed_fbudf $(PLAT_CLASSIC_POST_TARGET) libfbembed: $(MAKE) $(CPU_OPTION) -f $(GEN_ROOT)/Makefile.libfbembed $@ @@ -446,7 +452,7 @@ MAKE_HEADER_Bin = ./makeHeader $(INCLUDE_DEST)/ibase.h: $(SRC_IBASE_ExtraFiles) - $(STATICEXE_LINK) -o $(MAKE_HEADER_Bin) $(MAKE_HEADER_Src) + $(STATICEXE_LINK) -o $(MAKE_HEADER_Bin)$(EXEC_EXT) $(MAKE_HEADER_Src) $(CP) $^ . $(MAKE_HEADER_Bin) $@ $(RM) -f ibase.h --- firebird.org/builds/posix/Makefile.in.intl 2013-06-26 10:05:19.382231200 +0100 +++ firebird/builds/posix/Makefile.in.intl 2013-07-04 12:26:09.029586700 +0100 @@ -81,8 +81,13 @@ libfbintl : $(LIBFBINTL_SO) $(LIBFBINTL_SO): $(INTL_Objects) $(FBCOMMON_ClientObjects) $(FBCLASSES_ClientObjects) +ifeq (@PLATFORM@,win32) + @CXX@ $^ -o $@ -LD $(GLOB_OPTIONS) $(CXXFLAGS) $(LINK_INTL_LIBS)\ + $(LINK_FBINTL_SYMBOLS) $(LIB_LINK_OPTIONS) -lfbstatic $(call LIB_LINK_SONAME,libintl.$(SHRLIB_EXT).1)\ + $(call LIB_LINK_RPATH,lib) /link /dll +else $(LINK_INTL) -o $@ $^ $(LINK_INTL_LIBS) - +endif include $(ROOT)/gen/make.shared.targets diff -u firebird/builds/posix/Makefile.in.libfbembed firebird/builds/posix/Makefile.in.libfbembed --- firebird/builds/posix/Makefile.in.libfbembed 2013-07-04 17:51:37.197367500 +0100 +++ firebird/builds/posix/Makefile.in.libfbembed 2013-07-05 12:55:58.287451400 +0100 @@ -62,13 +62,19 @@ libfbembed : $(LIBIBUTIL_SO) $(LIBFBEMBED_SONAME) $(LIBFBEMBED_SO): $(LIBFBEMBED_Objects) $(SERVER_Objects) $(COMMON_Objects) +ifeq ($(PLATFORM),win32) + @CXX@ $^ -o $@ $(LINK_EMBED_LIBS) $(GLOB_OPTIONS) $(CXXFLAGS)\ + $(LINK_FIREBIRD_EMBED_SYMBOLS) $(LIB_LINK_OPTIONS) $(LIB_EMBED_LINK_OPTIONS)\ + $(call LIB_LINK_SONAME,$(SharedLibrarySoName)) $(call LIB_LINK_RPATH,lib) +else $(LINK_EMBED) -o $@ $^ $(LINK_EMBED_LIBS) +endif $(LIBFBEMBED_SOBASENAME): $(LIBFBEMBED_SO) - (cd $(LIB) && $(LN) -f $(SharedLibraryName) $(SharedLibrarySoName) ) +# (cd $(LIB) && $(LN) -f $(SharedLibraryName) $(SharedLibrarySoName) ) $(LIBFBEMBED_SONAME): $(LIBFBEMBED_SOBASENAME) - (cd $(LIB) && $(LN) -f $(SharedLibrarySoName) $(SharedLibraryBaseName) ) +# (cd $(LIB) && $(LN) -f $(SharedLibrarySoName) $(SharedLibraryBaseName) ) include $(ROOT)/gen/make.shared.targets unchanged: --- firebird.org/builds/posix/Makefile.in.libfbstatic 2013-06-26 10:05:19.382231200 +0100 +++ firebird/builds/posix/Makefile.in.libfbstatic 2013-07-03 16:23:14.103208000 +0100 @@ -57,9 +57,9 @@ # will not be different from the above fbmem_boot.a library # compile time macros being the main (if there) difference -libfbstatic: $(PARSE_Sources) $(LIB)/libfbstatic.a +libfbstatic: $(PARSE_Sources) $(LIB)/$(LIB_PREFIX)fbstatic$(ARCH_EXT) -$(LIB)/libfbstatic.a: $(LIBFBSTATIC_Objects) +$(LIB)/$(LIB_PREFIX)fbstatic$(ARCH_EXT): $(LIBFBSTATIC_Objects) -$(RM) $@ $(AR) $@ $^ -$(RANLIB) $@ unchanged: --- firebird.org/builds/posix/prefix.mingw 2013-06-26 10:05:19.413119400 +0100 +++ firebird/builds/posix/prefix.mingw 2013-07-04 18:13:52.948234400 +0100 @@ -20,8 +20,8 @@ # # -Wno-unused-variable is used due to unused gpre generated variables -PROD_FLAGS=-O2 -march=i586 -DMINGW -mno-cygwin -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 -DEV_FLAGS=-ggdb -march=i586 -DMINGW -mno-cygwin -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 +PROD_FLAGS=-O2 -march=i586 -DMINGW -mno-cygwin -Wall -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads +DEV_FLAGS=-ggdb -march=i586 -DMINGW -mno-cygwin -Wall -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads PLATFORM_PATH=os/win32 @@ -33,13 +33,15 @@ LIB_LINK=$(LD) LIB_LINK_OPTIONS+=-Wl,--enable-stdcall-fixup +LIB_PLATFORM_RPATH= # Strip symbols from release versions to decrease size ifeq ($(IsProdTypeBuild),Y) LINK_OPTS+=-Wl,-s 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 @@ -65,7 +67,7 @@ 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/fbclient.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 unchanged: --- firebird.org/configure 2013-06-26 10:05:19.675669100 +0100 +++ firebird/configure 2013-06-26 10:14:11.490867900 +0100 @@ -2796,7 +2796,7 @@ SHRLIB_EXT=so ;; - *-*-mingw*) + *-*-mingw* | *-*-cygwin*) MAKEFILE_PREFIX=mingw PLATFORM=win32 @@ -8934,6 +8934,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 # If we're using GNU nm, then use its standard symbol codes. @@ -9882,7 +9885,7 @@ esac ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' @@ -14675,7 +14678,7 @@ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | os2* | pw32*) + mingw* | cygwin* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' @@ -16452,7 +16455,7 @@ # PIC is the default for these OSes. ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_F77='-DDLL_EXPORT' @@ -16522,7 +16525,7 @@ esac ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_F77='-DDLL_EXPORT' @@ -19067,7 +19070,7 @@ # PIC is the default for these OSes. ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' @@ -19137,7 +19140,7 @@ esac ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' unchanged: --- firebird.org/configure.in 2013-06-26 10:05:19.675669100 +0100 +++ firebird/configure.in 2013-06-26 14:16:35.816845700 +0100 @@ -1,30 +1,4 @@ -dnl ############################# INITIALISATION ############################### - -AC_PREREQ(2.56) -AC_INIT(src) - -AC_CONFIG_AUX_DIR(builds/make.new/config) -AC_CACHE_VAL(ac_cv_prog_make_set, [AC_PROG_MAKE_SET]) -AC_PREFIX_DEFAULT(/usr/local/firebird) - -m4_ifdef([AC_CONFIG_MACRO_DIR], - [], - [m4_define([AC_CONFIG_MACRO_DIR], [])]) -AC_CONFIG_MACRO_DIR(m4) - -AC_CONFIG_HEADER(src/include/gen/autoconfig.h:builds/make.new/config/config.h.in) - -dnl XE_APPEND(value, varname) -define([XE_APPEND],[[$2]="$[$2] [$1]"]) - -dnl XE_PREPEND(value, varname) -define([XE_PREPEND],[[$2]="[$1] $[$2]"]) - -dnl XE_CONF_DIR(param, help, variable, default) -define([XE_CONF_DIR],[ -AC_ARG_WITH([$1], - [AC_HELP_STRING([--with-$1], [$2])], - [[$3]="$withval" +NO AC_DEFINE_UNQUOTED([$3], "$[$3]", [$2])], [[$3]="[`if test ""x$prefix"" = ""xNONE"" ; then echo ""$ac_default_prefix""; else echo ""$prefix""; fi`][$4]" AC_DEFINE_UNQUOTED([$3], [""], [$2])] @@ -37,8 +11,8 @@ dnl ############################# ADD TESTS BELOW ############################## -AC_CANONICAL_SYSTEM -CPU_TYPE=$target_cpu +AC_CANONICAL_HOST +CPU_TYPE=$host_cpu AC_SUBST(CPU_TYPE) @@ -61,7 +35,7 @@ dnl Test for special ar options? AR_OPT_CHECK=false -case "$target" in +case "$host" in i*86-*-darwin*) dnl MAKEFILE_PREFIX=darwin_i386 MAKEFILE_PREFIX=darwin_x86_64 @@ -112,7 +86,7 @@ amd64-*-freebsd* | x86_64*-*-freebsd* | x86_64*-*-k*bsd*-gnu) MAKEFILE_PREFIX=freebsd_amd64 - case "$target" in + case "$host" in x86_64*-*-k*bsd-gnu) # Debian/kFreeBSD PLATFORM=GENTOOFREEBSD INSTALL_PREFIX=linux @@ -138,7 +112,7 @@ *-*-freebsd* | *-*-k*bsd*-gnu) MAKEFILE_PREFIX=freebsd - case "$target" in + case "$host" in *-*-k*bsd-gnu) # Debian/kFreeBSD PLATFORM=GENTOOFREEBSD INSTALL_PREFIX=linux @@ -394,7 +368,7 @@ SHRLIB_EXT=so ;; - *-*-mingw*) + *-*-mingw* | *-*-cygwin*) MAKEFILE_PREFIX=mingw PLATFORM=win32 AC_DEFINE(WIN_NT, 1, [Define this if OS is Windows NT]) @@ -756,7 +730,25 @@ AC_CHECK_FUNCS(swab _swab) AC_FUNC_MMAP AC_FUNC_FORK -AC_FUNC_SETPGRP + +dnl AC_FUNC_SETPGRP does not work if cross compiling +dnl Instead, assume we will have a prototype for setpgrp if cross compiling. +if test "$cross_compiling" = no; then + AC_FUNC_SETPGRP +else + AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void, + [AC_TRY_COMPILE([ +#include +], [ + if (setpgrp(1,1) == -1) + exit (0); + else + exit (1); +], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)]) +if test $ac_cv_func_setpgrp_void = yes; then + AC_DEFINE(SETPGRP_VOID, 1) +fi +fi AC_CHECK_FUNCS(setpgid) AC_FUNC_GETPGRP AC_CHECK_FUNCS(flock) @@ -822,7 +814,9 @@ [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_DEFINE(WORKING_SEM_INIT,1,[Define this if sem_init() works on the platform]) +AC_MSG_RESULT(cross-compiling, assuming yes)]) fi fi @@ -885,27 +879,13 @@ dnl EKU: try to determine the alignment of long and double dnl replaces FB_ALIGNMENT and FB_DOUBLE_ALIGN in src/jrd/common.h -AC_MSG_CHECKING(alignment of long) -AC_TRY_RUN([main () { - struct s { - char a; - long long b; - }; - exit((int)&((struct s*)0)->b); -}], ac_cv_c_alignment=$ac_status, ac_cv_c_alignment=$ac_status) -AC_MSG_RESULT($ac_cv_c_alignment) -AC_DEFINE_UNQUOTED(FB_ALIGNMENT, $ac_cv_c_alignment, [Alignment of long]) - -AC_MSG_CHECKING(alignment of double) -AC_TRY_RUN([main () { - struct s { - char a; - double b; - }; - exit((int)&((struct s*)0)->b); -}], ac_cv_c_double_align=$ac_status, ac_cv_c_double_align=$ac_status) -AC_MSG_RESULT($ac_cv_c_double_align) -AC_DEFINE_UNQUOTED(FB_DOUBLE_ALIGN, $ac_cv_c_double_align, [Alignment of double]) +AC_CHECK_ALIGNOF(long long) +AC_MSG_RESULT($ac_cv_alignof_long_long) +AC_DEFINE_UNQUOTED(FB_ALIGNMENT, $ac_cv_alignof_long_long, [Alignment of long]) + +AC_CHECK_ALIGNOF(double) +AC_MSG_RESULT($ac_cv_alignof_double) +AC_DEFINE_UNQUOTED(FB_DOUBLE_ALIGN, $ac_cv_alignof_double, [Alignment of double]) dnl EKU: don't know how to convert this into an autoconf test: dnl #define FB_ALIGN(n,b) ... @@ -980,7 +960,7 @@ #define FB_PIPE_NAME "interbas"]) AC_DEFINE_UNQUOTED(FB_PIPE_NAME,"$FB_PIPE_NAME") AC_SUBST(FB_PIPE_NAME) - XE_PREPEND( -mno-cygwin -mthreads -lmpr -lversion -lws2_32 -lole32,LIBS) + XE_PREPEND( -mthreads -lmpr -lversion -lws2_32 -lole32,LIBS) ;; *) unchanged: --- firebird.org/extern/btyacc/main.c 2013-06-26 10:05:19.907330600 +0100 +++ firebird/extern/btyacc/main.c 2013-06-26 10:25:20.065917200 +0100 @@ -2,7 +2,7 @@ #include #include -#if defined(WIN32) +#if defined(WIN32) || defined(_WIN32) #include #else #include unchanged: --- firebird.org/src/burp/mvol.cpp 2013-06-26 10:05:24.089577700 +0100 +++ firebird/src/burp/mvol.cpp 2013-07-03 15:29:42.818271200 +0100 @@ -47,7 +47,7 @@ #include #include -#ifdef HAVE_IO_H +#if defined(HAVE_IO_H) || defined(WIN_NT) #include // isatty #endif unchanged: --- firebird.org/src/burp/restore.epp 2013-06-26 10:05:24.089577700 +0100 +++ firebird/src/burp/restore.epp 2013-07-03 15:25:34.792722000 +0100 @@ -54,6 +54,10 @@ #include "../common/classes/SafeArg.h" #include "memory_routines.h" +#ifdef WIN_NT +#define snprintf _snprintf +#endif + using MsgFormat::SafeArg; unchanged: --- firebird.org/src/common/classes/BaseStream.cpp 2013-06-26 10:05:24.106566100 +0100 +++ firebird/src/common/classes/BaseStream.cpp 2013-06-27 19:12:19.694346700 +0100 @@ -28,6 +28,10 @@ #include "BaseStream.h" #include +#if defined(WIN_NT) +#include +#endif + #ifdef HAVE_UNISTD_H #include #endif unchanged: --- firebird.org/src/common/classes/fb_string.cpp 2013-06-26 10:05:24.123554500 +0100 +++ firebird/src/common/classes/fb_string.cpp 2013-07-03 18:12:28.168333200 +0100 @@ -32,6 +32,10 @@ #include #include +#ifdef WIN_NT +#pragma comment(lib, "User32.lib") +#endif + #ifdef HAVE_STRCASECMP #define STRNCASECMP strncasecmp #else unchanged: --- firebird.org/src/common/classes/FpeControl.h 2013-06-26 10:05:24.123554500 +0100 +++ firebird/src/common/classes/FpeControl.h 2013-06-28 13:19:21.411841900 +0100 @@ -204,7 +204,7 @@ #ifdef WIN_NT inline bool isinf(double x) { - return (!_finite (x) && !isnan(x)); + return (!_finite (x) && !_isnan(x)); } #else #ifndef isinf unchanged: --- firebird.org/src/isql/isql.epp 2013-06-26 10:05:24.718148500 +0100 +++ firebird/src/isql/isql.epp 2013-07-03 15:39:19.475181200 +0100 @@ -98,6 +98,7 @@ #include "../jrd/common.h" #if defined(WIN_NT) #include +#define isnan _isnan #endif #include "../jrd/ibase.h" #include "../isql/isql.h" unchanged: --- firebird.org/src/jrd/divorce.cpp 2013-06-26 10:05:24.786102100 +0100 +++ firebird/src/jrd/divorce.cpp 2013-06-29 11:37:36.553854700 +0100 @@ -54,7 +54,7 @@ #include "../jrd/divorce.h" #include "../common/classes/semaphore.h" -#ifdef HAVE_IO_H +#if defined(HAVE_IO_H) || defined(WIN_NT) #include #endif unchanged: --- firebird.org/src/jrd/fun.epp 2013-06-26 10:05:24.888032500 +0100 +++ firebird/src/jrd/fun.epp 2013-06-29 11:19:52.564078500 +0100 @@ -733,7 +733,7 @@ status_exception::raise(Arg::Gds(isc_expression_eval_err) << Arg::Gds(isc_udf_fp_overflow) << Arg::Str(function->fun_name)); } - else if (isnan(value->vlu_misc.vlu_double)) + else if (_isnan(value->vlu_misc.vlu_double)) { status_exception::raise(Arg::Gds(isc_expression_eval_err) << Arg::Gds(isc_udf_fp_nan) << Arg::Str(function->fun_name)); unchanged: --- firebird.org/src/jrd/gds.cpp 2013-06-26 10:05:24.888032500 +0100 +++ firebird/src/jrd/gds.cpp 2013-06-29 10:38:05.140333200 +0100 @@ -71,6 +71,8 @@ #include #if defined(WIN_NT) +#pragma comment(lib, "advapi32") +#pragma comment(lib, "Shell32") #include // umask, close, lseek, read, open, _sopen #include #include @@ -121,7 +123,7 @@ #ifdef WIN_NT #include -#include +//#include #define _WINSOCKAPI_ #include #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 @@ -58,7 +58,7 @@ /* Win32 specific stuff */ #ifdef WIN_NT - +#pragma comment(lib, "User32") #include #include #include unchanged: --- firebird.org/src/jrd/isc_sync.cpp 2013-06-26 10:05:24.938997700 +0100 +++ firebird/src/jrd/isc_sync.cpp 2013-06-30 18:45:43.811961300 +0100 @@ -127,10 +127,10 @@ #include #endif -#ifndef HAVE_GETPAGESIZE +#if !defined(HAVE_GETPAGESIZE) && !defined(WIN_NT) static size_t getpagesize() { - return PAGESIZE; + return _PAGESIZE; } #endif @@ -4320,7 +4320,13 @@ * **************************************/ char hostname[64]; - const int rc = snprintf(buffer, bufsize, object_name, ISC_get_host(hostname, sizeof(hostname))); + const int rc = + #ifdef WIN_NT + _snprintf( + #else + snprintf( + #endif + buffer, bufsize, object_name, ISC_get_host(hostname, sizeof(hostname))); if (size_t(rc) == bufsize || rc <= 0) { SetLastError(ERROR_FILENAME_EXCED_RANGE); 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 "msvcr90.dll", +#elif _MSC_VER == 1600 + "mscvr100.dll", +#elif _MSC_VER == 1700 + "mscvr110.dll", #else #error Specify CRT DLL name here ! #endif unchanged: --- firebird.org/src/jrd/trace/TraceConfigStorage.cpp 2013-06-26 10:05:25.754440900 +0100 +++ firebird/src/jrd/trace/TraceConfigStorage.cpp 2013-07-02 12:32:31.799779900 +0100 @@ -42,9 +42,10 @@ #ifdef HAVE_UNISTD_H #include #endif -#ifdef HAVE_IO_H +#if defined(HAVE_IO_H) || defined(WIN_NT) #include #endif + #include #include #include unchanged: --- firebird.org/src/jrd/trace/TraceLog.cpp 2013-06-26 10:05:25.958301700 +0100 +++ firebird/src/jrd/trace/TraceLog.cpp 2013-07-02 12:32:49.747208200 +0100 @@ -29,7 +29,7 @@ #ifdef HAVE_UNISTD_H #include #endif -#ifdef HAVE_IO_H +#if defined(HAVE_IO_H) || defined(WIN_NT) #include #endif #include unchanged: --- firebird.org/src/misc/makeHeader.cpp 2013-06-26 10:05:26.230116100 +0100 +++ firebird/src/misc/makeHeader.cpp 2013-07-04 12:43:53.149081800 +0100 @@ -1,9 +1,9 @@ #include #include #include -//#ifdef HAVE_UNISTD_H +#ifdef HAVE_UNISTD_H #include -//#endif +#endif unchanged: --- firebird.org/extern/btyacc/Makefile 2013-07-05 07:58:12.591917200 +0100 +++ firebird/extern/btyacc/Makefile 2013-07-05 09:31:07.589691500 +0100 @@ -42,7 +42,10 @@ all: $(PROGRAM) $(PROGRAM): $(OBJS) $(LIBS) - $(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS) + $(CC) -o $(PROGRAM).exe $(OBJS) $(LIBS) $(LDFLAGS) + +%.o: %.c + $(CC) -c $< -Fo$@ $(CCFLAGS) clean:; rm -f $(OBJS) only in patch2: