mirror of
https://github.com/pocoproject/poco.git
synced 2025-04-15 14:43:32 +02:00
Fix Aix Build (#3860)
* Fix : Aix System NumberFormatter Build Error * Fix : Aix System OpenSSL 3.0 Build Support - https://github.com/openssl/openssl/blob/openssl-3.0.0/NOTES-UNIX.md?plain=1#L110 * Add : Aix System Gcc Build Support * Revert "Add : Aix System Gcc Build Support" This reverts commit b9a4b90e39ed0a6514a1fe24ae5564560553876b. * Add : Aix System Gcc Build Support
This commit is contained in:
parent
0fd1749b81
commit
5430b4c5b6
@ -8,7 +8,11 @@ include $(POCO_BASE)/build/rules/global
|
||||
|
||||
# see https://github.com/pocoproject/poco/issues/3073
|
||||
GLOBAL_SYSLIBS := $(SYSLIBS)
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS = -lssl_a -lcrypto_a
|
||||
else
|
||||
SYSLIBS = -lssl -lcrypto
|
||||
endif
|
||||
SYSLIBS += $(GLOBAL_SYSLIBS)
|
||||
|
||||
objects = Cipher CipherFactory CipherImpl CipherKey CipherKeyImpl \
|
||||
|
@ -13,9 +13,13 @@ else
|
||||
ifeq ($(POCO_CONFIG),QNX)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
objects = genrsakey
|
||||
|
||||
target = genrsakey
|
||||
|
@ -13,9 +13,13 @@ else
|
||||
ifeq ($(POCO_CONFIG),QNX)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
objects = CryptoTestSuite Driver \
|
||||
CryptoTest DigestEngineTest ECTest \
|
||||
|
@ -49,7 +49,7 @@ using UIntPtr = std::uintptr_t;
|
||||
#if defined(__LP64__)
|
||||
#define POCO_PTR_IS_64_BIT 1
|
||||
#define POCO_LONG_IS_64_BIT 1
|
||||
#if POCO_OS == POCO_OS_LINUX || POCO_OS == POCO_OS_FREE_BSD || POCO_OS == POCO_OS_ANDROID
|
||||
#if POCO_OS == POCO_OS_LINUX || POCO_OS == POCO_OS_FREE_BSD || POCO_OS == POCO_OS_ANDROID || POCO_OS == POCO_OS_AIX
|
||||
#define POCO_INT64_IS_LONG 1
|
||||
#endif
|
||||
#endif
|
||||
|
@ -5,8 +5,11 @@
|
||||
#
|
||||
|
||||
include $(POCO_BASE)/build/rules/global
|
||||
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto
|
||||
endif
|
||||
|
||||
objects = AcceptCertificateHandler RejectCertificateHandler ConsoleCertificateHandler \
|
||||
CertificateHandlerFactory CertificateHandlerFactoryMgr \
|
||||
|
@ -13,9 +13,13 @@ else
|
||||
ifeq ($(POCO_CONFIG),QNX)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
objects = HTTPSTimeServer
|
||||
|
||||
|
@ -13,9 +13,13 @@ else
|
||||
ifeq ($(POCO_CONFIG),QNX)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
objects = Mail
|
||||
|
||||
|
@ -10,8 +10,12 @@ include $(POCO_BASE)/build/rules/global
|
||||
ifeq ($(POCO_CONFIG),FreeBSD)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
|
||||
objects = SetSourceIP
|
||||
|
||||
|
@ -13,9 +13,13 @@ else
|
||||
ifeq ($(POCO_CONFIG),QNX)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
objects = Twitter TweetApp
|
||||
|
||||
|
@ -13,9 +13,13 @@ else
|
||||
ifeq ($(POCO_CONFIG),QNX)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
objects = download
|
||||
|
||||
|
@ -13,9 +13,13 @@ else
|
||||
ifeq ($(POCO_CONFIG),QNX)
|
||||
SYSLIBS += -lssl -lcrypto -lz
|
||||
else
|
||||
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||
else
|
||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
objects = NetSSLTestSuite Driver \
|
||||
HTTPSClientSessionTest HTTPSClientTestSuite HTTPSServerTest HTTPSServerTestSuite \
|
||||
|
82
build/config/AIX-GCC
Normal file
82
build/config/AIX-GCC
Normal file
@ -0,0 +1,82 @@
|
||||
#
|
||||
# AIX-GCC
|
||||
#
|
||||
# Make settings for AIX6.x/gcc 5.5
|
||||
#
|
||||
#
|
||||
|
||||
#
|
||||
# General Settings
|
||||
#
|
||||
LINKMODE ?= SHARED
|
||||
|
||||
SANITIZEFLAGS ?=
|
||||
|
||||
#
|
||||
# Define Tools
|
||||
#
|
||||
CC = ${CROSS_COMPILE}gcc
|
||||
CXX = ${CROSS_COMPILE}g++
|
||||
LINK = $(CXX)
|
||||
LIB = $(CROSS_COMPILE)ar -cr -X32_64
|
||||
RANLIB = $(CROSS_COMPILE)ranlib
|
||||
## Please note: AIX does NOT have library versioning per se (there is no 'SONAME' capability).
|
||||
SHLIB = $(CXX) $(LDFLAGS) -shared -Wl,-bexpfull -o $@
|
||||
SHLIBLN = $(POCO_BASE)/build/script/shlibln
|
||||
STRIP = $(CROSS_COMPILE)strip -X32_64
|
||||
DEP = $(POCO_BASE)/build/script/makedepend.gcc
|
||||
SHELL = sh
|
||||
RM = rm -rf
|
||||
CP = cp
|
||||
MKDIR = mkdir -p
|
||||
LDFLAGS += -Wl,-bbigtoc
|
||||
|
||||
## http://www.ibm.com/developerworks/aix/library/au-gnu.html:
|
||||
## > "/Using -brtl, the AIX linker will look for libraries with both the .a and
|
||||
## > .so extensions, such as libfoo.a and libfoo.so.
|
||||
## > Without -brtl, the AIX linker looks only for libfoo.a
|
||||
#
|
||||
# Extension for Shared Libraries
|
||||
#
|
||||
SHAREDLIBEXT = .so.$(target_version)
|
||||
SHAREDLIBLINKEXT = .a
|
||||
|
||||
#
|
||||
# Compiler and Linker Flags
|
||||
#
|
||||
CFLAGS = $(SANITIZEFLAGS) -std=c11
|
||||
CFLAGS32 = -maix32
|
||||
CFLAGS64 = -maix64
|
||||
CXXFLAGS = $(SANITIZEFLAGS) -std=c++14 -Wno-sign-compare
|
||||
CXXFLAGS32 = -maix32
|
||||
CXXFLAGS64 = -maix64
|
||||
SHLIBFLAGS = -Wl,-bh:5 -Wl,-bnoipath -Wl,-blibpath:/usr/lib:/lib -Wl,-blibsuff:so -Wl,-bautoexp -Wl,-bnoentry -Wl,-bM:SRE
|
||||
SHLIBFLAGS32 = -maix32
|
||||
SHLIBFLAGS64 = -maix64
|
||||
LINKFLAGS = $(SANITIZEFLAGS) -Wl,-bh:5 -Wl,-bnoipath -Wl,-blibpath:/usr/lib:/lib -Wl,-blibsuff:so -Wl,-brtl
|
||||
LINKFLAGS32 = -maix32
|
||||
LINKFLAGS64 = -maix64
|
||||
STATICOPT_CC =
|
||||
STATICOPT_CXX =
|
||||
STATICOPT_LINK =
|
||||
SHAREDOPT_CC = -fPIC
|
||||
SHAREDOPT_CXX = -fPIC
|
||||
SHAREDOPT_LINK =
|
||||
DEBUGOPT_CC = -g -D_DEBUG
|
||||
DEBUGOPT_CXX = -g -D_DEBUG
|
||||
DEBUGOPT_LINK = -g
|
||||
RELEASEOPT_CC = -O2 -DNDEBUG
|
||||
RELEASEOPT_CXX = -O2 -DNDEBUG
|
||||
RELEASEOPT_LINK = -O2
|
||||
|
||||
#
|
||||
# System Specific Flags
|
||||
#
|
||||
# Please note: add -v flag : print out how gcc performs compilation on the screen.
|
||||
# see https://github.com/pocoproject/poco/issues/3795
|
||||
SYSFLAGS = -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS
|
||||
#
|
||||
# System Specific Libraries
|
||||
#
|
||||
# -pthread is just that it should always be passed for a program using threads on AIX. -lpthread is not enough most of the time
|
||||
SYSLIBS = -pthread -latomic -ldl
|
Loading…
x
Reference in New Issue
Block a user