-
-
Notifications
You must be signed in to change notification settings - Fork 12.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
{gambit,gerbil}-scheme: switch to openssl@3
#133524
Conversation
cbd5953
to
515b591
Compare
515b591
to
afd1bf1
Compare
Ventura has been running for 2 days, which is way longer than the other jobs. |
Made draft to test out GCC. NixOS comment referencing Gambit's last benchmarks in https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/gambit/build.nix#L5-L9
Either way, Ventura Clang (LLVM 15) seems to have some issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks reasonable to me. We could probably make gcc
:build
-only though, and possible continue to build gerbil-scheme
with Clang.
depends_on "openssl@3" | ||
|
||
on_macos do | ||
depends_on "gcc" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No linkage on macOS. Probably just pure C code. In which case this can probably just be :build
-only.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It saves the compiler as default in config file (i.e. gcc-13
). The GCC optimizations also add some GCC-specific flags to config file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, fair enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Specifically, file bin/gambcomp-C
sets up default values:
# The following settings are determined by the configure script.
C_COMPILER="gcc-13"
C_PREPROC="gcc-13 -E"
FLAGS_OBJ=" -Wno-deprecated-declarations -I\"/usr/local/opt/openssl@3/include\" -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -fmodulo-sched -freschedule-modulo-scheduled-loops -fomit-frame-pointer -fPIC -fno-common "
FLAGS_DYN=" -Wno-deprecated-declarations -I\"/usr/local/opt/openssl@3/include\" -bundle -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -fmodulo-sched -freschedule-modulo-scheduled-loops -fomit-frame-pointer -fPIC -fno-common -flat_namespace -undefined suppress"
FLAGS_LIB=" -Wno-deprecated-declarations -I\"/usr/local/opt/openssl@3/include\" -dynamiclib -install_name \$(libdir)/\$(LIBRARY)\$(LIB_VERSION_SUFFIX) -flat_namespace -undefined suppress"
FLAGS_EXE=" -Wno-deprecated-declarations -I\"/usr/local/opt/openssl@3/include\" -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -fmodulo-sched -freschedule-modulo-scheduled-loops -fomit-frame-pointer -fPIC -fno-common "
FLAGS_OPT=" -O1"
FLAGS_OPT_RTS=" -O3"
In separate PR, I may add a note and maybe fix up OpenSSL path as above shows /usr/local
when I compiled on ARM. Only may cause an issue if someone also has Rosetta.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's see if we can fix that already now...
fails_with :clang do | ||
cause "gambit-scheme is built with GCC" | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gambit-scheme
appears to only use C, so continuing to compile this with clang
will probably work (unless there are also performance problems here).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing was the previous hang was on gerbil-scheme
. Also, GCC optimization flags makes Clang harder to use (but it seems recommended by upstream and used by other repositories).
|
||
uses_from_macos "libxml2" | ||
uses_from_macos "sqlite" | ||
|
||
on_macos do | ||
depends_on "gcc" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No linkage, can also probably be :build
.
bb0ad2e
to
c614847
Compare
🤖 An automated task has requested bottles to be published to this PR. |
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install --build-from-source <formula>
)? If this is a new formula, does it passbrew audit --new <formula>
?openssl@3
openssl@3