diff --git a/cross/firebird/Makefile b/cross/firebird/Makefile new file mode 100644 index 00000000000..5edfd1c915a --- /dev/null +++ b/cross/firebird/Makefile @@ -0,0 +1,147 @@ +PKG_NAME = firebird +PKG_VERS = 4.0.3 +PKG_EXT = tar.gz +PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://github.com/FirebirdSQL/firebird/archive/refs/tags +PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +DEPENDS = cross/zlib cross/libicu native/libicu native/libtool + +UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) + +# Create proper src/make.synology.evansport to support this +UNSUPPORTED_ARCHS += $(i686_ARCHS) + +# Uses too old GCC 4.9 +UNSUPPORTED_ARCHS += comcerto2k + +include ../../mk/spksrc.common.mk + +# Currently v4.0.2 works only with 7.0 and 7.1 +# DSM 7.2 has issues with GLIBC version +# DSM 6.x has issues with some C++ libraries versions +ifeq ($(call version_lt,$(TCVERSION),7.0)$(call version_gt,$(TCVERSION),7.1),1) +UNSUPPORTED_ARCHS += $(ARCH) +endif + +HOMEPAGE = https://www.firebirdsql.org/ +COMMENT = Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, MacOS and a variety of Unix platforms. +LICENSE = MPL +MAINTAINER = vitkabele + +PRE_CONFIGURE_TARGET = firebird_pre_configure + +CONFIGURE_TARGET = firebird_configure + +COMPILE_TARGET = firebird_compile + +INSTALL_TARGET = firebird_install + +# We must forward-declare the PKGVAR here as we must compile its value to the +# binaries. We only support DSM7 so we do not worry about DSM6 compatibility +SYNOPKG_PKGVAR = /var/packages/$(PKG_NAME)/var +SYNOPKG_PKGDEST = /var/packages/$(PKG_NAME)/target + +ADDITIONAL_CFLAGS = '-DFB_PREFIX="\"$(SYNOPKG_PKGDEST)\""' \ + '-DFB_SECDBDIR="\"$(SYNOPKG_PKGVAR)\""' \ + '-DFB_GUARDDIR="\"$(SYNOPKG_PKGVAR)\""' \ + '-DFB_CONFDIR="\"$(SYNOPKG_PKGVAR)\""' \ + '-DFB_SBINDIR="\"$(SYNOPKG_PKGDEST)/bin\""' \ + '-DFB_BINDIR="\"$(SYNOPKG_PKGDEST)/bin\""' \ + '-DFB_DOCDIR="\"$(SYNOPKG_PKGDEST)/doc\""' \ + '-DFB_HELPDIR="\"$(SYNOPKG_PKGDEST)/help\""' \ + '-DFB_SAMPLEDIR="\"$(SYNOPKG_PKGDEST)/examples\""' \ + '-DFB_PLUGDIR="\"$(SYNOPKG_PKGDEST)/plugins\""' \ + '-DFB_SAMPLEDBDIR="\"$(SYNOPKG_PKGDEST)/examples/empbuild\""' \ + '-DFB_TZDATADIR="\"$(SYNOPKG_PKGDEST)\""' \ + '-DFB_MISCDIR="\"$(SYNOPKG_PKGDEST)/misc\""' \ + '-DFB_MSGDIR="\"$(SYNOPKG_PKGDEST)\""' \ + '-DFB_INCDIR="\"$(SYNOPKG_PKGDEST)/include\""' \ + '-DFB_INTLDIR="\"$(SYNOPKG_PKGDEST)/intl\""' \ + '-DFB_LIBDIR="\"$(SYNOPKG_PKGDEST)/lib\""' \ + '-DFB_LOGDIR="\"$(SYNOPKG_PKGVAR)\""' + +# CXXFLAGS should be set fine by the spksrc for cross-compilation, we will +# use it in cross2 step CROSS_ENV +ADDITIONAL_CXXFLAGS = -Wno-invalid-offsetof $(ADDITIONAL_CFLAGS) + +# Path to the libtool installed in the cross/libtool DEPENDS target +# We need the native libtool for building libommath/libtomcrypt in cross1 step +LIBTOOL_BIN = $(WORK_DIR)/../../../native/libtool/work-native/install/usr/local/bin/libtool + +# We need both native and cross compilers for building the binary. +include ../../mk/spksrc.cross-cc.mk + +# If we use --with-builtin-tomcrypt/math, the libraries are built during cross1 +# phase without -fPIC and then refuse to link during cross2 phase. Further, +# they can be built for different platforms during cross1 and cross2 phase. +# +# termlib and editline are disabled because we don't provide ncurses +# and editline libraries +CONFIGURE_ARGS = --without-termlib --with-builtin-tommath --with-builtin-tomcrypt \ + --without-editline --with-cross-build=synology.$(ARCH) --prefix=$(INSTALL_PREFIX) \ + --with-fbconf=$(INSTALL_PREFIX)/var + +NATIVE_LIBICU_DIR := $(WORK_DIR)/../../../native/libicu/work-native/install/usr/local + +# CFLAGS and CXXFLAGS for cross1 compile stage +NATIVE_CFLAGS := -I$(NATIVE_LIBICU_DIR)/include -L$(NATIVE_LIBICU_DIR)/lib + +# Preprocessor flags +NATIVE_CPPFLAGS := -I$(NATIVE_LIBICU_DIR)/include + +# This ENV is for cross1 phase where we build native target +# +# The NATIVE flags must be passed to the configure part, because the configure +# fails when it cant find the headers. +NATIVE_ENV = CC=gcc CXX=g++ AS=as AR=ar LD=ld NM=nm OBJCOPY=objcopy OBJDUMP=objdump \ + PARALLEL_MAKE=max \ + LIBTOOL="$(LIBTOOL_BIN)" \ + CFLAGS="$(NATIVE_CFLAGS)" \ + CXXFLAGS="$(NATIVE_CFLAGS)" \ + CPPFLAGS="$(NATIVE_CPPFLAGS)" + +NATIVE_RUN = cd $(WORK_DIR)/$(PKG_DIR) && env $(NATIVE_ENV) + +# DO NOT MODIFY $(ENV) variable (too much) a.k.a. only add variables for ourselves +# and do not modify any CFLAGS or other universally recognized variable +# It breaks compilation of dependent cross/* libraries (especially cross/libicu) +# +# This ENV is for cross2 build phase where we build binaries for target platform +# CROSS_ prefixed vars are for the cross2 phase and we "strip" the CROSS_ prefix +# in our provided src/makefile.xxx +# +# The C(XX)FLAGS variables are ready by the spksrc for cross compilation, we +# just use them +ENV += CROSS_TOOLCHAIN=$(TC_PATH)$(TC_PREFIX) + +.PHONY: firebird_pre_configure +firebird_pre_configure: + cp src/make.synology.* $(WORK_DIR)/$(PKG_DIR)/builds/posix/ + cp src/cross_config/* $(WORK_DIR)/$(PKG_DIR)/src/include/cross/ + $(NATIVE_RUN) NOCONFIGURE=1 ./autogen.sh + +# Override the configure target, because we must pass it different env than +# ENV. We cannot modify ENV to contain -I for native/libicu, because it breaks +# compilation of native/libicu, but we must have this -I in the configure +# CFLAGS, otherwise the configure step fails with unicode headers not found. +.PHONY: firebird_configure +firebird_configure: + $(NATIVE_RUN) ./configure $(CONFIGURE_ARGS) + +# Firebird itself would be compiled by simple make, but we must pass different +# environment to cross1 and cross2 step. The toolchain and CFLAGS differ +.PHONY: firebird_compile +firebird_compile: + $(NATIVE_RUN) make TARGET=Native cross1 + $(RUN) make TARGET=Release CROSS_OUT=Y cross2 + +.PHONY: firebird_install +firebird_install: + $(RUN) make TARGET=Release CROSS_OUT=Y dist + # We assume there is just one buildroot.tar.gz file in the build tree + # This is a little hack since we don't know the exact path where it is + # produced and it is easier than patching the firebird Makefiles + cd $(WORK_DIR)/install && tar xf $$(find ../ -name buildroot.tar.gz) + diff --git a/cross/firebird/PLIST b/cross/firebird/PLIST new file mode 100644 index 00000000000..ccbefa80748 --- /dev/null +++ b/cross/firebird/PLIST @@ -0,0 +1,41 @@ +rsc:var/IDPLicense.txt +rsc:var/IPLicense.txt +rsc:bin/fb_config +bin:bin/build_file +bin:bin/fb_lock_print +bin:bin/fbguard +bin:bin/fbsvcmgr +bin:bin/fbtracemgr +bin:bin/firebird +bin:bin/gbak +bin:bin/gfix +bin:bin/gsec +bin:bin/gsplit +bin:bin/gstat +bin:bin/isql +bin:bin/nbackup +rsc:bin/registerDatabase.sh +rsc:var/databases.conf +rsc:var/fbtrace.conf +rsc:var/firebird.conf +rsc:security4.gbak +rsc:msg.gbak +rsc:intl/fbintl +rsc:intl/fbintl.conf +lnk:lib/libfbclient.so +lnk:lib/libfbclient.so.2 +lib:lib/libfbclient.so.4.0.3 +lib:lib/libib_util.so +rsc:misc/intl.sql +rsc:var/plugins.conf +lib:plugins/libChaCha.so +lib:plugins/libEngine13.so +lib:plugins/libLegacy_Auth.so +lib:plugins/libLegacy_UserManager.so +lib:plugins/libSrp.so +lib:plugins/libfbtrace.so +lib:plugins/libudr_engine.so +lib:plugins/udr/libudf_compat.so +rsc:plugins/udr/udf_compat.sql +rsc:plugins/udr_engine.conf +rsc:var/replication.conf diff --git a/cross/firebird/digests b/cross/firebird/digests new file mode 100644 index 00000000000..db83b1a9b1f --- /dev/null +++ b/cross/firebird/digests @@ -0,0 +1,3 @@ +firebird-4.0.3.tar.gz SHA1 02dd8914e80acef2a662eab42b7ee5a3dc41248e +firebird-4.0.3.tar.gz SHA256 90b799043c83325479989b1f44116d1f0112f77c5def4bb452470bf7a0dcc138 +firebird-4.0.3.tar.gz MD5 1d57b5ee362be4c0b2c3f28e78f69aaf diff --git a/cross/firebird/patches/0001-install-gbak-files-and-build_file.patch b/cross/firebird/patches/0001-install-gbak-files-and-build_file.patch new file mode 100644 index 00000000000..f9c2d297182 --- /dev/null +++ b/cross/firebird/patches/0001-install-gbak-files-and-build_file.patch @@ -0,0 +1,28 @@ +diff -u builds/install/arch-specific/linux/makeInstallImage.sh.in builds/install/arch-specific/linux/makeInstallImage.sh.in +--- builds/install/arch-specific/linux/makeInstallImage.sh.in 2023-08-11 11:55:02.848124743 +0200 ++++ builds/install/arch-specific/linux/makeInstallImage.sh.in 2023-08-11 13:44:38.846348466 +0200 +@@ -34,7 +34,7 @@ + BuildRootDir=.. + BuiltFBDir=Release/firebird # Where the just build fb exists. + TargetDir=buildroot # Where we want to build the install image +-SecurityDatabase=security4.fdb ++SecurityDatabase=security4.gbak + TomMathBuild="@TOMMATH_BUILD@" + TomCryptBuild="@TOMCRYPT_BUILD@" + +@@ -183,6 +183,7 @@ + copyIfExists $BuiltFBDir/bin/fbtracemgr ${TargetDir}@FB_BINDIR@ + cp $BuiltFBDir/bin/isql ${TargetDir}@FB_BINDIR@/isql + cp $BuiltFBDir/bin/qli ${TargetDir}@FB_BINDIR@/qli ++ cp $BuiltFBDir/bin/build_file ${TargetDir}@FB_BINDIR@/build_file + + chmod 0755 ${TargetDir}@FB_BINDIR@/* + +@@ -239,6 +240,7 @@ + + #secureDB (access rights will be set at install time) + cp $BuiltFBDir/$SecurityDatabase ${TargetDir}@FB_SECDBDIR@ ++ cp $BuiltFBDir/msg.gbak ${TargetDir}@FB_SECDBDIR@ + + #include (.h .pas files) + cp $BuiltFBDir/include/*.h ${TargetDir}@FB_INCDIR@ diff --git a/cross/firebird/patches/0002-do-not-build-qli-gpre-examples.patch b/cross/firebird/patches/0002-do-not-build-qli-gpre-examples.patch new file mode 100644 index 00000000000..7a9075ca7d8 --- /dev/null +++ b/cross/firebird/patches/0002-do-not-build-qli-gpre-examples.patch @@ -0,0 +1,21 @@ +--- builds/posix/Makefile.in.1 2023-08-18 21:59:51.408045740 +0200 ++++ builds/posix/Makefile.in 2023-08-18 22:03:41.578508436 +0200 +@@ -348,9 +348,7 @@ cross2: + $(MAKE) engine + $(MAKE) fbintl + $(MAKE) utilities +- $(MAKE) $(GPRE) + $(MAKE) plugins +- $(MAKE) -f Makefile.plugins_examples + $(MAKE) cross_rest + + +@@ -660,7 +658,7 @@ GBAK_FILES := $(subst Native,$(TARGET),$ + + rest: qli message_file tzdata + +-cross_rest: qli gbak_files ++cross_rest: gbak_files + $(MAKE) $(BUILD_FILE) + + qli: $(QLI) diff --git a/cross/firebird/src/cross_config/synology.aarch64.h b/cross/firebird/src/cross_config/synology.aarch64.h new file mode 100644 index 00000000000..b1c0dc2fc3f --- /dev/null +++ b/cross/firebird/src/cross_config/synology.aarch64.h @@ -0,0 +1,663 @@ +/* + * Copied from src/include/cross/android.arm64 and manually modified + */ + +/* log file name within log dir (firebird.log) */ +#define FB_LOGFILENAME "firebird.log" + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define this if CPU is amd64 */ +/* #undef AMD64 */ + +/* Include pthread support for binary relocation? */ +/* #undef BR_PTHREAD */ + +/* Define this if paths are case sensitive */ +#define CASE_SENSITIVITY false + +/* Use binary relocation? */ +#define ENABLE_BINRELOC + +/* Alignment of long */ +#define FB_ALIGNMENT 8 + +/* executables DIR (PREFIX/bin) */ +/* #define FB_BINDIR "" */ + +/* config files DIR (PREFIX) */ +/* #define FB_CONFDIR "" */ + +/* documentation root DIR (PREFIX/doc) */ +/* #define FB_DOCDIR "" */ + +/* Alignment of double */ +#define FB_DOUBLE_ALIGN 8 + +/* guardian lock DIR (PREFIX) */ +/* #define FB_GUARDDIR "" */ + +/* QLI help DIR (PREFIX/help) */ +/* #define FB_HELPDIR "" */ + +/* C/C++ header files DIR (PREFIX/include) */ +/* #define FB_INCDIR "" */ + +/* international DIR (PREFIX/intl) */ +/* #define FB_INTLDIR "" */ + +/* Local IPC name */ +#define FB_IPC_NAME "FirebirdIPI" + +/* object code libraries DIR (PREFIX/lib) */ +/* #define FB_LIBDIR "" */ + +/* log files DIR (PREFIX) */ +/* #define FB_LOGDIR "" */ + +/* misc DIR (PREFIX/misc) */ +/* #define FB_MISCDIR "" */ + +/* message files DIR (PREFIX) */ +/* #define FB_MSGDIR "" */ + +/* Wnet pipe name */ +#define FB_PIPE_NAME "interbas" + +/* plugins DIR (PREFIX) */ +/* #define FB_PLUGDIR "" */ + +/* tzdata DIR (PREFIX) */ +/* #define FB_TZDATADIR "" */ + +/* Installation path prefix */ +/* #define FB_PREFIX "/usr/local/firebird" */ + +/* examples database DIR (PREFIX/examples/empbuild) */ +/* #define FB_SAMPLEDBDIR "" */ + +/* examples DIR (PREFIX/examples) */ +/* #define FB_SAMPLEDIR "" */ + +/* system admin executables DIR (PREFIX/bin) */ +/* #define FB_SBINDIR "" */ + +/* security database DIR (PREFIX) */ +/* #define FB_SECDBDIR "" */ + +/* Inet service name */ +#define FB_SERVICE_NAME "gds_db" + +/* Inet service port */ +#define FB_SERVICE_PORT 3050 + +/* Define this if OS is FreeBSD */ +/* #undef FREEBSD */ + +/* Define this if getmntent needs second argument */ +/* #undef GETMNTENT_TAKES_TWO_ARGUMENTS */ + +/* Define to 1 if the `getpgrp' function requires zero arguments. */ +#define GETPGRP_VOID 1 + +/* Define this if gettimeofday accepts second (timezone) argument */ +#define GETTIMEOFDAY_RETURNS_TIMEZONE 1 + +/* Define this if GPRE should support ADA */ +/* #undef GPRE_ADA */ + +/* Define this if GPRE should support COBOL */ +/* #undef GPRE_COBOL */ + +/* Define this if GPRE should support FORTRAN */ +/* #undef GPRE_FORTRAN */ + +/* Define this if GPRE should support PASCAL */ +/* #undef GPRE_PASCAL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_AIO_H */ + +/* Define this if AO_compare_and_swap_full() is defined in atomic_ops.h */ +/* #undef HAVE_AO_COMPARE_AND_SWAP_FULL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ASSERT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ATOMIC_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ATOMIC_OPS_H */ + +/* Define to 1 if the system has the type `caddr_t'. */ +/* #undef HAVE_CADDR_T */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CRYPT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the `dirname' function. */ +#define HAVE_DIRNAME 1 + +/* Define to 1 if you have the `dladdr' function. */ +/* #define HAVE_DLADDR 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define this if editline is in use */ +/* #undef HAVE_EDITLINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the `fchmod' function. */ +#define HAVE_FCHMOD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `fdatasync' function. */ +#define HAVE_FDATASYNC 1 + +/* Define to 1 if you have the `fegetenv' function. */ +#define HAVE_FEGETENV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `flock' function. */ +#define HAVE_FLOCK 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `fsync' function. */ +#define HAVE_FSYNC 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getmntent' function. */ +#define HAVE_GETMNTENT 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `getwd' function. */ +#define HAVE_GETWD 1 + +/* Define to 1 if you have the `gmtime_r' function. */ +#define HAVE_GMTIME_R 1 + +/* Define to 1 if you have the `ctime_r' function. */ +#define HAVE_CTIME_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_GRP_H 1 + +/* Define this if INFINITY is defined in math.h */ +#define HAVE_INFINITY 1 + +/* Define to 1 if you have the `initgroups' function. */ +#define HAVE_INITGROUPS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `atomic_ops' library (-latomic_ops). */ +/* #undef HAVE_LIBATOMIC_OPS */ + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +/* #undef HAVE_LIBPTHREAD */ + +/* Define to 1 if you have the `sfio' library (-lsfio). */ +/* #undef HAVE_LIBSFIO */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `llrint' function. */ +#define HAVE_LLRINT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `localtime_r' function. */ +#define HAVE_LOCALTIME_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MATH_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mkstemp' function. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MNTENT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MNTTAB_H */ + +/* Define this if multi-threading should be supported */ +#define HAVE_MULTI_THREAD 1 + +/* Define to 1 if you have the `nanosleep' function. */ +#define HAVE_NANOSLEEP 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETCONFIG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NETINET_IN_H 1 + +/* Define to 1 if you have the `poll' function. */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_POLL_H 1 + +/* Define this if posix_fadvise() is present on the platform */ +/* #undef HAVE_POSIX_FADVISE */ + +/* Define to 1 if you have the `pread' function. */ +#define HAVE_PREAD 1 + +/* Define if you have POSIX threads libraries and header files. */ +/* #undef HAVE_PTHREAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_PTHREAD_H 1 + +/* Define to 1 if you have the `pthread_keycreate' function. */ +/* #undef HAVE_PTHREAD_KEYCREATE */ + +/* Define to 1 if you have the `pthread_key_create' function. */ +#define HAVE_PTHREAD_KEY_CREATE 1 + +/* Define to 1 if you have the `pthread_mutexattr_setprotocol' function. */ +/* undef HAVE_PTHREAD_MUTEXATTR_SETPROTOCOL */ + +/* Define to 1 if you have the `pthread_mutexattr_setrobust_np' function. */ +/* #undef HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP */ + +/* Define to 1 if you have the `pthread_mutex_consistent_np' function. */ +/* #undef HAVE_PTHREAD_MUTEX_CONSISTENT_NP */ + +/* Define to 1 if you have the `pthread_rwlockattr_setkind_np' function. */ +/* #undef HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_PWD_H 1 + +/* Define to 1 if you have the `pwrite' function. */ +#define HAVE_PWRITE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_RPC_RPC_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_RPC_XDR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the `semtimedop' function. */ +#define HAVE_SEMTIMEDOP 1 + +/* Define to 1 if the system has the type `semun'. */ +/* #undef HAVE_SEMUN */ + +/* Define to 1 if you have the `sem_init' function. */ +#define HAVE_SEM_INIT 1 + +/* Define to 1 if you have the `sem_timedwait' function. */ +#define HAVE_SEM_TIMEDWAIT 1 + +/* Define to 1 if you have the `setitimer' function. */ +#define HAVE_SETITIMER 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SETJMP_H 1 + +/* Define to 1 if you have the `setmntent' function. */ +#define HAVE_SETMNTENT 1 + +/* Define to 1 if you have the `setpgid' function. */ +#define HAVE_SETPGID 1 + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT 1 + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `sigset' function. */ +/* #undef HAVE_SIGSET */ + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SOCKET_H */ + +/* Define to 1 if the system has the type `socklen_t'. */ +#define HAVE_SOCKLEN_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror_r' function. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the `stricmp' function. */ +/* #undef HAVE_STRICMP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strnicmp' function. */ +/* #undef HAVE_STRNICMP */ + +/* Define this if struct dirent has d_type */ +#define HAVE_STRUCT_DIRENT_D_TYPE 1 + +/* Define to 1 if the system has the type `struct xdr_ops'. */ +#define HAVE_STRUCT_XDR_OPS 1 + +/* Define to 1 if the system has the type `struct XDR::xdr_ops'. */ +/* #undef HAVE_STRUCT_XDR__XDR_OPS */ + +/* Define to 1 if you have the `swab' function. */ +#define HAVE_SWAB 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* + * For SYS_gettid + * Define to 1 if you have the header file + * MANUALLY ADDED + */ +#define HAVE_SYS_SYSCALL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MNTENT_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MNTTAB_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MOUNT_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SIGINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SIGNAL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SOCKIO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* Deprecated in android-24 */ +#undef HAVE_SYS_TIMEB_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `tcgetattr' function. */ +#define HAVE_TCGETATTR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TERMIOS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TERMIO_H 1 + +/* Define to 1 if you have the `time' function. */ +#define HAVE_TIME 1 + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_UTIME_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VARARGS_H */ + +/* Define this if va_copy() is defined in stdarg.h */ +#define HAVE_VA_COPY 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WINSOCK2_H */ + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the file `AC_File'. */ +#define HAVE__PROC_SELF_EXE 1 + +/* Define to 1 if you have the `_swab' function. */ +/* #undef HAVE__SWAB */ + +/* Define it if compiler supports ISO syntax for thread-local storage */ +#define HAVE___THREAD 1 + +/* Define this if CPU is HPPA */ +/* #undef HPPA */ + +/* Define this if OS is HP-UX */ +/* #undef HPUX */ + +/* Define this if OS is Linux */ +#define LINUX 1 + +/* Define this if OS is NetBSD */ +/* #undef NETBSD */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef PTHREAD_CREATE_JOINABLE */ + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* Define to 1 if the `setpgrp' function takes no argument. */ +#define SETPGRP_VOID 1 + +/* Architecture is big-edian sh4 */ +/* #undef SHEB */ + +/* Extension for shared libraries */ +#define SHRLIB_EXT "so" + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 8 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 8 + + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define this if databases on raw devices should be supported */ +#define SUPPORT_RAW_DEVICES 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define this if OS is Windows NT */ +/* #undef WIN_NT */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define this if sem_init() works on the platform */ +#define WORKING_SEM_INIT 1 + +/* Number of bits in a file offset, on hosts where this is settable. */ +#define _FILE_OFFSET_BITS 64 + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to `int' if doesn't define. */ +/* #undef gid_t */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if doesn't define. */ +/* #undef uid_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ + +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +/* #undef volatile */ + +#ifdef GETTIMEOFDAY_RETURNS_TIMEZONE +#define GETTIMEOFDAY(x) gettimeofday((x), (struct timezone *)0) +#else +#define GETTIMEOFDAY(x) gettimeofday((x)) +#endif + +#ifndef HAVE_SOCKLEN_T +typedef int socklen_t; +#endif diff --git a/cross/firebird/src/cross_config/synology.armv7.h b/cross/firebird/src/cross_config/synology.armv7.h new file mode 100644 index 00000000000..b71c635dc5d --- /dev/null +++ b/cross/firebird/src/cross_config/synology.armv7.h @@ -0,0 +1,677 @@ +/* + * Copied from src/include/cross/android.arme and manually modified + */ + +/* log file name within log dir (firebird.log) */ +#define FB_LOGFILENAME "firebird.log" + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define this if OS is AIX */ +/* #undef AIX */ + +/* Define this if CPU is Alpha */ +/* #undef ALPHA */ + +/* Define this if CPU is amd64 */ +/* #undef AMD64 */ + +/* Include pthread support for binary relocation? */ +/* #undef BR_PTHREAD */ + +/* Define this if paths are case sensitive */ +#define CASE_SENSITIVITY false + +/* Use binary relocation? */ +#define ENABLE_BINRELOC + +/* Alignment of long */ +#define FB_ALIGNMENT 8 + +/* executables DIR (PREFIX/bin) */ +/* #define FB_BINDIR "" */ + +/* config files DIR (PREFIX) */ +/* #define FB_CONFDIR "" */ + +/* documentation root DIR (PREFIX/doc) */ +/* #define FB_DOCDIR "" */ + +/* Alignment of double */ +#define FB_DOUBLE_ALIGN 8 + +/* guardian lock DIR (PREFIX) */ +/* #define FB_GUARDDIR "" */ + +/* QLI help DIR (PREFIX/help) */ +/* #define FB_HELPDIR "" */ + +/* C/C++ header files DIR (PREFIX/include) */ +/* #define FB_INCDIR "" */ + +/* international DIR (PREFIX/intl) */ +/* #define FB_INTLDIR "" */ + +/* Local IPC name */ +#define FB_IPC_NAME "FirebirdIPI" + +/* object code libraries DIR (PREFIX/lib) */ +/* #define FB_LIBDIR "" */ + +/* log files DIR (PREFIX) */ +/* #define FB_LOGDIR "" */ + +/* misc DIR (PREFIX/misc) */ +/* #define FB_MISCDIR "" */ + +/* message files DIR (PREFIX) */ +/* #define FB_MSGDIR "" */ + +/* Wnet pipe name */ +#define FB_PIPE_NAME "interbas" + +/* plugins DIR (PREFIX) */ +/* #define FB_PLUGDIR "" */ + +/* tzdata DIR (PREFIX) */ +/* #define FB_TZDATADIR "" */ + +/* Installation path prefix */ +/* #define FB_PREFIX "/usr/local/firebird" */ + +/* examples database DIR (PREFIX/examples/empbuild) */ +/* #define FB_SAMPLEDBDIR "" */ + +/* examples DIR (PREFIX/examples) */ +/* #define FB_SAMPLEDIR "" */ + +/* system admin executables DIR (PREFIX/bin) */ +/* #define FB_SBINDIR "" */ + +/* security database DIR (PREFIX) */ +/* #define FB_SECDBDIR "" */ + +/* Inet service name */ +#define FB_SERVICE_NAME "gds_db" + +/* Inet service port */ +#define FB_SERVICE_PORT 3050 + +/* Define this if OS is FreeBSD */ +/* #undef FREEBSD */ + +/* Define this if getmntent needs second argument */ +/* #undef GETMNTENT_TAKES_TWO_ARGUMENTS */ + +/* Define to 1 if the `getpgrp' function requires zero arguments. */ +#define GETPGRP_VOID 1 + +/* Define this if gettimeofday accepts second (timezone) argument */ +#define GETTIMEOFDAY_RETURNS_TIMEZONE 1 + +/* Define this if GPRE should support ADA */ +/* #undef GPRE_ADA */ + +/* Define this if GPRE should support COBOL */ +/* #undef GPRE_COBOL */ + +/* Define this if GPRE should support FORTRAN */ +/* #undef GPRE_FORTRAN */ + +/* Define this if GPRE should support PASCAL */ +/* #undef GPRE_PASCAL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_AIO_H */ + +/* Define this if AO_compare_and_swap_full() is defined in atomic_ops.h */ +/* #undef HAVE_AO_COMPARE_AND_SWAP_FULL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ASSERT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ATOMIC_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ATOMIC_OPS_H */ + +/* Define to 1 if the system has the type `caddr_t'. */ +/* #undef HAVE_CADDR_T */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CRYPT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the `dirname' function. */ +#define HAVE_DIRNAME 1 + +/* Define to 1 if you have the `dladdr' function. */ +/* #define HAVE_DLADDR 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define this if editline is in use */ +/* #undef HAVE_EDITLINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the `fchmod' function. */ +#define HAVE_FCHMOD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `fdatasync' function. */ +#define HAVE_FDATASYNC 1 + +/* Define to 1 if you have the `fegetenv' function. */ +#define HAVE_FEGETENV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `flock' function. */ +#define HAVE_FLOCK 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `fsync' function. */ +#define HAVE_FSYNC 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getmntent' function. */ +#define HAVE_GETMNTENT 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `getwd' function. */ +#define HAVE_GETWD 1 + +/* Define to 1 if you have the `gmtime_r' function. */ +#define HAVE_GMTIME_R 1 + +/* Define to 1 if you have the `ctime_r' function. */ +#define HAVE_CTIME_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_GRP_H 1 + +/* Define this if INFINITY is defined in math.h */ +#define HAVE_INFINITY 1 + +/* Define to 1 if you have the `initgroups' function. */ +#define HAVE_INITGROUPS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `atomic_ops' library (-latomic_ops). */ +/* #undef HAVE_LIBATOMIC_OPS */ + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +/* #undef HAVE_LIBPTHREAD */ + +/* Define to 1 if you have the `sfio' library (-lsfio). */ +/* #undef HAVE_LIBSFIO */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `llrint' function. */ +#define HAVE_LLRINT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `localtime_r' function. */ +#define HAVE_LOCALTIME_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MATH_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mkstemp' function. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MNTENT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MNTTAB_H */ + +/* Define this if multi-threading should be supported */ +#define HAVE_MULTI_THREAD 1 + +/* Define to 1 if you have the `nanosleep' function. */ +#define HAVE_NANOSLEEP 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETCONFIG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NETINET_IN_H 1 + +/* Define to 1 if you have the `poll' function. */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_POLL_H 1 + +/* Define this if posix_fadvise() is present on the platform */ +/* #undef HAVE_POSIX_FADVISE */ + +/* Define to 1 if you have the `pread' function. */ +#define HAVE_PREAD 1 + +/* Define if you have POSIX threads libraries and header files. */ +/* #undef HAVE_PTHREAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_PTHREAD_H 1 + +/* Define to 1 if you have the `pthread_keycreate' function. */ +/* #undef HAVE_PTHREAD_KEYCREATE */ + +/* Define to 1 if you have the `pthread_key_create' function. */ +#define HAVE_PTHREAD_KEY_CREATE 1 + +/* Define to 1 if you have the `pthread_mutexattr_setprotocol' function. */ +/* undef HAVE_PTHREAD_MUTEXATTR_SETPROTOCOL */ + +/* Define to 1 if you have the `pthread_mutexattr_setrobust_np' function. */ +/* #undef HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP */ + +/* Define to 1 if you have the `pthread_mutex_consistent_np' function. */ +/* #undef HAVE_PTHREAD_MUTEX_CONSISTENT_NP */ + +/* Define to 1 if you have the `pthread_rwlockattr_setkind_np' function. */ +/* #undef HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_PWD_H 1 + +/* Define to 1 if you have the `pwrite' function. */ +#define HAVE_PWRITE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_RPC_RPC_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_RPC_XDR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the `semtimedop' function. */ +#define HAVE_SEMTIMEDOP 1 + +/* Define to 1 if the system has the type `semun'. */ +/* #undef HAVE_SEMUN */ + +/* Define to 1 if you have the `sem_init' function. */ +#define HAVE_SEM_INIT 1 + +/* Define to 1 if you have the `sem_timedwait' function. */ +#define HAVE_SEM_TIMEDWAIT 1 + +/* Define to 1 if you have the `setitimer' function. */ +#define HAVE_SETITIMER 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SETJMP_H 1 + +/* Define to 1 if you have the `setmntent' function. */ +#define HAVE_SETMNTENT 1 + +/* Define to 1 if you have the `setpgid' function. */ +#define HAVE_SETPGID 1 + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT 1 + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `sigset' function. */ +/* #undef HAVE_SIGSET */ + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SOCKET_H */ + +/* Define to 1 if the system has the type `socklen_t'. */ +#define HAVE_SOCKLEN_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror_r' function. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the `stricmp' function. */ +/* #undef HAVE_STRICMP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strnicmp' function. */ +/* #undef HAVE_STRNICMP */ + +/* Define this if struct dirent has d_type */ +#define HAVE_STRUCT_DIRENT_D_TYPE 1 + +/* Define to 1 if the system has the type `struct xdr_ops'. */ +#define HAVE_STRUCT_XDR_OPS 1 + +/* Define to 1 if the system has the type `struct XDR::xdr_ops'. */ +/* #undef HAVE_STRUCT_XDR__XDR_OPS */ + +/* Define to 1 if you have the `swab' function. */ +#define HAVE_SWAB 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* + * For SYS_gettid + * Define to 1 if you have the header file + * MANUALLY ADDED + */ +#define HAVE_SYS_SYSCALL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MNTENT_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MNTTAB_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MOUNT_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SIGINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SIGNAL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SOCKIO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* Deprecated in android-24 */ +#undef HAVE_SYS_TIMEB_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `tcgetattr' function. */ +#define HAVE_TCGETATTR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TERMIOS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TERMIO_H 1 + +/* Define to 1 if you have the `time' function. */ +#define HAVE_TIME 1 + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_UTIME_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VARARGS_H */ + +/* Define this if va_copy() is defined in stdarg.h */ +#define HAVE_VA_COPY 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WINSOCK2_H */ + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the file `AC_File'. */ +#define HAVE__PROC_SELF_EXE 1 + +/* Define to 1 if you have the `_swab' function. */ +/* #undef HAVE__SWAB */ + +/* Define it if compiler supports ISO syntax for thread-local storage */ +#define HAVE___THREAD 1 + +/* Define this if CPU is HPPA */ +/* #undef HPPA */ + +/* Define this if OS is HP-UX */ +/* #undef HPUX */ + +/* Define this if OS is Linux */ +#define LINUX 1 + +/* Define this if OS is NetBSD */ +/* #undef NETBSD */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef PTHREAD_CREATE_JOINABLE */ + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* Define to 1 if the `setpgrp' function takes no argument. */ +#define SETPGRP_VOID 1 + +/* Architecture is little-endian sh4 */ +/* #undef SH */ + +/* Architecture is big-edian sh4 */ +/* #undef SHEB */ + +/* Extension for shared libraries */ +#define SHRLIB_EXT "so" + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 4 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 4 + +/* Define this if OS is Solaris Sparc */ +/* #undef SOLARIS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define this if databases on raw devices should be supported */ +#define SUPPORT_RAW_DEVICES 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define this if OS is Windows NT */ +/* #undef WIN_NT */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define this if sem_init() works on the platform */ +#define WORKING_SEM_INIT 1 + +/* Number of bits in a file offset, on hosts where this is settable. */ +#define _FILE_OFFSET_BITS 64 + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to `int' if doesn't define. */ +/* #undef gid_t */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define this if OS is Solarix x86 */ +/* #undef solx86 */ + +/* Define to `int' if doesn't define. */ +/* #undef uid_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ + +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +/* #undef volatile */ + +#ifdef GETTIMEOFDAY_RETURNS_TIMEZONE +#define GETTIMEOFDAY(x) gettimeofday((x), (struct timezone *)0) +#else +#define GETTIMEOFDAY(x) gettimeofday((x)) +#endif + +#ifndef HAVE_SOCKLEN_T +typedef int socklen_t; +#endif diff --git a/cross/firebird/src/cross_config/synology.x64.h b/cross/firebird/src/cross_config/synology.x64.h new file mode 100644 index 00000000000..48e8cf0b426 --- /dev/null +++ b/cross/firebird/src/cross_config/synology.x64.h @@ -0,0 +1,663 @@ +/* + * Copied from src/include/cross/android.x86_64 and manually modified + */ + +/* log file name within log dir (firebird.log) */ +#define FB_LOGFILENAME "firebird.log" + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define this if CPU is amd64 */ +/* #undef AMD64 */ + +/* Include pthread support for binary relocation? */ +/* #undef BR_PTHREAD */ + +/* Define this if paths are case sensitive */ +#define CASE_SENSITIVITY false + +/* Use binary relocation? */ +#define ENABLE_BINRELOC + +/* Alignment of long */ +#define FB_ALIGNMENT 8 + +/* executables DIR (PREFIX/bin) */ +/* #define FB_BINDIR "" */ + +/* config files DIR (PREFIX) */ +/* #define FB_CONFDIR "" */ + +/* documentation root DIR (PREFIX/doc) */ +/* #define FB_DOCDIR "" */ + +/* Alignment of double */ +#define FB_DOUBLE_ALIGN 8 + +/* guardian lock DIR (PREFIX) */ +/* #define FB_GUARDDIR "" */ + +/* QLI help DIR (PREFIX/help) */ +/* #define FB_HELPDIR "" */ + +/* C/C++ header files DIR (PREFIX/include) */ +/* #define FB_INCDIR "" */ + +/* international DIR (PREFIX/intl) */ +/* #define FB_INTLDIR "" */ + +/* Local IPC name */ +#define FB_IPC_NAME "FirebirdIPI" + +/* object code libraries DIR (PREFIX/lib) */ +/* #define FB_LIBDIR "" */ + +/* log files DIR (PREFIX) */ +/* #define FB_LOGDIR "" */ + +/* misc DIR (PREFIX/misc) */ +/* #define FB_MISCDIR "" */ + +/* message files DIR (PREFIX) */ +/* #define FB_MSGDIR "" */ + +/* Wnet pipe name */ +#define FB_PIPE_NAME "interbas" + +/* plugins DIR (PREFIX) */ +/* #define FB_PLUGDIR "" */ + +/* tzdata DIR (PREFIX) */ +/* #define FB_TZDATADIR "" */ + +/* Installation path prefix */ +/* #define FB_PREFIX "/usr/local/firebird" */ + +/* examples database DIR (PREFIX/examples/empbuild) */ +/* #define FB_SAMPLEDBDIR "" */ + +/* examples DIR (PREFIX/examples) */ +/* #define FB_SAMPLEDIR "" */ + +/* system admin executables DIR (PREFIX/bin) */ +/* #define FB_SBINDIR "" */ + +/* security database DIR (PREFIX) */ +/* #define FB_SECDBDIR "" */ + +/* Inet service name */ +#define FB_SERVICE_NAME "gds_db" + +/* Inet service port */ +#define FB_SERVICE_PORT 3050 + +/* Define this if OS is FreeBSD */ +/* #undef FREEBSD */ + +/* Define this if getmntent needs second argument */ +/* #undef GETMNTENT_TAKES_TWO_ARGUMENTS */ + +/* Define to 1 if the `getpgrp' function requires zero arguments. */ +#define GETPGRP_VOID 1 + +/* Define this if gettimeofday accepts second (timezone) argument */ +#define GETTIMEOFDAY_RETURNS_TIMEZONE 1 + +/* Define this if GPRE should support ADA */ +/* #undef GPRE_ADA */ + +/* Define this if GPRE should support COBOL */ +/* #undef GPRE_COBOL */ + +/* Define this if GPRE should support FORTRAN */ +/* #undef GPRE_FORTRAN */ + +/* Define this if GPRE should support PASCAL */ +/* #undef GPRE_PASCAL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_AIO_H */ + +/* Define this if AO_compare_and_swap_full() is defined in atomic_ops.h */ +/* #undef HAVE_AO_COMPARE_AND_SWAP_FULL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ASSERT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ATOMIC_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ATOMIC_OPS_H */ + +/* Define to 1 if the system has the type `caddr_t'. */ +/* #undef HAVE_CADDR_T */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CRYPT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the `dirname' function. */ +#define HAVE_DIRNAME 1 + +/* Define to 1 if you have the `dladdr' function. */ +/* #define HAVE_DLADDR 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define this if editline is in use */ +/* #undef HAVE_EDITLINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the `fchmod' function. */ +#define HAVE_FCHMOD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `fdatasync' function. */ +#define HAVE_FDATASYNC 1 + +/* Define to 1 if you have the `fegetenv' function. */ +#define HAVE_FEGETENV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `flock' function. */ +#define HAVE_FLOCK 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `fsync' function. */ +#define HAVE_FSYNC 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getmntent' function. */ +#define HAVE_GETMNTENT 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `getwd' function. */ +#define HAVE_GETWD 1 + +/* Define to 1 if you have the `gmtime_r' function. */ +#define HAVE_GMTIME_R 1 + +/* Define to 1 if you have the `ctime_r' function. */ +#define HAVE_CTIME_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_GRP_H 1 + +/* Define this if INFINITY is defined in math.h */ +#define HAVE_INFINITY 1 + +/* Define to 1 if you have the `initgroups' function. */ +#define HAVE_INITGROUPS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `atomic_ops' library (-latomic_ops). */ +/* #undef HAVE_LIBATOMIC_OPS */ + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +/* #undef HAVE_LIBPTHREAD */ + +/* Define to 1 if you have the `sfio' library (-lsfio). */ +/* #undef HAVE_LIBSFIO */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `llrint' function. */ +#define HAVE_LLRINT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `localtime_r' function. */ +#define HAVE_LOCALTIME_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MATH_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mkstemp' function. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MNTENT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MNTTAB_H */ + +/* Define this if multi-threading should be supported */ +#define HAVE_MULTI_THREAD 1 + +/* Define to 1 if you have the `nanosleep' function. */ +#define HAVE_NANOSLEEP 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETCONFIG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NETINET_IN_H 1 + +/* Define to 1 if you have the `poll' function. */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_POLL_H 1 + +/* Define this if posix_fadvise() is present on the platform */ +/* #undef HAVE_POSIX_FADVISE */ + +/* Define to 1 if you have the `pread' function. */ +#define HAVE_PREAD 1 + +/* Define if you have POSIX threads libraries and header files. */ +/* #undef HAVE_PTHREAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_PTHREAD_H 1 + +/* Define to 1 if you have the `pthread_keycreate' function. */ +/* #undef HAVE_PTHREAD_KEYCREATE */ + +/* Define to 1 if you have the `pthread_key_create' function. */ +#define HAVE_PTHREAD_KEY_CREATE 1 + +/* Define to 1 if you have the `pthread_mutexattr_setprotocol' function. */ +/* undef HAVE_PTHREAD_MUTEXATTR_SETPROTOCOL */ + +/* Define to 1 if you have the `pthread_mutexattr_setrobust_np' function. */ +/* #undef HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP */ + +/* Define to 1 if you have the `pthread_mutex_consistent_np' function. */ +/* #undef HAVE_PTHREAD_MUTEX_CONSISTENT_NP */ + +/* Define to 1 if you have the `pthread_rwlockattr_setkind_np' function. */ +/* #undef HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_PWD_H 1 + +/* Define to 1 if you have the `pwrite' function. */ +#define HAVE_PWRITE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_RPC_RPC_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_RPC_XDR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the `semtimedop' function. */ +#define HAVE_SEMTIMEDOP 1 + +/* Define to 1 if the system has the type `semun'. */ +/* #undef HAVE_SEMUN */ + +/* Define to 1 if you have the `sem_init' function. */ +#define HAVE_SEM_INIT 1 + +/* Define to 1 if you have the `sem_timedwait' function. */ +#define HAVE_SEM_TIMEDWAIT 1 + +/* Define to 1 if you have the `setitimer' function. */ +#define HAVE_SETITIMER 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SETJMP_H 1 + +/* Define to 1 if you have the `setmntent' function. */ +#define HAVE_SETMNTENT 1 + +/* Define to 1 if you have the `setpgid' function. */ +#define HAVE_SETPGID 1 + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT 1 + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `sigset' function. */ +/* #undef HAVE_SIGSET */ + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SOCKET_H */ + +/* Define to 1 if the system has the type `socklen_t'. */ +#define HAVE_SOCKLEN_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror_r' function. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the `stricmp' function. */ +/* #undef HAVE_STRICMP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strnicmp' function. */ +/* #undef HAVE_STRNICMP */ + +/* Define this if struct dirent has d_type */ +#define HAVE_STRUCT_DIRENT_D_TYPE 1 + +/* Define to 1 if the system has the type `struct xdr_ops'. */ +#define HAVE_STRUCT_XDR_OPS 1 + +/* Define to 1 if the system has the type `struct XDR::xdr_ops'. */ +/* #undef HAVE_STRUCT_XDR__XDR_OPS */ + +/* Define to 1 if you have the `swab' function. */ +#define HAVE_SWAB 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* + * For SYS_gettid + * Define to 1 if you have the header file + * MANUALLY ADDED + */ +#define HAVE_SYS_SYSCALL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MNTENT_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MNTTAB_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MOUNT_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SIGINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SIGNAL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SOCKIO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* Deprecated in android-24 */ +#undef HAVE_SYS_TIMEB_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `tcgetattr' function. */ +#define HAVE_TCGETATTR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TERMIOS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TERMIO_H 1 + +/* Define to 1 if you have the `time' function. */ +#define HAVE_TIME 1 + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_UTIME_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VARARGS_H */ + +/* Define this if va_copy() is defined in stdarg.h */ +#define HAVE_VA_COPY 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WINSOCK2_H */ + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the file `AC_File'. */ +#define HAVE__PROC_SELF_EXE 1 + +/* Define to 1 if you have the `_swab' function. */ +/* #undef HAVE__SWAB */ + +/* Define it if compiler supports ISO syntax for thread-local storage */ +#define HAVE___THREAD 1 + +/* Define this if CPU is HPPA */ +/* #undef HPPA */ + +/* Define this if OS is HP-UX */ +/* #undef HPUX */ + +/* Define this if OS is Linux */ +#define LINUX 1 + +/* Define this if OS is NetBSD */ +/* #undef NETBSD */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef PTHREAD_CREATE_JOINABLE */ + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* Define to 1 if the `setpgrp' function takes no argument. */ +#define SETPGRP_VOID 1 + +/* Architecture is big-edian sh4 */ +/* #undef SHEB */ + +/* Extension for shared libraries */ +#define SHRLIB_EXT "so" + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 8 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 8 + + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define this if databases on raw devices should be supported */ +#define SUPPORT_RAW_DEVICES 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define this if OS is Windows NT */ +/* #undef WIN_NT */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define this if sem_init() works on the platform */ +#define WORKING_SEM_INIT 1 + +/* Number of bits in a file offset, on hosts where this is settable. */ +#define _FILE_OFFSET_BITS 64 + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to `int' if doesn't define. */ +/* #undef gid_t */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if doesn't define. */ +/* #undef uid_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ + +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +/* #undef volatile */ + +#ifdef GETTIMEOFDAY_RETURNS_TIMEZONE +#define GETTIMEOFDAY(x) gettimeofday((x), (struct timezone *)0) +#else +#define GETTIMEOFDAY(x) gettimeofday((x)) +#endif + +#ifndef HAVE_SOCKLEN_T +typedef int socklen_t; +#endif diff --git a/cross/firebird/src/make.synology.aarch64 b/cross/firebird/src/make.synology.aarch64 new file mode 100644 index 00000000000..aadd6cdb510 --- /dev/null +++ b/cross/firebird/src/make.synology.aarch64 @@ -0,0 +1,39 @@ +# vim: syntax=make +# +# This file is copied to firebird/builds/posix/ and from there is used by +# the ./configure --with-cross-build=xxx, where the resulting file name is +# firebird/builds/posix/make.xxx +# + +export CXX:=$(CROSS_TOOLCHAIN)g++ +export CC:=$(CROSS_TOOLCHAIN)gcc +export AR:=$(CROSS_TOOLCHAIN)ar +export AS:=$(CROSS_TOOLCHAIN)as +export LD:=$(CROSS_TOOLCHAIN)ld +export NM:=$(CROSS_TOOLCHAIN)nm +export OBJCOPY:=$(CROSS_TOOLCHAIN)objcopy +export OBJDUMP:=$(CROSS_TOOLCHAIN)objdump +export RANLIB:=$(CROSS_TOOLCHAIN)ranlib +export STRIP:=$(CROSS_TOOLCHAIN)strip + +# This file is loaded after makefile.defaults and we can use it to override +# variables defined therein. The AC_CFLAGS/AC_CXXFLAGS normally contains flags +# that were present in an environment during the ./configure step, which we +# do not want here, because the configure flags were for cross1 native step. +export AC_CFLAGS := +export AC_CXXFLAGS := + +COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DARM64 -pipe -MMD \ + -fPIC -fmessage-length=0 -fsigned-char + +OPTIMIZE_FLAGS=-fno-omit-frame-pointer +WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable + +PROD_FLAGS=$(COMMON_FLAGS) $(OPTIMIZE_FLAGS) +DEV_FLAGS=$(COMMON_FLAGS) $(WARN_FLAGS) + +CROSS_CONFIG=synology.aarch64.h + +.PHONY: prerequisites +prerequisites: + diff --git a/cross/firebird/src/make.synology.armv7 b/cross/firebird/src/make.synology.armv7 new file mode 100644 index 00000000000..8bd8c452e6c --- /dev/null +++ b/cross/firebird/src/make.synology.armv7 @@ -0,0 +1,40 @@ +# vim: syntax=make +# +# This file is copied to firebird/builds/posix/ and from there is used by +# the ./configure --with-cross-build=xxx, where the resulting file name is +# firebird/builds/posix/make.xxx +# + +export CXX:=$(CROSS_TOOLCHAIN)g++ +export CC:=$(CROSS_TOOLCHAIN)gcc +export AR:=$(CROSS_TOOLCHAIN)ar +export AS:=$(CROSS_TOOLCHAIN)as +export LD:=$(CROSS_TOOLCHAIN)ld +export NM:=$(CROSS_TOOLCHAIN)nm +export OBJCOPY:=$(CROSS_TOOLCHAIN)objcopy +export OBJDUMP:=$(CROSS_TOOLCHAIN)objdump +export RANLIB:=$(CROSS_TOOLCHAIN)ranlib +export STRIP:=$(CROSS_TOOLCHAIN)strip + +# This file is loaded after makefile.defaults and we can use it to override +# variables defined therein. The AC_CFLAGS/AC_CXXFLAGS normally contains flags +# that were present in an environment during the ./configure step, which we +# do not want here, because the configure flags were for cross1 native step. +export AC_CFLAGS := +export AC_CXXFLAGS := + +COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DARM -pipe -MMD \ + -fPIC -fmessage-length=0 -fsigned-char + + +OPTIMIZE_FLAGS=-fno-omit-frame-pointer +WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable + +PROD_FLAGS=$(COMMON_FLAGS) $(OPTIMIZE_FLAGS) +DEV_FLAGS=$(COMMON_FLAGS) $(WARN_FLAGS) + +CROSS_CONFIG=synology.armv7.h + +.PHONY: prerequisites +prerequisites: + diff --git a/cross/firebird/src/make.synology.x64 b/cross/firebird/src/make.synology.x64 new file mode 100644 index 00000000000..5ef25579ea3 --- /dev/null +++ b/cross/firebird/src/make.synology.x64 @@ -0,0 +1,41 @@ +# vim: syntax=make +# +# This file is copied to firebird/builds/posix/ and from there is used by +# the ./configure --with-cross-build=xxx, where the resulting file name is +# firebird/builds/posix/make.xxx +# + +export CXX:=$(CROSS_TOOLCHAIN)g++ +export CC:=$(CROSS_TOOLCHAIN)gcc +export AR:=$(CROSS_TOOLCHAIN)ar +export AS:=$(CROSS_TOOLCHAIN)as +export LD:=$(CROSS_TOOLCHAIN)ld +export NM:=$(CROSS_TOOLCHAIN)nm +export OBJCOPY:=$(CROSS_TOOLCHAIN)objcopy +export OBJDUMP:=$(CROSS_TOOLCHAIN)objdump +export RANLIB:=$(CROSS_TOOLCHAIN)ranlib +export STRIP:=$(CROSS_TOOLCHAIN)strip + +# This file is loaded after makefile.defaults and we can use it to override +# variables defined therein. The AC_CFLAGS/AC_CXXFLAGS normally contains flags +# that were present in an environment during the ./configure step, which we +# do not want here, because the configure flags were for cross1 native step. +export AC_CFLAGS := +export AC_CXXFLAGS := + +COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0 + +OPTIMIZE_FLAGS=-fno-omit-frame-pointer +WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable + +PROD_FLAGS=$(COMMON_FLAGS) $(OPTIMIZE_FLAGS) +DEV_FLAGS=$(COMMON_FLAGS) $(WARN_FLAGS) + +CROSS_CONFIG=synology.x64.h + +.PHONY: prerequisites +prerequisites: + +# This file must be compiled with SSE4.2 support +%/CRC32C.o: COMMON_FLAGS += -msse4 + diff --git a/native/libtool/Makefile b/native/libtool/Makefile new file mode 100644 index 00000000000..9f6acc8f273 --- /dev/null +++ b/native/libtool/Makefile @@ -0,0 +1,18 @@ +PKG_NAME = libtool +PKG_VERS = 2.4.7 +PKG_EXT = tar.xz +PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://ftp.gnu.org/gnu/libtool +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +DEPENDS = + +HOMEPAGE = https://www.gnu.org/software/libtool/ +COMMENT = GNU Libtool is a generic library support script that hides the complexity of using shared libraries behind a consistent, portable interface. +LICENSE = GPLv2 + +GNU_CONFIGURE = 1 +CONFIGURE_ARGS = --disable-static +ADDITIONAL_CFLAGS = -O + +include ../../mk/spksrc.native-cc.mk diff --git a/native/libtool/digests b/native/libtool/digests new file mode 100644 index 00000000000..e8cf9fb8a0b --- /dev/null +++ b/native/libtool/digests @@ -0,0 +1,3 @@ +libtool-2.4.7.tar.xz SHA1 0c90f1b046ea9cd7b32a4b5a6a9df4b46ddb637a +libtool-2.4.7.tar.xz SHA256 4f7f217f057ce655ff22559ad221a0fd8ef84ad1fc5fcb6990cecc333aa1635d +libtool-2.4.7.tar.xz MD5 2fc0b6ddcd66a89ed6e45db28fa44232 diff --git a/spk/firebird/Makefile b/spk/firebird/Makefile new file mode 100644 index 00000000000..500d46bfd3e --- /dev/null +++ b/spk/firebird/Makefile @@ -0,0 +1,29 @@ +SPK_NAME = firebird +SPK_VERS = 4.0.3 +SPK_ICON = src/firebird.png +SPK_REV = 1 + +DEPENDS = cross/$(SPK_NAME) + +DISPLAY_NAME = FirebirdSQL +DESCRIPTION = Firebird is a relational database with excelent concurrency and high performance. +CHANGELOG = "Add FirebirdSQL DB server in version 4.0.3" +HOMEPAGE = https://firebirdsql.org/ +MAINTAINER = vitkabele +LICENSE = MPL + +OS_MIN_VERS = 7.0 +REQUIRED_MIN_DSM = 7.0 +REQUIRED_MAX_DSM = 7.1 + +WIZARDS_DIR = src/wizard + +# Startable service properties +STARTABLE = yes +SERVICE_SETUP = src/service-setup.sh +SERVICE_USER = auto +SERVICE_PORT = 3050 +SERVICE_PORT_TITLE = $(DISPLAY_NAME) + +include ../../mk/spksrc.spk.mk + diff --git a/spk/firebird/src/firebird.png b/spk/firebird/src/firebird.png new file mode 100755 index 00000000000..3e4e42df779 Binary files /dev/null and b/spk/firebird/src/firebird.png differ diff --git a/spk/firebird/src/service-setup.sh b/spk/firebird/src/service-setup.sh new file mode 100644 index 00000000000..dbb02073712 --- /dev/null +++ b/spk/firebird/src/service-setup.sh @@ -0,0 +1,105 @@ +# Fbguard binary is a wrapper around firebird that allows it to run as +# a daemon +FBGUARD_BIN_FILE="${SYNOPKG_PKGDEST}/bin/fbguard" +FB_SECDB="${SYNOPKG_PKGVAR}/security4.fdb" + +# We set onetime because we want the systemd to take care about the failures +SERVICE_COMMAND="${FBGUARD_BIN_FILE} -pidfile ${PID_FILE} -daemon -onetime" + +SYSDBA_PASSWORD_FILE="${SYNOPKG_PKGVAR}/SYSDBA.password" + +validate_preupgrade () { + # We must check that either SYSDBA.password or the security database + # exists. + # If neither of them is present, we don't know how to set the main + # DB password. + [ -f "$SYSDBA_PASSWORD_FILE" ] || [ -f "$FB_SECDB" ] || { + echo "Neither SYSDBA.password nor security4.fdb exists." + exit 1; + }; +} + +gen_password() { + head -c20 /dev/urandom | base64 +} + +service_postinst () { + cd "$SYNOPKG_PKGDEST" + SET_PASSWD=false + SECDB_CREATED=false + + # =================== Build Messages ======================== + # Build the firebird.msg file during both install and upgrade. + # The messages differ across versions and must always match the binaries + # version. + # Building the messages should be first step because the tools used here + # later are already expectine the message file to exist. + bin/gbak -rep msg.gbak msg.fdb + bin/build_file + + # Publish the message file so that other users can use isql + # (isql and other cli tools access the file to translate sql errors) + chmod go+r firebird.msg + + echo "Remove unnecessary intermediate files" + rm -f bin/build_file msg.gbak msg.fdb + + # =================== Build Security Database =============== + # Build security database only when none is present yet or we are being + # installed + if [ ! -f "$FB_SECDB" ] || [ "$SYNOPKG_PKG_STATUS" = "INSTALL" ];then + bin/gbak -rep security4.gbak "$FB_SECDB" + + # We just built the security database. We must also set the password. + SECDB_CREATED=true + fi + + # We already built the DB. This is no longer needed. + rm -f security4.gbak + + # =================== Set SYSDBA password =================== + # + # Setting the SYSDBA password is somewhat tricky: + # - When being installed from the UI, the password is provided by the wizard + # - When being installed from cli, no wizard runs and we get empty string + # in such case we generate new password and announce it in the log. + # - When upgrading, we usually don't have to do anything, unless the user + # deleted the security database and is re-installing the package + # to fix it. Then: + # o We either use the password from SYSDBA.password file (if it exists) + # o Or generate new random password and announce it in the log. + # - Upgrades where security.db exists are best because we don't do anything. + # + if [ "$SYNOPKG_PKG_STATUS" = "INSTALL" ]; then + if [ "x$wizard_sysdba_password" = "x" ]; then + # User provided new password. We override the password file even + # if it exists because the user expects to have the new password. + gen_password > "$SYSDBA_PASSWORD_FILE"; + else + # Use the users password + printf "%s" "$wizard_sysdba_password" > "$SYSDBA_PASSWORD_FILE" + fi + SET_PASSWD=true + else #UPGRADING + if $SECDB_CREATED && [ ! -f "$SYSDBA_PASSWORD_FILE" ]; then + # We are upgrading/re-installing and the user deleted + # both the password file and the database file + gen_password > "$SYSDBA_PASSWORD_FILE"; + SET_PASSWD=true + fi + fi + + # =================== Set SYSDBA password =================== + if "$SET_PASSWD"; then + # The file must exist otherwise we wouldn't be here + SYSDBA_PASSWORD="$(cat "$SYSDBA_PASSWORD_FILE")" + + echo "Setting 'SYSDBA' password to '${SYSDBA_PASSWORD}'"; + + # The security.db here refers to the database alias defined in + # databases.conf and does not reflect the real file location + echo "create or alter user SYSDBA password '$SYSDBA_PASSWORD' using plugin Srp; commit; quit;" \ + | bin/isql -user sysdba security.db + fi +} + diff --git a/spk/firebird/src/wizard/install_uifile b/spk/firebird/src/wizard/install_uifile new file mode 100644 index 00000000000..a4c49338c26 --- /dev/null +++ b/spk/firebird/src/wizard/install_uifile @@ -0,0 +1,21 @@ +[ + { + "step_title": "Configuration of FirebirdSQL server", + "items": [ + { + "type": "password", + "desc": "SYSDBA user (the Firebird administrator account)", + "subitems": [ + { + "key": "wizard_sysdba_password", + "desc": "Password", + "validator": { + "allowBlank": false + } + } + ] + } + ] + } +] +