* Initial implementation of replication
* Postfixes for configuration and Windows builds
* Misc Windows adjustments
* Forgotten changes from prior commits
* Last round (fingers crossed) of fixing the Windows build
* Improve self-documentation
* Misc improvements
* Updates the docs
* More configuration
* Frontported some remaining pieces
* Installation post-fixes
* Special permission for replication
* Rewritten gbak using OO API
* Make gbak correctly work with wide records (if record format to be made > 64K)
* Improve gbak performance over network using batch interface
* Enhanced template AutoPtr to make use of it more comfortable
We need to add MSG_NOSIGNAL to FB_SEND_FLAGS for ARM, too, otherwise
clients get killed with SIGPIPE when server connection breaks, just like
commit 37bcd38740 did for other platforms.
Use this opportunity to also split out common build flags to COMMON_FLAGS
variable, as the above commit did.
Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
POSIX build by default uses libintl.so.1 SONAME for libfbintl.so.1.
This means that on Linux ldconfig will make libintl.so.1 symlink to
libfbintl.so.1.
However, actual libintl is a very different library, incompatible with
libfbintl.
This breaks other software which tries to link to libintl.
Fix it by making libfbintl SONAME match its actual name.
* Add generic platform support for Linux/m68k
* Include sem_t when determining values for FB_ALIGNMENT and FB_DOUBLE_ALIGN
On m68k, 'long long' is 16-bit aligned while 'sem_t' is 32-bit aligned
and we must therefore include 'sem_t' when determining the values for
FB_ALIGNMENT and FB_DOUBLE_ALIGN. Otherwise, the futex system call
will fail on these systems.
* Don't try to include headers for __cpuid on non-x86 targets
* Make sure that the version scripts include _IO_stdin_used on Linux
The GNU C library supports two ABIs for libio, one is the pre-2.1
ABI and the other is the current one. In order to determine which
ABI is to be used, the C library checks whether the _IO_stdin_used
symbol is exported by the executable. In case the symbol is present,
the new ABI is assumed, if the symbol is missing, the old ABI is
assumed. Thus, if an application is linked against a modern version
of glibc, it must export the _IO_stdin_used symbol as otherwise the
executable can crash or provoke other unexpected behavior on some
architectures like PowerPC or MIPS because the C library is using
the old ABI in this case.
This change is done because using strongly-typed C++11 enums, prefixes are removed from enum items
(as they're scoped) and that has a big tendency to clash with generated parser defines.
Windows build untested.