-
Notifications
You must be signed in to change notification settings - Fork 1
Ci dynamic matrix and rename #45
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
base: stable-ghc-9.14-rebased
Are you sure you want to change the base?
Conversation
4de99d0
to
23dd6fa
Compare
Interestingly, this now seems to fail due to the missing rts sublib issues. That are fixed in #44. Specifically this: |
dabc558
to
bbb815a
Compare
a10be51
to
d3180ae
Compare
d9f06c2
to
a1edbb5
Compare
7c8212f
to
e74ec54
Compare
…gger to stable-ghc-9.14
This reverts commit d821074.
This is kidna stupid. Julian hit something similar with the THREADED one :-/
Ideally, ghc should just be able to produce this data outright, without having to resort to a separate tool. This seems highly questionable. It would be much better if ghc should emitted this information in a structured way.
This seems conceptually wrong. I don't fully understand why we need this?
b78b210
to
1967f08
Compare
this is stupid, but it will have to do for now for dyanmic.
sanitized_hc := $(subst $(space),_,$(subst :,_,$(subst /,_,$(subst \,_,$(TEST_HC))))) | ||
test_hc_hash := $(shell \ | ||
if command -v openssl >/dev/null 2>&1; then \ | ||
openssl dgst -sha256 $(TEST_HC) | awk '{print substr($$2, 1, 8)}'; \ | ||
elif command -v sha256sum >/dev/null 2>&1; then \ | ||
sha256sum $(TEST_HC) | awk '{print substr($$1, 1, 8)}'; \ | ||
elif command -v shasum >/dev/null 2>&1; then \ | ||
shasum -a 256 $(TEST_HC) | awk '{print substr($$1, 1, 8)}'; \ | ||
else \ | ||
echo "no_hash"; \ | ||
fi) | ||
ghc_config_mk = $(TOP)/mk/$(test_hc_hash)_ghcconfig$(sanitized_hc).mk |
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.
I should add a comment here why we do this. It adds a has to the ghc config file. This ensure we always read the correct ghcconfig, if the ghc changed, the hash changed, and we recompute.
|
||
visibility: public | ||
|
||
ghc-options: -optc-DRtsWay="v" |
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.
Julian has "rts_v" and others in #75 for this.
(NoArg (setGeneralFlag Opt_NoHsMain)) | ||
, make_ord_flag defGhcFlag "no-rts" | ||
(NoArg (setGeneralFlag Opt_NoRts)) | ||
, make_ord_flag defGhcFlag "no-ghc-internal" |
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.
Why is this needed now?
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.
We have the following dependeny as visible to cabal:
ghc-internal
+ rts
however, ghc will try to insert:
ghc-internal
+ rts-sublib (based on the -threaded / -debug flag)
+ rts
If we try to build the rts-sublib with ghc, we can end up trying to load ghc-internal, due to auto-injection of libraries.
Maybe a better solution is to add a flag to outright disable ghc's auto population of libs, instead of having separate ones for each lib 😅
This is needed until haskell/cabal#11221 is properly addressed to ensure that a linked dynamic binary will have the appropriate path for the rts (sublib).
No description provided.