aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Pastor <dg0yt@darc.de>2022-02-05 12:03:25 +0100
committerKai Pastor <dg0yt@darc.de>2022-02-05 18:06:45 +0100
commit2b0ecb6f19b1be906a39eac5143d4c40252f0a5a (patch)
tree1e1dbab6c61780139e3bf67b566ce3478a86019c
parent295c67869270dc9319f965f1c18108fad516296e (diff)
downloadPROJ-2b0ecb6f19b1be906a39eac5143d4c40252f0a5a.tar.gz
PROJ-2b0ecb6f19b1be906a39eac5143d4c40252f0a5a.zip
Adapt testing to recursive pkg-config requirements
When pkg-config is called with --static, it will recursively collect all Libs and Libs.private which are discovered via Requires and Requires.private. So these libs must be available for linking even when acutally only lib proj uses static linkage. Libs and pkg-config must be provided for the target triplet.
-rwxr-xr-x.github/workflows/clang_linux/start.sh5
-rwxr-xr-x.github/workflows/linux_gcc_32bit/start.sh7
-rwxr-xr-x.github/workflows/linux_gcc_5_4/start.sh2
-rw-r--r--test/postinstall/c_app/makefile.mak6
-rwxr-xr-xtest/postinstall/test_autotools.sh5
-rwxr-xr-xtest/postinstall/test_pkg-config.sh1
-rwxr-xr-xtravis/linux_generic/before_install.sh3
7 files changed, 18 insertions, 11 deletions
diff --git a/.github/workflows/clang_linux/start.sh b/.github/workflows/clang_linux/start.sh
index 81eca492..48099fe3 100755
--- a/.github/workflows/clang_linux/start.sh
+++ b/.github/workflows/clang_linux/start.sh
@@ -7,8 +7,9 @@ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
autoconf automake libtool make cmake ccache pkg-config python3-pip sqlite3 tar zip \
clang++-10 jq python3-clang-10 \
libsqlite3-dev \
- libtiff-dev \
- libcurl4-openssl-dev \
+ libtiff-dev libwebp-dev libzstd-dev \
+ libcurl4-openssl-dev libnghttp2-dev libidn2-dev librtmp-dev libssh-dev \
+ libpsl-dev libssl-dev libkrb5-dev comerr-dev libldap2-dev libbrotli-dev \
nlohmann-json3-dev libgtest-dev
python3 -m pip install --user jsonschema
diff --git a/.github/workflows/linux_gcc_32bit/start.sh b/.github/workflows/linux_gcc_32bit/start.sh
index 87a98a0b..60be6fd3 100755
--- a/.github/workflows/linux_gcc_32bit/start.sh
+++ b/.github/workflows/linux_gcc_32bit/start.sh
@@ -15,8 +15,9 @@ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends -o AP
autoconf automake libtool make cmake ccache pkg-config python3-pip sqlite3 tar zip \
gcc-multilib g++-multilib g++ jq dpkg-dev \
libsqlite3-dev:$ARCH \
- libtiff-dev:$ARCH \
- libcurl4-openssl-dev:$ARCH
+ libtiff-dev:$ARCH libwebp-dev:$ARCH libzstd-dev:$ARCH \
+ libcurl4-openssl-dev:$ARCH libnghttp2-dev:$ARCH libidn2-dev:$ARCH librtmp-dev:$ARCH libssh-dev:$ARCH \
+ libpsl-dev:$ARCH libssl-dev:$ARCH libkrb5-dev:$ARCH comerr-dev:$ARCH libldap2-dev:$ARCH libbrotli-dev:$ARCH
python3 -m pip install --user jsonschema
export PATH=$HOME/.local/bin:$PATH
@@ -28,6 +29,8 @@ export TIFF_LIBS="-L/usr/lib/i386-linux-gnu -ltiff"
export SQLITE3_CFLAGS=-I/usr/include/i386-linux-gnu
export SQLITE3_LIBS="-L/usr/lib/i386-linux-gnu -lsqlite3"
+export PKG_CONFIG=i686-linux-gnu-pkg-config
+
cd "$WORK_DIR"
if test -f "$WORK_DIR/ccache.tar.gz"; then
diff --git a/.github/workflows/linux_gcc_5_4/start.sh b/.github/workflows/linux_gcc_5_4/start.sh
index 4b7088d7..be23392b 100755
--- a/.github/workflows/linux_gcc_5_4/start.sh
+++ b/.github/workflows/linux_gcc_5_4/start.sh
@@ -13,7 +13,7 @@ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
g++ jq lcov python3-setuptools \
libsqlite3-dev \
libtiff-dev \
- libcurl4-openssl-dev
+ libcurl4-openssl-dev libidn11-dev librtmp-dev libssl-dev libkrb5-dev comerr-dev libldap2-dev
python3 -m pip install --user --upgrade "pip < 21.0"
echo `python3 -m pip --version`
diff --git a/test/postinstall/c_app/makefile.mak b/test/postinstall/c_app/makefile.mak
index 3e29d4b1..01d1c259 100644
--- a/test/postinstall/c_app/makefile.mak
+++ b/test/postinstall/c_app/makefile.mak
@@ -6,18 +6,18 @@ TESTS = \
test_searchpath.sh \
test_version.sh
-override CFLAGS += -g -Wall -Werror $(shell pkg-config proj --cflags)
+override CFLAGS += -g -Wall -Werror $(shell ${PKG_CONFIG} proj --cflags)
ifeq ($(BUILD_MODE),static)
UNAME_S := $(shell uname -s)
- _ldflags := $(shell pkg-config proj --libs --static)
+ _ldflags := $(shell ${PKG_CONFIG} proj --libs --static)
ifeq ($(UNAME_S),Linux)
# force static linking to libproj
_ldflags := $(shell echo $(_ldflags) | sed 's/-lproj/-Wl,-Bstatic -lproj -Wl,-Bdynamic/')
endif
override LDFLAGS += $(_ldflags)
else # default is shared
- override LDFLAGS += $(shell pkg-config proj --libs)
+ override LDFLAGS += $(shell ${PKG_CONFIG} proj --libs)
endif
all: $(PROGRAM)
diff --git a/test/postinstall/test_autotools.sh b/test/postinstall/test_autotools.sh
index 28954c4d..c3e0e60b 100755
--- a/test/postinstall/test_autotools.sh
+++ b/test/postinstall/test_autotools.sh
@@ -12,12 +12,13 @@ main_setup $1 $2
echo "Running post-install tests with autotools/pkg-config (${BUILD_MODE})"
if [ ${BUILD_MODE} = shared ]; then
- export PKG_CONFIG="pkg-config"
+ export PKG_CONFIG="${PKG_CONFIG:-pkg-config}"
ENABLE_STATIC_PROJ=no
else
- export PKG_CONFIG="pkg-config --static"
+ export PKG_CONFIG="${PKG_CONFIG:-pkg-config} --static"
ENABLE_STATIC_PROJ=yes
fi
+echo ,${PKG_CONFIG},
export PKG_CONFIG_PATH=${prefix}/lib/pkgconfig
diff --git a/test/postinstall/test_pkg-config.sh b/test/postinstall/test_pkg-config.sh
index a9ccabce..d170e189 100755
--- a/test/postinstall/test_pkg-config.sh
+++ b/test/postinstall/test_pkg-config.sh
@@ -11,6 +11,7 @@ main_setup $1 $2
echo "Running post-install tests with pkg-config (${BUILD_MODE})"
+export PKG_CONFIG="${PKG_CONFIG:-pkg-config}"
export PKG_CONFIG_PATH=${prefix}/lib/pkgconfig
if [ ${BUILD_MODE} = shared ]; then
diff --git a/travis/linux_generic/before_install.sh b/travis/linux_generic/before_install.sh
index dbd5f5b2..07d5c979 100755
--- a/travis/linux_generic/before_install.sh
+++ b/travis/linux_generic/before_install.sh
@@ -9,4 +9,5 @@ sudo apt-get install -qq \
sqlite3 zip \
libsqlite3-dev \
libtiff-dev \
- libcurl4-openssl-dev
+ libcurl4-openssl-dev libnghttp2-dev libidn2-dev librtmp-dev libssh-dev \
+ libpsl-dev libssl-dev libkrb5-dev comerr-dev libldap2-dev libbrotli-dev