[PATCH] Configure: add support for Homebrew on Apple Silicon
Roman Arutyunyan
arut at nginx.com
Wed Mar 6 12:55:42 UTC 2024
Hi Piotr,
On Wed, Feb 28, 2024 at 01:24:26AM +0000, Piotr Sikora via nginx-devel wrote:
> # HG changeset patch
> # User Piotr Sikora <piotr at aviatrix.com>
> # Date 1708977643 0
> # Mon Feb 26 20:00:43 2024 +0000
> # Branch patch017
> # Node ID dd95daa55cf6131a7e845edd6ad3b429bcef6f98
> # Parent bb99cbe3a343ae581d2369b990aee66e69679ca2
> Configure: add support for Homebrew on Apple Silicon.
>
> Signed-off-by: Piotr Sikora <piotr at aviatrix.com>
>
> diff -r bb99cbe3a343 -r dd95daa55cf6 auto/lib/geoip/conf
> --- a/auto/lib/geoip/conf Mon Feb 26 20:00:42 2024 +0000
> +++ b/auto/lib/geoip/conf Mon Feb 26 20:00:43 2024 +0000
> @@ -64,6 +64,23 @@
> fi
>
>
> +if [ $ngx_found = no ]; then
> +
> + # Homebrew on Apple Silicon
> +
> + ngx_feature="GeoIP library in /opt/homebrew/"
> + ngx_feature_path="/opt/homebrew/include"
> +
> + if [ $NGX_RPATH = YES ]; then
> + ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lGeoIP"
> + else
> + ngx_feature_libs="-L/opt/homebrew/lib -lGeoIP"
> + fi
> +
> + . auto/feature
> +fi
> +
> +
> if [ $ngx_found = yes ]; then
>
> CORE_INCS="$CORE_INCS $ngx_feature_path"
> diff -r bb99cbe3a343 -r dd95daa55cf6 auto/lib/google-perftools/conf
> --- a/auto/lib/google-perftools/conf Mon Feb 26 20:00:42 2024 +0000
> +++ b/auto/lib/google-perftools/conf Mon Feb 26 20:00:43 2024 +0000
> @@ -46,6 +46,22 @@
> fi
>
>
> +if [ $ngx_found = no ]; then
> +
> + # Homebrew on Apple Silicon
> +
> + ngx_feature="Google perftools in /opt/homebrew/"
> +
> + if [ $NGX_RPATH = YES ]; then
> + ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lprofiler"
> + else
> + ngx_feature_libs="-L/opt/homebrew/lib -lprofiler"
> + fi
> +
> + . auto/feature
> +fi
> +
> +
> if [ $ngx_found = yes ]; then
> CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
>
> diff -r bb99cbe3a343 -r dd95daa55cf6 auto/lib/libgd/conf
> --- a/auto/lib/libgd/conf Mon Feb 26 20:00:42 2024 +0000
> +++ b/auto/lib/libgd/conf Mon Feb 26 20:00:43 2024 +0000
> @@ -65,6 +65,23 @@
> fi
>
>
> +if [ $ngx_found = no ]; then
> +
> + # Homebrew on Apple Silicon
> +
> + ngx_feature="GD library in /opt/homebrew/"
> + ngx_feature_path="/opt/homebrew/include"
> +
> + if [ $NGX_RPATH = YES ]; then
> + ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lgd"
> + else
> + ngx_feature_libs="-L/opt/homebrew/lib -lgd"
> + fi
> +
> + . auto/feature
> +fi
> +
> +
> if [ $ngx_found = yes ]; then
>
> CORE_INCS="$CORE_INCS $ngx_feature_path"
> diff -r bb99cbe3a343 -r dd95daa55cf6 auto/lib/openssl/conf
> --- a/auto/lib/openssl/conf Mon Feb 26 20:00:42 2024 +0000
> +++ b/auto/lib/openssl/conf Mon Feb 26 20:00:43 2024 +0000
> @@ -122,6 +122,24 @@
> . auto/feature
> fi
>
> + if [ $ngx_found = no ]; then
> +
> + # Homebrew on Apple Silicon
> +
> + ngx_feature="OpenSSL library in /opt/homebrew/"
> + ngx_feature_path="/opt/homebrew/include"
> +
> + if [ $NGX_RPATH = YES ]; then
> + ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lssl -lcrypto"
> + else
> + ngx_feature_libs="-L/opt/homebrew/lib -lssl -lcrypto"
> + fi
> +
> + ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
> +
> + . auto/feature
> + fi
> +
> if [ $ngx_found = yes ]; then
> have=NGX_SSL . auto/have
> CORE_INCS="$CORE_INCS $ngx_feature_path"
> diff -r bb99cbe3a343 -r dd95daa55cf6 auto/lib/pcre/conf
> --- a/auto/lib/pcre/conf Mon Feb 26 20:00:42 2024 +0000
> +++ b/auto/lib/pcre/conf Mon Feb 26 20:00:43 2024 +0000
> @@ -182,6 +182,22 @@
> . auto/feature
> fi
>
> + if [ $ngx_found = no ]; then
> +
> + # Homebrew on Apple Silicon
> +
> + ngx_feature="PCRE library in /opt/homebrew/"
> + ngx_feature_path="/opt/homebrew/include"
> +
> + if [ $NGX_RPATH = YES ]; then
> + ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lpcre"
> + else
> + ngx_feature_libs="-L/opt/homebrew/lib -lpcre"
> + fi
> +
> + . auto/feature
> + fi
> +
> if [ $ngx_found = yes ]; then
> CORE_INCS="$CORE_INCS $ngx_feature_path"
> CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
Thanks for the patch. Looks good to me.
For the record:
Among the libraries we search MacPorts for, there are xml/xslt-related
libraries as well, which are not included in this patch. Modern MacOS however
includes those libraries by default, and older versions do not support Apple
Silicon.
--
Roman Arutyunyan
More information about the nginx-devel
mailing list