Fix build system to work on Red Hat-based systems

Tweak the curl-impersonate build system to make it work on Red Hat
based systems such as CentOS, Fedora and Amazon Linux.

* Change the Makefile to be more portable with different bash versions.
* Detect whether cmake is 'cmake' or 'cmake3', and whether ninja is
'ninja' or 'ninja-build'.
* Explicitly tell brotli to put its libraries in 'lib' dir, otherwise it
might put them in 'lib64' where curl doesn't find them.
* Add instructions for building curl-impersonate from source on Red Hat
based systems.
This commit is contained in:
lwthiker
2022-05-20 15:52:30 +03:00
parent 82bca6dab7
commit 41986464c4
3 changed files with 45 additions and 7 deletions
+27 -1
View File
@@ -10,7 +10,7 @@ There are two versions of `curl-impersonate` for technical reasons. The **chrome
## Native build
### Linux (Ubuntu)
### Ubuntu
Install dependencies for building all the components:
```
@@ -64,6 +64,32 @@ curl-impersonate-ff https://www.wikipedia.org
curl-impersonate-chrome https://www.wikipedia.org
```
### Red Hat based (CentOS/Fedora/Amazon Linux)
Install dependencies:
```
yum groupinstall "Development Tools"
yum install cmake cmake3 python3 python3-pip
# Install Ninja. This may depend on your system.
yum install ninja-build
# OR
pip3 install ninja
```
For the Firefox version, install NSS and gyp:
```
yum install nss nss-pem
pip3 install gyp-next
```
For the Chrome version, install Go.
You may need to follow the [Go installation instructions](https://go.dev/doc/install) if it's not packaged for your system:
```
yum install golang
```
Then follow the 'Ubuntu' instructions for the actual build.
### macOS
Install dependencies for building all the components:
```