|
|
|
|
@ -38,7 +38,7 @@ endif
|
|
|
|
|
STDCPP := -std=c++$(shell echo $(CPLUSPLUS) | cut -c3-4) -DCXX$(shell echo $(CPLUSPLUS) | cut -c3-4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
targets := libconfig libdaemon jemalloc mariadb_client re2 sqlite3 pcre lz4 cityhash microhttpd curl ev libssl libhttpserver libinjection prometheus-cpp postgresql libusual libscram
|
|
|
|
|
targets := libconfig libdaemon jemalloc mariadb_client re2 sqlite3 pcre lz4 cityhash microhttpd curl ev libhttpserver libinjection prometheus-cpp postgresql libusual libscram
|
|
|
|
|
ifeq ($(SYS_KERN),Linux)
|
|
|
|
|
targets += coredumper
|
|
|
|
|
endif
|
|
|
|
|
@ -69,19 +69,26 @@ endif
|
|
|
|
|
|
|
|
|
|
libinjection: libinjection/libinjection/src/libinjection.a
|
|
|
|
|
|
|
|
|
|
libssl_path := $(shell find /usr /usr/local /opt -name "libssl.so" 2>/dev/null | head -n 1)
|
|
|
|
|
|
|
|
|
|
libssl/openssl/libssl.a:
|
|
|
|
|
cd libssl && rm -rf openssl-openssl-*/ openssl-3*/ || true
|
|
|
|
|
cd libssl && tar -zxf openssl-*.tar.gz
|
|
|
|
|
cd libssl && ./verify-bio_st-match.sh
|
|
|
|
|
# cd libssl/openssl && patch crypto/ec/curve448/curve448.c < ../curve448.c-multiplication-overflow.patch
|
|
|
|
|
# cd libssl/openssl && patch crypto/asn1/a_time.c < ../a_time.c-multiplication-overflow.patch
|
|
|
|
|
cd libssl/openssl && ./config no-ssl3 no-tests
|
|
|
|
|
cd libssl/openssl && CC=${CC} CXX=${CXX} ${MAKE}
|
|
|
|
|
cd libssl/openssl && ln -fs ./ lib # curl wants this path
|
|
|
|
|
ifneq ($(libssl_path),)
|
|
|
|
|
SSL_LDIR := $(dir $(libssl_path))
|
|
|
|
|
$(info Found OpenSSL libs at $(SSL_LDIR))
|
|
|
|
|
else
|
|
|
|
|
$(error Warning: OpenSSL library not found. exiting, please install openssl.)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ssl_header_path := $(shell find /usr /usr/local /opt -name "ssl.h" -path "*/openssl/*" 2>/dev/null | head -n 1)
|
|
|
|
|
|
|
|
|
|
libssl: libssl/openssl/libssl.a
|
|
|
|
|
ifneq ($(ssl_header_path),)
|
|
|
|
|
SSL_IDIR := $(shell dirname $(ssl_header_path))
|
|
|
|
|
$(info Found OpenSSL headers at $(SSL_IDIR))
|
|
|
|
|
else
|
|
|
|
|
$(error Warning: OpenSSL headers not found. exiting, please install openssl.)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
curl_lib_path:
|
|
|
|
|
ln -fs $(SSL_LDIR)/ lib # curl wants this path
|
|
|
|
|
|
|
|
|
|
libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a: libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a re2/re2/obj/libre2.a
|
|
|
|
|
cd libhttpserver && rm -rf libhttpserver-*/ || true
|
|
|
|
|
@ -120,7 +127,7 @@ coredumper/coredumper/src/libcoredumper.a:
|
|
|
|
|
cd coredumper/coredumper && CC=${CC} CXX=${CXX} ${MAKE}
|
|
|
|
|
coredumper: coredumper/coredumper/src/libcoredumper.a
|
|
|
|
|
|
|
|
|
|
curl/curl/lib/.libs/libcurl.a: libssl/openssl/libssl.a
|
|
|
|
|
curl/curl/lib/.libs/libcurl.a: $(SSL_LDIR)/libssl.a
|
|
|
|
|
cd curl && rm -rf curl-*/ || true
|
|
|
|
|
cd curl && tar -zxf curl-*.tar.gz
|
|
|
|
|
# cd curl/curl && ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-crypto-auth --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --with-ssl=$(shell pwd)/../../libssl/openssl/ && CC=${CC} CXX=${CXX} ${MAKE}
|
|
|
|
|
@ -128,8 +135,8 @@ curl/curl/lib/.libs/libcurl.a: libssl/openssl/libssl.a
|
|
|
|
|
ifeq ($(SYS_KERN),Darwin)
|
|
|
|
|
cd curl/curl && patch configure < ../configure.patch
|
|
|
|
|
endif
|
|
|
|
|
cd curl/curl && ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --without-librtmp --without-libpsl --without-zstd --with-ssl=$(shell pwd)/libssl/openssl/ --enable-shared=yes
|
|
|
|
|
cd curl/curl && LD_LIBRARY_PATH=$(shell pwd)/libssl/openssl CFLAGS=-fPIC CC=${CC} CXX=${CXX} ${MAKE}
|
|
|
|
|
cd curl/curl && ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --without-librtmp --without-libpsl --without-zstd --with-ssl --enable-shared=yes
|
|
|
|
|
cd curl/curl && LD_LIBRARY_PATH=$(SSL_LDIR) CFLAGS=-fPIC CC=${CC} CXX=${CXX} ${MAKE}
|
|
|
|
|
|
|
|
|
|
curl: curl/curl/lib/.libs/libcurl.a
|
|
|
|
|
|
|
|
|
|
@ -194,11 +201,11 @@ jemalloc/jemalloc/lib/libjemalloc.a:
|
|
|
|
|
jemalloc: jemalloc/jemalloc/lib/libjemalloc.a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mariadb-client-library/mariadb_client/libmariadb/libmariadbclient.a: libssl/openssl/libssl.a
|
|
|
|
|
mariadb-client-library/mariadb_client/libmariadb/libmariadbclient.a: $(SSL_LDIR)/libssl.a
|
|
|
|
|
cd mariadb-client-library && rm -rf mariadb-connector-c-*/ || true
|
|
|
|
|
cd mariadb-client-library && tar -zxf mariadb-connector-c-3.3.8-src.tar.gz
|
|
|
|
|
cd mariadb-client-library/mariadb_client && patch -p0 < ../plugin_auth_CMakeLists.txt.patch
|
|
|
|
|
cd mariadb-client-library/mariadb_client && cmake . -Wno-dev -DCMAKE_BUILD_TYPE=RelWithDebInfo -DOPENSSL_ROOT_DIR=$(shell pwd)/libssl/openssl/ -DOPENSSL_LIBRARIES=$(shell pwd)/libssl/openssl/ -DICONV_LIBRARIES=$(brew --prefix libiconv)/lib -DICONV_INCLUDE=$(brew --prefix libiconv)/include .
|
|
|
|
|
cd mariadb-client-library/mariadb_client && cmake . -Wno-dev -DCMAKE_BUILD_TYPE=RelWithDebInfo -DOPENSSL_ROOT_DIR=$(SSL_LDIR) -DOPENSSL_LIBRARIES=$(SSL_LDIR) -DICONV_LIBRARIES=$(brew --prefix libiconv)/lib -DICONV_INCLUDE=$(brew --prefix libiconv)/include .
|
|
|
|
|
ifeq ($(PROXYDEBUG),1)
|
|
|
|
|
cd mariadb-client-library/mariadb_client && patch -p0 < ../ma_context.h.patch
|
|
|
|
|
else ifeq ($(USEVALGRIND),1)
|
|
|
|
|
@ -304,30 +311,30 @@ pcre/pcre/.libs/libpcre.a:
|
|
|
|
|
|
|
|
|
|
pcre: pcre/pcre/.libs/libpcre.a
|
|
|
|
|
|
|
|
|
|
postgresql/postgresql/src/interfaces/libpq/libpq.a : libssl/openssl/libssl.a
|
|
|
|
|
postgresql/postgresql/src/interfaces/libpq/libpq.a : $(SSL_LDIR)/libssl.a
|
|
|
|
|
cd postgresql && rm -rf postgresql-*/ || true
|
|
|
|
|
cd postgresql && tar -zxf postgresql-*.tar.gz
|
|
|
|
|
cd postgresql/postgresql && patch -p0 < ../get_result_from_pgconn.patch
|
|
|
|
|
cd postgresql/postgresql && patch -p0 < ../handle_row_data.patch
|
|
|
|
|
#cd postgresql/postgresql && LD_LIBRARY_PATH="$(shell pwd)/libssl/openssl" ./configure --with-ssl=openssl --with-includes="$(shell pwd)/libssl/openssl/include/" --with-libraries="$(shell pwd)/libssl/openssl/" --without-readline --enable-debug CFLAGS="-ggdb -O0 -fno-omit-frame-pointer" CPPFLAGS="-g -O0"
|
|
|
|
|
cd postgresql/postgresql && LD_LIBRARY_PATH="$(shell pwd)/libssl/openssl" ./configure --with-ssl=openssl --with-includes="$(shell pwd)/libssl/openssl/include/" --with-libraries="$(shell pwd)/libssl/openssl/" --without-readline
|
|
|
|
|
cd postgresql/postgresql && LD_LIBRARY_PATH="$(SSL_LDIR)" ./configure --with-ssl=openssl --with-includes="$(SSL_IDIR)" --with-libraries="$(SSL_LDIR)" --without-readline
|
|
|
|
|
cd postgresql/postgresql/src/interfaces/libpq && CC=${CC} CXX=${CXX} ${MAKE} MAKELEVEL=0
|
|
|
|
|
#cd postgresql/postgresql && CC=${CC} CXX=${CXX} ${MAKE} -f src/interfaces/libpq/Makefile all
|
|
|
|
|
|
|
|
|
|
postgresql: postgresql/postgresql/src/interfaces/libpq/libpq.a
|
|
|
|
|
|
|
|
|
|
libusual/libusual/.libs/libusual.a: libssl/openssl/libssl.a
|
|
|
|
|
libusual/libusual/.libs/libusual.a: $(SSL_LDIR)/libssl.a
|
|
|
|
|
cd libusual && rm -rf libusual-*/ || true
|
|
|
|
|
cd libusual && tar -zxf libusual-*.tar.gz
|
|
|
|
|
cd libusual/libusual && ./autogen.sh
|
|
|
|
|
cd libusual/libusual && ./configure --with-openssl="$(shell pwd)/libssl/openssl/" --disable-shared
|
|
|
|
|
cd libusual/libusual && ./configure --with-openssl="$(SSL_LDIR)" --disable-shared
|
|
|
|
|
cd libusual/libusual && CC=${CC} CXX=${CXX} ${MAKE}
|
|
|
|
|
|
|
|
|
|
libusual: libusual/libusual/.libs/libusual.a
|
|
|
|
|
|
|
|
|
|
libscram/lib/libscram.a: libssl/openssl/libssl.a postgresql/postgresql/src/interfaces/libpq/libpq.a
|
|
|
|
|
libscram/lib/libscram.a: $(SSL_LDIR)/libssl.a postgresql/postgresql/src/interfaces/libpq/libpq.a
|
|
|
|
|
cd libscram && rm -rf lib/* || true
|
|
|
|
|
cd libscram && CC=${CC} CXX=${CXX} ${MAKE} LIBOPENSSL_DIR="$(shell pwd)/libssl/openssl" POSTGRESQL_DIR="$(shell pwd)/postgresql/postgresql/"
|
|
|
|
|
cd libscram && CC=${CC} CXX=${CXX} ${MAKE} LIBOPENSSL_DIR="$(SSL_LDIR)" POSTGRESQL_DIR="$(shell pwd)/postgresql/postgresql/"
|
|
|
|
|
|
|
|
|
|
libscram: libscram/lib/libscram.a
|
|
|
|
|
|
|
|
|
|
@ -355,7 +362,6 @@ cleanall:
|
|
|
|
|
cd libmicrohttpd && rm -rf libmicrohttpd-*/ || true
|
|
|
|
|
cd curl && rm -rf curl-*/ || true
|
|
|
|
|
cd libev && rm -rf libev-*/ || true
|
|
|
|
|
cd libssl && rm -rf openssl-openssl-*/ openssl-3*/ || true
|
|
|
|
|
cd libconfig && rm -rf libconfig-*/ || true
|
|
|
|
|
cd prometheus-cpp && rm -rf prometheus-cpp-*/ || true
|
|
|
|
|
cd cityhash && rm -rf cityhash-*/ || true
|
|
|
|
|
|