mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 22:43:03 +01:00
ab42db972a
Standard new operator will alloc memory from the external pool. FB_NEW will alloc memory from the default pool. The difference of the external pool to the default pool is that the external pool is only freed during unload when there is no memory allocated from it. If the external pool destructor is called before objects that allocated memory from it, it's placed in special DYING state. When in DYING state its desallocation is deferred to the moment the last memory allocated is freed from it.
89 lines
3.0 KiB
Plaintext
89 lines
3.0 KiB
Plaintext
# The contents of this file are subject to the Interbase Public
|
|
# License Version 1.0 (the "License"); you may not use this file
|
|
# except in compliance with the License. You may obtain a copy
|
|
# of the License at http://www.Inprise.com/IPL.html
|
|
#
|
|
# Software distributed under the License is distributed on an
|
|
# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
|
|
# or implied. See the License for the specific language governing
|
|
# rights and limitations under the License.
|
|
#
|
|
# The Original Code was created by Inprise Corporation
|
|
# and its predecessors. Portions created by Inprise Corporation are
|
|
# Copyright (C) Inprise Corporation.
|
|
#
|
|
# All Rights Reserved.
|
|
# Contributor(s): Paul Beach, Jerry Adair, Bill Oliver
|
|
#
|
|
|
|
# Compiler settings for HPUX using aCC
|
|
|
|
# Notes:
|
|
|
|
# Firebird requires the HP-UX Atomic APIs ("AtomicAPI" bundle), released as an
|
|
# optional Software Pack (SPK) for HP-UX 11i v2 or v3.
|
|
|
|
# Before attempting the HPUX build, you must export necessary
|
|
# CFLAGS and CXXFLAGS to be picked up by the configure process and
|
|
# subsequent build. Make sure CC is in the path!
|
|
#
|
|
# for typical 64-bit build
|
|
# export CC=cc
|
|
# export CXX=CC
|
|
# export CFLAGS="+DD64"
|
|
# export CXXFLAGS=$CFLAGS
|
|
|
|
# Useful predefined macros from HP aCC
|
|
# __HP_aCC, identifies the HP aC++ compiler driver version
|
|
# __HP_cc, identifies the HP C compiler driver version
|
|
# _ILP32, defined for +DD32
|
|
# _LP64, defined for +DD64
|
|
# __hpux
|
|
# __hppa, defined for PA RISC
|
|
# __ia64, defined for IA-64
|
|
# __unix
|
|
|
|
# Common flags shared by production and debug build
|
|
# Suppress these warnings for now
|
|
# 2830, function "operator new..." has no corresponding operator delete
|
|
# 4232, conversion to a more strictly aligned type may cause misaligned access
|
|
# 749, cast from/to is 'reinterpret_cast'. This operation is non-portable
|
|
# 863, result of operation is widened
|
|
# 1042, subscript out of range
|
|
# 2175, subscript out of range (again)
|
|
# 2111, statement is unreachable (used to suppress g++ warnings)
|
|
# 2161, unrecognized pragma (mostly FB_COMPILER_MESSAGE)
|
|
# 2177, function declared but never referenced
|
|
COMMON_FLAGS= -DHP11 -DHPUX -D_XOPEN_SOURCE_EXTENDED -D_HP_ATOMIC_INLINE \
|
|
-AA +e \
|
|
+W2830,4232,749,863,1042,2175,2111,2161,2177
|
|
|
|
# Flags specific to production or debug build...
|
|
# -z, disallow dereferencing of null pointers at runtime
|
|
|
|
ifeq ($(shell uname -m),ia64)
|
|
# ...for IA-64
|
|
PROD_FLAGS= +O2 +Onolimit +Ofltacc=strict +Ofenvaccess \
|
|
$(COMMON_FLAGS)
|
|
DEV_FLAGS= -g -z \
|
|
$(COMMON_FLAGS)
|
|
else
|
|
# ...for PA-RISC
|
|
# PA-RISC requires old version of aCC, 3.85, with different flags
|
|
PROD_FLAGS= +O2 +Onolimit +Olibcalls +Onomoveflops \
|
|
$(COMMON_FLAGS)
|
|
DEV_FLAGS= -g -z \
|
|
$(COMMON_FLAGS)
|
|
endif
|
|
|
|
# link options for HP-UX linker, /usr/bin/ld
|
|
EXE_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS) -AA +e -Wl,+concatrpath
|
|
LIB_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) -b +e -Wl,+concatrpath
|
|
|
|
# From original HPUX prefix file
|
|
LIB_LINK_RPATH= -Wl,+b,$(1)
|
|
LIB_LINK_SONAME= -Wl,+h,$(1)
|
|
LIB_LINK_MAPFILE= -Wl,-c,$(1)
|
|
|
|
UNDEF_PLATFORM=
|