Add compiler flags necessary to build on Fedora

* Add compiler flags to the boringssl build step to suppress gcc errors
raised when compiling with gcc 12+, which is present in Fedora. It is not
clear whether this is a compiler bug or a boringssl bug, however the
errors only appear when building in release mode and with gcc 12, so I
don't see any problem with manually supressing them.
* Add documentation for building on Fedora.
This commit is contained in:
lwthiker
2022-05-20 17:46:56 +03:00
parent 41986464c4
commit f51620327a
2 changed files with 9 additions and 2 deletions

View File

@@ -69,7 +69,8 @@ curl-impersonate-chrome https://www.wikipedia.org
Install dependencies: Install dependencies:
``` ```
yum groupinstall "Development Tools" yum groupinstall "Development Tools"
yum install cmake cmake3 python3 python3-pip yum groupinstall "C Development Tools and Libraries" # Fedora only
yum install cmake3 python3 python3-pip
# Install Ninja. This may depend on your system. # Install Ninja. This may depend on your system.
yum install ninja-build yum install ninja-build
# OR # OR

View File

@@ -184,7 +184,13 @@ boringssl/.patched: $(srcdir)/chrome/patches/boringssl-*.patch
$(boringssl_static_libs): boringssl.zip boringssl/.patched $(boringssl_static_libs): boringssl.zip boringssl/.patched
mkdir -p $(boringssl_install_dir) mkdir -p $(boringssl_install_dir)
cd $(boringssl_install_dir) cd $(boringssl_install_dir)
@cmake@ -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=on -GNinja .. # The extra CMAKE_C_FLAGS are needed because otherwise boringssl fails to
# compile in release mode on some systems with gcc 12 (e.g. Fedora).
@cmake@ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=on \
-DCMAKE_C_FLAGS="-Wno-stringop-overflow -Wno-array-bounds" \
-GNinja \
..
@ninja@ @ninja@
# Fix the directory structure so that curl can compile against it. # Fix the directory structure so that curl can compile against it.
# See https://everything.curl.dev/source/build/tls/boringssl # See https://everything.curl.dev/source/build/tls/boringssl