summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2023-02-24 13:24:08 +0100
committerAlexey Edelev <alexey.edelev@qt.io>2023-03-02 11:51:09 +0100
commite68f9a28a847f2adf625b52b975fdadc1f27f867 (patch)
treee4a6917585503c0425d05211cf0802189028f840
parent671da8181ea568f588fc9cfe19a345cddba34702 (diff)
downloadqt5-e68f9a28a847f2adf625b52b975fdadc1f27f867.tar.gz
Ensure that protobuf and gRPC libraries are build with -fPIC/PIE
Need to build protobuf and gRPC libraries with PIC/PIE to make them compatible with Qt libraries and executables that are build with PIC PIE. Change-Id: Ie830f359e9e0fa15af65b96330edbf7f3f52df9b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
-rw-r--r--coin/provisioning/common/unix/install_grpc.sh11
-rwxr-xr-xcoin/provisioning/common/unix/install_protobuf.sh13
2 files changed, 22 insertions, 2 deletions
diff --git a/coin/provisioning/common/unix/install_grpc.sh b/coin/provisioning/common/unix/install_grpc.sh
index 622c2d51..ad758cbf 100644
--- a/coin/provisioning/common/unix/install_grpc.sh
+++ b/coin/provisioning/common/unix/install_grpc.sh
@@ -93,7 +93,16 @@ echo "Configuring and building gRPC"
buildDir="$HOME/build-grpc-$version"
mkdir -p "$buildDir"
cd "$buildDir"
-cmake $targetDir -G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" -DCMAKE_INSTALL_PREFIX=$installPrefix $extraCMakeArgs $extraOpenSslArg -DgRPC_BUILD_TESTS=OFF -DgRPC_PROTOBUF_PROVIDER="package" -DgRPC_SSL_PROVIDER="package" -DgRPC_ZLIB_PROVIDER="package"
+cmake $targetDir -G"Ninja Multi-Config" \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
+ -DCMAKE_INSTALL_PREFIX=$installPrefix \
+ $extraCMakeArgs \
+ $extraOpenSslArg \
+ -DgRPC_BUILD_TESTS=OFF \
+ -DgRPC_PROTOBUF_PROVIDER="package" \
+ -DgRPC_SSL_PROVIDER="package" \
+ -DgRPC_ZLIB_PROVIDER="package"
ninja all
sudo env "PATH=$PATH" ninja install
diff --git a/coin/provisioning/common/unix/install_protobuf.sh b/coin/provisioning/common/unix/install_protobuf.sh
index 4288c376..0d4ab8bd 100755
--- a/coin/provisioning/common/unix/install_protobuf.sh
+++ b/coin/provisioning/common/unix/install_protobuf.sh
@@ -84,7 +84,18 @@ fi
buildDir="$HOME/build-protobuf-$version"
mkdir "$buildDir"
cd "$buildDir"
-cmake $targetDir -G"Ninja Multi-Config" -DCMAKE_INSTALL_PREFIX=$installPrefix $extraCMakeArgs -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_EXAMPLES=OFF -Dprotobuf_BUILD_PROTOC_BINARIES=ON -DBUILD_SHARED_LIBS=OFF -Dprotobuf_WITH_ZLIB=OFF -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" -DCMAKE_CROSS_CONFIGS=all -DCMAKE_DEFAULT_CONFIGS=all
+cmake $targetDir -G"Ninja Multi-Config" \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -DCMAKE_INSTALL_PREFIX=$installPrefix \
+ $extraCMakeArgs \
+ -Dprotobuf_BUILD_TESTS=OFF \
+ -Dprotobuf_BUILD_EXAMPLES=OFF \
+ -Dprotobuf_BUILD_PROTOC_BINARIES=ON \
+ -DBUILD_SHARED_LIBS=OFF \
+ -Dprotobuf_WITH_ZLIB=OFF \
+ -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
+ -DCMAKE_CROSS_CONFIGS=all \
+ -DCMAKE_DEFAULT_CONFIGS=all
ninja all:all
sudo env "PATH=$PATH" ninja install:all