diff --git a/cross/firebird/Makefile b/cross/firebird/Makefile new file mode 100644 index 000000000000..f7f25b2b5f24 --- /dev/null +++ b/cross/firebird/Makefile @@ -0,0 +1,79 @@ +PKG_NAME = firebird +PKG_VERS = 4.0.2 +PKG_EXT = tar.gz +PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://github.com/FirebirdSQL/firebird/archive/refs/tags/ +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +DEPENDS = cross/zlib native/libicu native/libtomcrypt native/libtommath + +UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) $(ARMv7_ARCHS) + +include ../../mk/spksrc.common.mk + +# Currently v4.0.2 works only with 7.1 +# DSM 7.2 has issues with GLIBC version +ifeq ($(call version_lt,${TC_VERS},7.0)$(call version_gt,${TC_VERS},7.1),11) +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 + +INSTALL_TARGET = firebird_install + +# 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 --without-editline --with-cross-build=synology --prefix=$(INSTALL_PREFIX) + +NATIVE_LIBICU_DIR := $(WORK_DIR)/../../../native/libicu/work-native/install/usr/local +NATIVE_LIBTOMCRYPT_DIR := $(WORK_DIR)/../../../native/libtomcrypt/work-native/install/usr/local +NATIVE_LIBTOMMATH_DIR := $(WORK_DIR)/../../../native/libtommath/work-native/install/usr/local + +# CFLAGS and CXXFLAGS for cross1 compile stage +NATIVE_CFLAGS := -I$(NATIVE_LIBICU_DIR)/include -I$(NATIVE_LIBTOMCRYPT_DIR)/include -I$(NATIVE_LIBTOMMATH_DIR)/include \ + -L$(NATIVE_LIBICU_DIR)/lib -L$(NATIVE_LIBTOMCRYPT_DIR)/lib -L$(NATIVE_LIBTOMMATH_DIR)/lib + +# The cross1 phase not only compiles the binaries against the libtom libraries, +# but also executes them. We must provide the -rpath to linker so the libs +# are found during runtime +NATIVE_LDFLAGS := -Wl,-rpath,$(NATIVE_LIBTOMCRYPT_DIR)/lib -Wl,-rpath,$(NATIVE_LIBTOMMATH_DIR)/lib + +# CFLAGS for the cross2 build phase +CROSS_CFLAGS=-Wno-invalid-offsetof + +# This ENV is for cross1 phase where we build native target +# CROSS_ prefixed vars are for the cross2 phase and we "strip" the CROSS_ prefix +# in our provided src/makefile.xxx +ENV = CC= LD= \ + CFLAGS="$(NATIVE_CFLAGS)" \ + CXXFLAGS="$(NATIVE_CFLAGS)" \ + LDFLAGS="$(NATIVE_LDFLAGS)" \ + CROSS_TOOLCHAIN=$(TC_PATH)$(TC_PREFIX) \ + CROSS_CFLAGS="$(CROSS_CFLAGS)" + +.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/ + $(RUN) NOCONFIGURE=1 ./autogen.sh + +.PHONY: firebird_install +firebird_install: + $(RUN) make 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 000000000000..e5c7bba30041 --- /dev/null +++ b/cross/firebird/PLIST @@ -0,0 +1,48 @@ +rsc:CHANGELOG.md +rsc:IDPLicense.txt +rsc:IPLicense.txt +rsc:README.md +rsc:bin/FirebirdUninstall.sh +rsc:bin/changeServerMode.sh +rsc:bin/fb_config +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/gpre +bin:bin/gsec +bin:bin/gsplit +bin:bin/gstat +bin:bin/isql +bin:bin/nbackup +bin:bin/qli +rsc:bin/registerDatabase.sh +rsc:databases.conf +rsc:fbtrace.conf +rsc:firebird.conf +rsc:help/help.gbak +rsc:intl/fbintl +rsc:intl/fbintl.conf +lnk:lib/libfbclient.so +lnk:lib/libfbclient.so.2 +lib:lib/libfbclient.so.4.0.2 +lib:lib/libib_util.so +rsc:misc/intl.sql +rsc:misc/rc.config.firebird +rsc:misc/upgrade/udf/udf_replace.sql +rsc:misc/upgrade/udf/udf_replace.txt +rsc: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:replication.conf diff --git a/cross/firebird/digests b/cross/firebird/digests new file mode 100644 index 000000000000..cecfb6923514 --- /dev/null +++ b/cross/firebird/digests @@ -0,0 +1,3 @@ +v4.0.2.tar.gz SHA1 c0ba59179feb4ee3068403fe3a0e1d5e6f046cb1 +v4.0.2.tar.gz SHA256 756428b86bb9a20f0117e0ea4cf499c79214c5c15a3a31ebddd8c95ded66db3d +v4.0.2.tar.gz MD5 4fd0b0726752545605e6297857bc0106 diff --git a/cross/firebird/patches/0001-remove-extauth-plugin.patch b/cross/firebird/patches/0001-remove-extauth-plugin.patch new file mode 100644 index 000000000000..d1ce6c2a300f --- /dev/null +++ b/cross/firebird/patches/0001-remove-extauth-plugin.patch @@ -0,0 +1,14 @@ +# Do not build the extauth plugin, because it cannot refer to native/libtomcrypt +# It can only work with the builtin tomcrypt or the system-wide. +# There is no way how to pass CFLAGS with -I to this makefile as it overrides them +--- Makefile.in.examples 2023-07-25 09:09:56.598749645 +0000 ++++ builds/posix/Makefile.in.examples 2022-08-08 00:08:06.000000000 +0000 +@@ -90,7 +90,7 @@ EXTAUTH_PLUGIN= $(EXAMPLES_FB)/prebuilt/ + all: examples + + # examples: $(EMPLOYEE_DB) $(INTLEMP_DB) $(EXAMPLES_FB)/README +-examples: $(FINAL_EMPDB) $(EXAMPLES_FB)/README $(EXTAUTH_PLUGIN) ++examples: $(FINAL_EMPDB) $(EXAMPLES_FB)/README + + $(EXTAUTH_PLUGIN): $(EXAMPLES_FB)/extauth/Makefile + $(MAKE) -C $(EXAMPLES_FB)/extauth OUT=$(EXAMPLES_FB)/prebuilt INTERMED=$(TMP_ROOT)/examples/extauth diff --git a/cross/firebird/src/cross_config/synology.x86_64.h b/cross/firebird/src/cross_config/synology.x86_64.h new file mode 100644 index 000000000000..5265ffe24b6b --- /dev/null +++ b/cross/firebird/src/cross_config/synology.x86_64.h @@ -0,0 +1,666 @@ +/* + * 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 + +/* Define this if OS is DARWIN */ +/* #undef DARWIN */ + +/* 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 "/opt/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 b/cross/firebird/src/make.synology new file mode 100644 index 000000000000..6e0183efcb15 --- /dev/null +++ b/cross/firebird/src/make.synology @@ -0,0 +1,34 @@ +# 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 +# + +CXX:=$(CROSS_TOOLCHAIN)g++ +CC:=$(CROSS_TOOLCHAIN)gcc +AR:=$(CROSS_TOOLCHAIN)ar +AS:=$(CROSS_TOOLCHAIN)as +LD:=$(CROSS_TOOLCHAIN)ld +NM:=$(CROSS_TOOLCHAIN)nm +OBJCOPY:=$(CROSS_TOOLCHAIN)objcopy +OBJDUMP:=$(CROSS_TOOLCHAIN)objdump +RANLIB:=$(CROSS_TOOLCHAIN)ranlib +STRIP:=$(CROSS_TOOLCHAIN)strip + +COMMON_FLAGS=$(CROSS_CFLAGS) -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.x86_64.h + +.PHONY: prerequisites +prerequisites: + +# This file must be compiled with SSE4.2 support +%/CRC32C.o: COMMON_FLAGS += -msse4 +