mirror of
https://github.com/pocoproject/poco.git
synced 2025-04-17 23:23:47 +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
|
# see https://github.com/pocoproject/poco/issues/3073
|
||||||
GLOBAL_SYSLIBS := $(SYSLIBS)
|
GLOBAL_SYSLIBS := $(SYSLIBS)
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS = -lssl_a -lcrypto_a
|
||||||
|
else
|
||||||
SYSLIBS = -lssl -lcrypto
|
SYSLIBS = -lssl -lcrypto
|
||||||
|
endif
|
||||||
SYSLIBS += $(GLOBAL_SYSLIBS)
|
SYSLIBS += $(GLOBAL_SYSLIBS)
|
||||||
|
|
||||||
objects = Cipher CipherFactory CipherImpl CipherKey CipherKeyImpl \
|
objects = Cipher CipherFactory CipherImpl CipherKey CipherKeyImpl \
|
||||||
|
@ -13,9 +13,13 @@ else
|
|||||||
ifeq ($(POCO_CONFIG),QNX)
|
ifeq ($(POCO_CONFIG),QNX)
|
||||||
SYSLIBS += -lssl -lcrypto -lz
|
SYSLIBS += -lssl -lcrypto -lz
|
||||||
else
|
else
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||||
|
else
|
||||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
objects = genrsakey
|
objects = genrsakey
|
||||||
|
|
||||||
target = genrsakey
|
target = genrsakey
|
||||||
|
@ -13,9 +13,13 @@ else
|
|||||||
ifeq ($(POCO_CONFIG),QNX)
|
ifeq ($(POCO_CONFIG),QNX)
|
||||||
SYSLIBS += -lssl -lcrypto -lz
|
SYSLIBS += -lssl -lcrypto -lz
|
||||||
else
|
else
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||||
|
else
|
||||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
objects = CryptoTestSuite Driver \
|
objects = CryptoTestSuite Driver \
|
||||||
CryptoTest DigestEngineTest ECTest \
|
CryptoTest DigestEngineTest ECTest \
|
||||||
|
@ -49,7 +49,7 @@ using UIntPtr = std::uintptr_t;
|
|||||||
#if defined(__LP64__)
|
#if defined(__LP64__)
|
||||||
#define POCO_PTR_IS_64_BIT 1
|
#define POCO_PTR_IS_64_BIT 1
|
||||||
#define POCO_LONG_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
|
#define POCO_INT64_IS_LONG 1
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -5,8 +5,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
include $(POCO_BASE)/build/rules/global
|
include $(POCO_BASE)/build/rules/global
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS += -lssl_a -lcrypto_a
|
||||||
|
else
|
||||||
SYSLIBS += -lssl -lcrypto
|
SYSLIBS += -lssl -lcrypto
|
||||||
|
endif
|
||||||
|
|
||||||
objects = AcceptCertificateHandler RejectCertificateHandler ConsoleCertificateHandler \
|
objects = AcceptCertificateHandler RejectCertificateHandler ConsoleCertificateHandler \
|
||||||
CertificateHandlerFactory CertificateHandlerFactoryMgr \
|
CertificateHandlerFactory CertificateHandlerFactoryMgr \
|
||||||
|
@ -13,9 +13,13 @@ else
|
|||||||
ifeq ($(POCO_CONFIG),QNX)
|
ifeq ($(POCO_CONFIG),QNX)
|
||||||
SYSLIBS += -lssl -lcrypto -lz
|
SYSLIBS += -lssl -lcrypto -lz
|
||||||
else
|
else
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||||
|
else
|
||||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
objects = HTTPSTimeServer
|
objects = HTTPSTimeServer
|
||||||
|
|
||||||
|
@ -13,9 +13,13 @@ else
|
|||||||
ifeq ($(POCO_CONFIG),QNX)
|
ifeq ($(POCO_CONFIG),QNX)
|
||||||
SYSLIBS += -lssl -lcrypto -lz
|
SYSLIBS += -lssl -lcrypto -lz
|
||||||
else
|
else
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||||
|
else
|
||||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
objects = Mail
|
objects = Mail
|
||||||
|
|
||||||
|
@ -10,8 +10,12 @@ include $(POCO_BASE)/build/rules/global
|
|||||||
ifeq ($(POCO_CONFIG),FreeBSD)
|
ifeq ($(POCO_CONFIG),FreeBSD)
|
||||||
SYSLIBS += -lssl -lcrypto -lz
|
SYSLIBS += -lssl -lcrypto -lz
|
||||||
else
|
else
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||||
|
else
|
||||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
objects = SetSourceIP
|
objects = SetSourceIP
|
||||||
|
|
||||||
|
@ -13,9 +13,13 @@ else
|
|||||||
ifeq ($(POCO_CONFIG),QNX)
|
ifeq ($(POCO_CONFIG),QNX)
|
||||||
SYSLIBS += -lssl -lcrypto -lz
|
SYSLIBS += -lssl -lcrypto -lz
|
||||||
else
|
else
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||||
|
else
|
||||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
objects = Twitter TweetApp
|
objects = Twitter TweetApp
|
||||||
|
|
||||||
|
@ -13,9 +13,13 @@ else
|
|||||||
ifeq ($(POCO_CONFIG),QNX)
|
ifeq ($(POCO_CONFIG),QNX)
|
||||||
SYSLIBS += -lssl -lcrypto -lz
|
SYSLIBS += -lssl -lcrypto -lz
|
||||||
else
|
else
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||||
|
else
|
||||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
objects = download
|
objects = download
|
||||||
|
|
||||||
|
@ -13,9 +13,13 @@ else
|
|||||||
ifeq ($(POCO_CONFIG),QNX)
|
ifeq ($(POCO_CONFIG),QNX)
|
||||||
SYSLIBS += -lssl -lcrypto -lz
|
SYSLIBS += -lssl -lcrypto -lz
|
||||||
else
|
else
|
||||||
|
ifeq ($(findstring AIX, $(POCO_CONFIG)), AIX)
|
||||||
|
SYSLIBS += -lssl_a -lcrypto_a -lz -ldl
|
||||||
|
else
|
||||||
SYSLIBS += -lssl -lcrypto -lz -ldl
|
SYSLIBS += -lssl -lcrypto -lz -ldl
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
objects = NetSSLTestSuite Driver \
|
objects = NetSSLTestSuite Driver \
|
||||||
HTTPSClientSessionTest HTTPSClientTestSuite HTTPSServerTest HTTPSServerTestSuite \
|
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