diff options
author | Alexey Edelev <alexey.edelev@qt.io> | 2023-02-24 13:24:08 +0100 |
---|---|---|
committer | Alexey Edelev <alexey.edelev@qt.io> | 2023-03-02 11:51:09 +0100 |
commit | e68f9a28a847f2adf625b52b975fdadc1f27f867 (patch) | |
tree | e4a6917585503c0425d05211cf0802189028f840 | |
parent | 671da8181ea568f588fc9cfe19a345cddba34702 (diff) | |
download | qt5-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.sh | 11 | ||||
-rwxr-xr-x | coin/provisioning/common/unix/install_protobuf.sh | 13 |
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 |