From 476b85014d69b7335428471607a3309b085c8f89 Mon Sep 17 00:00:00 2001 From: Oleg Jukovec Date: Fri, 3 Mar 2023 14:23:50 +0300 Subject: [PATCH 1/2] Fix static build on macOS The build tag `openssl_static` does not produce a binary with static linked libcrypto and libssl. The patch fixes it. Related to https://github.com/tarantool/tt/issues/308 --- build.go | 4 ++-- build_static.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build.go b/build.go index 990fbb4b..85d91f20 100644 --- a/build.go +++ b/build.go @@ -19,7 +19,7 @@ package openssl // #cgo linux windows freebsd openbsd solaris pkg-config: libssl libcrypto // #cgo linux freebsd openbsd solaris CFLAGS: -Wno-deprecated-declarations -// #cgo darwin CFLAGS: -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/openssl/include -Wno-deprecated-declarations -// #cgo darwin LDFLAGS: -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl/lib -lssl -lcrypto +// #cgo darwin CFLAGS: -I/usr/local/opt/openssl/include -Wno-deprecated-declarations +// #cgo darwin LDFLAGS: -L/usr/local/opt/openssl/lib -lssl -lcrypto // #cgo windows CFLAGS: -DWIN32_LEAN_AND_MEAN import "C" diff --git a/build_static.go b/build_static.go index dde54461..7f439e2e 100644 --- a/build_static.go +++ b/build_static.go @@ -19,7 +19,7 @@ package openssl // #cgo linux windows freebsd openbsd solaris pkg-config: --static libssl libcrypto // #cgo linux freebsd openbsd solaris CFLAGS: -Wno-deprecated-declarations -// #cgo darwin CFLAGS: -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/openssl/include -Wno-deprecated-declarations -// #cgo darwin LDFLAGS: -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl/lib -lssl -lcrypto +// #cgo darwin CFLAGS: -I/usr/local/opt/openssl/include -Wno-deprecated-declarations +// #cgo darwin LDFLAGS: /usr/local/opt/openssl/lib/libcrypto.a /usr/local/opt/openssl/lib/libssl.a // #cgo windows CFLAGS: -DWIN32_LEAN_AND_MEAN import "C" From 58cfcbf56d740d6bc9a61df0bbcbc59abad37628 Mon Sep 17 00:00:00 2001 From: Oleg Jukovec Date: Fri, 3 Mar 2023 16:28:05 +0300 Subject: [PATCH 2/2] Fix build on macOS with Apple M1 /usr/local is for Intel binaries/libraries, /opt/homebrew for ARM [1]. 1. https://docs.brew.sh/Installation Related to https://github.com/tarantool/go-tarantool/issues/260 --- build.go | 8 ++++++-- build_static.go | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/build.go b/build.go index 85d91f20..8aeeb938 100644 --- a/build.go +++ b/build.go @@ -19,7 +19,11 @@ package openssl // #cgo linux windows freebsd openbsd solaris pkg-config: libssl libcrypto // #cgo linux freebsd openbsd solaris CFLAGS: -Wno-deprecated-declarations -// #cgo darwin CFLAGS: -I/usr/local/opt/openssl/include -Wno-deprecated-declarations -// #cgo darwin LDFLAGS: -L/usr/local/opt/openssl/lib -lssl -lcrypto +// #cgo darwin,386 CFLAGS: -I/usr/local/opt/openssl/include -Wno-deprecated-declarations +// #cgo darwin,386 LDFLAGS: -L/usr/local/opt/openssl/lib -lssl -lcrypto +// #cgo darwin,amd64 CFLAGS: -I/usr/local/opt/openssl/include -Wno-deprecated-declarations +// #cgo darwin,amd64 LDFLAGS: -L/usr/local/opt/openssl/lib -lssl -lcrypto +// #cgo darwin,arm64 CFLAGS: -I/opt/homebrew/opt/openssl/include -Wno-deprecated-declarations +// #cgo darwin,arm64 LDFLAGS: -L/opt/homebrew/opt/openssl/lib -lssl -lcrypto // #cgo windows CFLAGS: -DWIN32_LEAN_AND_MEAN import "C" diff --git a/build_static.go b/build_static.go index 7f439e2e..ecafc005 100644 --- a/build_static.go +++ b/build_static.go @@ -19,7 +19,11 @@ package openssl // #cgo linux windows freebsd openbsd solaris pkg-config: --static libssl libcrypto // #cgo linux freebsd openbsd solaris CFLAGS: -Wno-deprecated-declarations -// #cgo darwin CFLAGS: -I/usr/local/opt/openssl/include -Wno-deprecated-declarations -// #cgo darwin LDFLAGS: /usr/local/opt/openssl/lib/libcrypto.a /usr/local/opt/openssl/lib/libssl.a +// #cgo darwin,386 CFLAGS: -I/usr/local/opt/openssl/include -Wno-deprecated-declarations +// #cgo darwin,386 LDFLAGS: /usr/local/opt/openssl/lib/libcrypto.a /usr/local/opt/openssl/lib/libssl.a +// #cgo darwin,amd64 CFLAGS: -I/usr/local/opt/openssl/include -Wno-deprecated-declarations +// #cgo darwin,amd64 LDFLAGS: /usr/local/opt/openssl/lib/libcrypto.a /usr/local/opt/openssl/lib/libssl.a +// #cgo darwin,arm64 CFLAGS: -I/opt/homebrew/opt/openssl/include -Wno-deprecated-declarations +// #cgo darwin,arm64 LDFLAGS: /opt/homebrew/opt/openssl/lib/libcrypto.a /opt/homebrew/opt/openssl/lib/libssl.a // #cgo windows CFLAGS: -DWIN32_LEAN_AND_MEAN import "C"