mirror of
https://github.com/awslabs/aws-crt-php.git
synced 2026-08-18 01:57:13 +00:00
Added CRT submodules, updated autoconf (#3)
* Added CRT submodules * Added automake config * Use Makefile.frag
This commit is contained in:
@@ -192,3 +192,4 @@ config.h
|
|||||||
config.nice
|
config.nice
|
||||||
*.la
|
*.la
|
||||||
Makefile*
|
Makefile*
|
||||||
|
!Makefile.am
|
||||||
|
|||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
[submodule "aws-c-common"]
|
||||||
|
path = crt/aws-c-common
|
||||||
|
url = https://github.com/awslabs/aws-c-common.git
|
||||||
|
[submodule "aws-c-io"]
|
||||||
|
path = crt/aws-c-io
|
||||||
|
url = https://github.com/awslabs/aws-c-io.git
|
||||||
|
[submodule "aws-c-http"]
|
||||||
|
path = crt/aws-c-http
|
||||||
|
url = https://github.com/awslabs/aws-c-http.git
|
||||||
|
[submodule "aws-c-compression"]
|
||||||
|
path = crt/aws-c-compression
|
||||||
|
url = https://github.com/awslabs/aws-c-compression.git
|
||||||
|
[submodule "aws-c-auth"]
|
||||||
|
path = crt/aws-c-auth
|
||||||
|
url = https://github.com/awslabs/aws-c-auth.git
|
||||||
|
[submodule "aws-c-cal"]
|
||||||
|
path = crt/aws-c-cal
|
||||||
|
url = https://github.com/awslabs/aws-c-cal.git
|
||||||
|
[submodule "s2n"]
|
||||||
|
path = crt/s2n
|
||||||
|
url = https://github.com/awslabs/s2n.git
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
|
||||||
|
INSTALL_DIR=$(shell pwd)/build/install
|
||||||
|
|
||||||
|
crt_libs=$(INSTALL_DIR)/lib/libaws-c-common.a \
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-cal.a \
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-io.a \
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-compression.a \
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-http.a \
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-auth.a \
|
||||||
|
$(INSTALL_DIR)/lib/libs2n.a
|
||||||
|
|
||||||
|
crt-static: $(crt_libs) $(INSTALL_DIR)/lib/libcrypto.a
|
||||||
|
|
||||||
|
build/deps/openssl:
|
||||||
|
@echo Fetching libcrypto source
|
||||||
|
git clone --depth=1 --single-branch --branch OpenSSL_1_1_1-stable https://github.com/openssl/openssl.git build/deps/openssl
|
||||||
|
|
||||||
|
$(INSTALL_DIR)/lib/libcrypto.a: build/deps/openssl
|
||||||
|
@echo Building libcrypto
|
||||||
|
cd build/deps/openssl && \
|
||||||
|
./config -fPIC no-md2 no-rc5 no-rfc3779 no-sctp no-ssl-trace no-zlib no-hw no-mdc2 no-seed no-idea \
|
||||||
|
no-camellia no-bf no-dsa no-ssl3 no-capieng \
|
||||||
|
-DSSL_FORBID_ENULL -DOPENSSL_NO_DTLS1 -DOPENSSL_NO_HEARTBEATS \
|
||||||
|
--prefix=$(INSTALL_DIR) --openssldir=$(INSTALL_DIR) && \
|
||||||
|
make -j && \
|
||||||
|
make install_sw
|
||||||
|
|
||||||
|
|
||||||
|
CMAKE_CONFIGURE = cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCMAKE_PREFIX_PATH=$(INSTALL_DIR) -DBUILD_TESTING=OFF
|
||||||
|
CMAKE_BUILD = cmake --build
|
||||||
|
CMAKE_BUILD_TYPE ?= RelWithDebInfo
|
||||||
|
CMAKE_TARGET = --config $CMAKE_BUILD_TYPE --target install
|
||||||
|
|
||||||
|
build/aws-c-common/CMakeCache.txt: $(INSTALL_DIR)/lib/libcrypto.a
|
||||||
|
$(CMAKE_CONFIGURE) -Hcrt/aws-c-common -Bbuild/aws-c-common
|
||||||
|
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-common.a: build/aws-c-common/CMakeCache.txt
|
||||||
|
$(CMAKE_BUILD) build/aws-c-common $(CMAKE_TARGET)
|
||||||
|
|
||||||
|
build/s2n/CMakeCache.txt: $(INSTALL_DIR)/lib/libcrypto.a
|
||||||
|
$(CMAKE_CONFIGURE) -Hcrt/s2n -Bbuild/s2n
|
||||||
|
|
||||||
|
$(INSTALL_DIR)/lib/libs2n.a: build/s2n/CMakeCache.txt
|
||||||
|
$(CMAKE_BUILD) build/s2n $(CMAKE_TARGET)
|
||||||
|
|
||||||
|
build/aws-c-io/CMakeCache.txt: $(INSTALL_DIR)/lib/libaws-c-common.a $(INSTALL_DIR)/lib/libcrypto.a $(INSTALL_DIR)/lib/libs2n.a
|
||||||
|
$(CMAKE_CONFIGURE) -Hcrt/aws-c-io -Bbuild/aws-c-io
|
||||||
|
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-io.a: build/aws-c-io/CMakeCache.txt
|
||||||
|
$(CMAKE_BUILD) build/aws-c-io $(CMAKE_TARGET)
|
||||||
|
|
||||||
|
build/aws-c-cal/CMakeCache.txt: $(INSTALL_DIR)/lib/libaws-c-common.a
|
||||||
|
$(CMAKE_CONFIGURE) -Hcrt/aws-c-cal -Bbuild/aws-c-cal
|
||||||
|
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-cal.a: build/aws-c-cal/CMakeCache.txt
|
||||||
|
$(CMAKE_BUILD) build/aws-c-cal $(CMAKE_TARGET)
|
||||||
|
|
||||||
|
build/aws-c-compression/CMakeCache.txt: $(INSTALL_DIR)/lib/libaws-c-common.a
|
||||||
|
$(CMAKE_CONFIGURE) -Hcrt/aws-c-compression -Bbuild/aws-c-compression
|
||||||
|
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-compression.a: build/aws-c-compression/CMakeCache.txt
|
||||||
|
$(CMAKE_BUILD) build/aws-c-compression $(CMAKE_TARGET)
|
||||||
|
|
||||||
|
build/aws-c-http/CMakeCache.txt: $(INSTALL_DIR)/lib/libaws-c-compression.a $(INSTALL_DIR)/lib/libaws-c-io.a
|
||||||
|
$(CMAKE_CONFIGURE) -Hcrt/aws-c-http -Bbuild/aws-c-http
|
||||||
|
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-http.a: build/aws-c-http/CMakeCache.txt
|
||||||
|
$(CMAKE_BUILD) build/aws-c-http $(CMAKE_TARGET)
|
||||||
|
|
||||||
|
build/aws-c-auth/CMakeCache.txt: $(INSTALL_DIR)/lib/libaws-c-http.a
|
||||||
|
$(CMAKE_CONFIGURE) -Hcrt/aws-c-auth -Bbuild/aws-c-auth
|
||||||
|
|
||||||
|
$(INSTALL_DIR)/lib/libaws-c-auth.a: build/aws-c-auth/CMakeCache.txt
|
||||||
|
$(CMAKE_BUILD) build/aws-c-auth $(CMAKE_TARGET)
|
||||||
|
|
||||||
|
# Force the crt object target to depend on all of the libraries above
|
||||||
|
src/crt.lo: crt-static
|
||||||
@@ -6,25 +6,18 @@ dnl
|
|||||||
PHP_ARG_WITH(awscrt)
|
PHP_ARG_WITH(awscrt)
|
||||||
|
|
||||||
if test "$PHP_AWSCRT" != "no"; then
|
if test "$PHP_AWSCRT" != "no"; then
|
||||||
AC_MSG_CHECKING([for libcrypto])
|
# force lib paths to be absolute, or PHP will mangle them
|
||||||
for search_path in "$AWS_LIBCRYTO_INSTALL" "$PHP_AWSCRT/build/deps/openssl" /opt/openssl /usr/local /usr; do
|
cwd=`pwd`
|
||||||
if test -f "$search_path/include/openssl/crypto.h"; then
|
CRT_LIBPATHS="-L${cwd}/build/install/lib64 -L${cwd}/build/install/lib"
|
||||||
LIBCRYPTO_PATH=$search_path
|
CRT_LIBS="-laws-c-auth -laws-c-http -laws-c-cal -laws-c-io -laws-c-compression -laws-c-common -ls2n -l:libcrypto.a"
|
||||||
break
|
PHP_EVAL_LIBLINE([$CRT_LIBPATHS $CRT_LIBS], AWSCRT_SHARED_LIBADD)
|
||||||
fi
|
|
||||||
done
|
|
||||||
if test -z "$LIBCRYPTO_PATH"; then
|
|
||||||
AC_MSG_ERROR([not found])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_RESULT([found at $LIBCRYPTO_PATH])
|
# Shoves the linker line into the Makefile
|
||||||
|
|
||||||
PHP_ADD_INCLUDE($LIBCRYPTO_PATH/include)
|
|
||||||
dnl PHP_ADD_LIBPATH($LIBCRYPTO_PATH/lib)
|
|
||||||
PHP_ADD_LIBRARY_WITH_PATH(:libcrypto.a, $LIBCRYPTO_PATH/lib, AWSCRT_SHARED_LIBADD)
|
|
||||||
|
|
||||||
AWSCRT_SOURCES=src/*.c
|
|
||||||
|
|
||||||
PHP_NEW_EXTENSION(awscrt, $AWSCRT_SOURCES, $ext_shared)
|
|
||||||
PHP_SUBST(AWSCRT_SHARED_LIBADD)
|
PHP_SUBST(AWSCRT_SHARED_LIBADD)
|
||||||
|
|
||||||
|
# Sources for the PHP extension itself
|
||||||
|
AWSCRT_SOURCES=src/*.c
|
||||||
|
PHP_NEW_EXTENSION(awscrt, $AWSCRT_SOURCES, $ext_shared)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PHP_ADD_MAKEFILE_FRAGMENT
|
||||||
|
|||||||
Submodule
+1
Submodule crt/aws-c-auth added at a492570cfd
Submodule
+1
Submodule crt/aws-c-cal added at df5da3af5b
Submodule
+1
Submodule crt/aws-c-common added at 1efe886005
Submodule
+1
Submodule crt/aws-c-compression added at 826d92cc39
Submodule
+1
Submodule crt/aws-c-http added at cad62791f1
Submodule
+1
Submodule crt/aws-c-io added at 701279844a
Submodule
+1
Submodule crt/s2n added at 2a7cebb0d7
Reference in New Issue
Block a user