[Git][ghc/ghc][master] 5 commits: Use Cabal 3.10 for Hadrian
Marge Bot (@marge-bot)
gitlab at gitlab.haskell.org
Thu Sep 21 16:55:58 UTC 2023
Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
fa977034 by John Ericson at 2023-09-21T12:55:25-04:00
Use Cabal 3.10 for Hadrian
We need the newer version for `CABAL_FLAG_*` env vars for #17191.
- - - - -
a5d22cab by John Ericson at 2023-09-21T12:55:25-04:00
hadrian: `need` any `configure` script we will call
When the script is changed, we should reconfigure.
- - - - -
db882b57 by John Ericson at 2023-09-21T12:55:25-04:00
hadrian: Make it easier to debug Cabal configure
Right now, output is squashed. This make per-package configure scripts
extremely hard to maintain, because we get vague "library is missing"
errors when the actually probably is usually completely unrelated except
for also involving the C/C++ toolchain.
(I can always pass `-VVV` to Hadrian locally, but these errors are
subtle and I often cannot reproduce them locally!)
`--disable-option-checking` was added back in
75c6e0684dda585c37b4ac254cd7a13537a59a91 but seems to be a bit overkill;
if other flags are passed that are not recognized behind the two from
Cabal mentioned in the former comment, we *do* want to know about it.
- - - - -
7ed65f5a by John Ericson at 2023-09-21T12:55:25-04:00
hadrian: Increase verbosity of certain cabal commands
This is a hack to get around the cabal function we're calling
*decreasing* the verbosity it passes to another function, which is the
stuff we often actually care about. Sigh.
Keeping this a separate commit so if this makes things too verbose it is
easy to revert.
- - - - -
a4fde569 by John Ericson at 2023-09-21T12:55:25-04:00
rts: Move most external symbols logic to the configure script
This is much more terse because we are programmatically handling the
leading underscore.
`findPtr` however is still handled in the Cabal file because we need a
newer Cabal to pass flags to the configure script automatically.
Co-Authored-By: Ben Gamari <ben at well-typed.com>
- - - - -
25 changed files:
- hadrian/bootstrap/plan-9_4_1.json
- hadrian/bootstrap/plan-9_4_2.json
- hadrian/bootstrap/plan-9_4_3.json
- hadrian/bootstrap/plan-9_4_4.json
- hadrian/bootstrap/plan-9_4_5.json
- hadrian/bootstrap/plan-9_6_1.json
- hadrian/bootstrap/plan-9_6_2.json
- hadrian/bootstrap/plan-bootstrap-9_4_1.json
- hadrian/bootstrap/plan-bootstrap-9_4_2.json
- hadrian/bootstrap/plan-bootstrap-9_4_3.json
- hadrian/bootstrap/plan-bootstrap-9_4_4.json
- hadrian/bootstrap/plan-bootstrap-9_4_5.json
- hadrian/bootstrap/plan-bootstrap-9_6_1.json
- hadrian/bootstrap/plan-bootstrap-9_6_2.json
- hadrian/hadrian.cabal
- hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
- hadrian/src/Hadrian/Oracles/Cabal/Rules.hs
- hadrian/src/Settings/Builders/Cabal.hs
- hadrian/stack.yaml
- hadrian/stack.yaml.lock
- rts/.gitignore
- rts/configure.ac
- + rts/external-symbols.list.in
- + rts/rts.buildinfo.in
- rts/rts.cabal.in
Changes:
=====================================
hadrian/bootstrap/plan-9_4_1.json
=====================================
@@ -5,8 +5,9 @@
"compiler-id": "ghc-9.4.1",
"install-plan": [
{
+ "component-name": "lib",
"depends": [
- "Cabal-syntax-3.8.1.0",
+ "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
"array-0.5.4.0",
"base-4.17.0.0",
"bytestring-0.11.3.1",
@@ -23,12 +24,25 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+ "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
"pkg-name": "Cabal",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
+ "component-name": "lib",
"depends": [
"array-0.5.4.0",
"base-4.17.0.0",
@@ -46,10 +60,22 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-syntax-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+ "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
"pkg-name": "Cabal-syntax",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
"depends": [
@@ -341,7 +367,7 @@
"build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian/build-info.json",
"component-name": "exe:hadrian",
"depends": [
- "Cabal-3.8.1.0",
+ "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
"base-4.17.0.0",
"base16-bytestring-1.0.2.0-1f4d5cfa7c972d59268ad23a58928ca71cb3b0b4d99ecfb3365582489f8d5c7a",
"bytestring-0.11.3.1",
=====================================
hadrian/bootstrap/plan-9_4_2.json
=====================================
@@ -5,8 +5,9 @@
"compiler-id": "ghc-9.4.2",
"install-plan": [
{
+ "component-name": "lib",
"depends": [
- "Cabal-syntax-3.8.1.0",
+ "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
"array-0.5.4.0",
"base-4.17.0.0",
"bytestring-0.11.3.1",
@@ -23,12 +24,25 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+ "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
"pkg-name": "Cabal",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
+ "component-name": "lib",
"depends": [
"array-0.5.4.0",
"base-4.17.0.0",
@@ -46,10 +60,22 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-syntax-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+ "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
"pkg-name": "Cabal-syntax",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
"depends": [
@@ -341,7 +367,7 @@
"build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian/build-info.json",
"component-name": "exe:hadrian",
"depends": [
- "Cabal-3.8.1.0",
+ "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
"base-4.17.0.0",
"base16-bytestring-1.0.2.0-8845b9b845268782664a9731259247bb8eb1e18dc03a39dadfe77b42101a894d",
"bytestring-0.11.3.1",
=====================================
hadrian/bootstrap/plan-9_4_3.json
=====================================
@@ -5,8 +5,9 @@
"compiler-id": "ghc-9.4.3",
"install-plan": [
{
+ "component-name": "lib",
"depends": [
- "Cabal-syntax-3.8.1.0",
+ "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
"array-0.5.4.0",
"base-4.17.0.0",
"bytestring-0.11.3.1",
@@ -23,12 +24,25 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+ "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
"pkg-name": "Cabal",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
+ "component-name": "lib",
"depends": [
"array-0.5.4.0",
"base-4.17.0.0",
@@ -46,10 +60,22 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-syntax-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+ "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
"pkg-name": "Cabal-syntax",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
"depends": [
@@ -341,7 +367,7 @@
"build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian/build-info.json",
"component-name": "exe:hadrian",
"depends": [
- "Cabal-3.8.1.0",
+ "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
"base-4.17.0.0",
"base16-bytestring-1.0.2.0-022be67a0e4d2e8bed3248f110a529e722a677692e78084e184611e934a069d4",
"bytestring-0.11.3.1",
=====================================
hadrian/bootstrap/plan-9_4_4.json
=====================================
@@ -5,8 +5,9 @@
"compiler-id": "ghc-9.4.4",
"install-plan": [
{
+ "component-name": "lib",
"depends": [
- "Cabal-syntax-3.8.1.0",
+ "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
"array-0.5.4.0",
"base-4.17.0.0",
"bytestring-0.11.3.1",
@@ -23,12 +24,25 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+ "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
"pkg-name": "Cabal",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
+ "component-name": "lib",
"depends": [
"array-0.5.4.0",
"base-4.17.0.0",
@@ -46,10 +60,22 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-syntax-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+ "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
"pkg-name": "Cabal-syntax",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
"depends": [
@@ -341,7 +367,7 @@
"build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.4/hadrian-0.1.0.0/x/hadrian/build-info.json",
"component-name": "exe:hadrian",
"depends": [
- "Cabal-3.8.1.0",
+ "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
"base-4.17.0.0",
"base16-bytestring-1.0.2.0-2c05b63cefa5d7007acd478c1dbfe18a190bfba61d8945d4d5b87798ed9ca8c2",
"bytestring-0.11.3.1",
=====================================
hadrian/bootstrap/plan-9_4_5.json
=====================================
@@ -5,8 +5,9 @@
"compiler-id": "ghc-9.4.5",
"install-plan": [
{
+ "component-name": "lib",
"depends": [
- "Cabal-syntax-3.8.1.0",
+ "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
"array-0.5.4.0",
"base-4.17.1.0",
"bytestring-0.11.4.0",
@@ -23,12 +24,25 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+ "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
"pkg-name": "Cabal",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
+ "component-name": "lib",
"depends": [
"array-0.5.4.0",
"base-4.17.1.0",
@@ -46,10 +60,22 @@
"transformers-0.5.6.2",
"unix-2.7.3"
],
- "id": "Cabal-syntax-3.8.1.0",
+ "exe-depends": [],
+ "flags": {},
+ "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+ "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
"pkg-name": "Cabal-syntax",
- "pkg-version": "3.8.1.0",
- "type": "pre-existing"
+ "pkg-src": {
+ "repo": {
+ "type": "secure-repo",
+ "uri": "http://hackage.haskell.org/"
+ },
+ "type": "repo-tar"
+ },
+ "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "pkg-version": "3.10.1.0",
+ "style": "global",
+ "type": "configured"
},
{
"depends": [
@@ -341,7 +367,7 @@
"build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.5/hadrian-0.1.0.0/x/hadrian/build-info.json",
"component-name": "exe:hadrian",
"depends": [
- "Cabal-3.8.1.0",
+ "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
"base-4.17.1.0",
"base16-bytestring-1.0.2.0-1562190683b25c2fe2deaf09b565f90fb7542655a2a02b012fe1b10df4b7e2f4",
"bytestring-0.11.4.0",
=====================================
hadrian/bootstrap/plan-9_6_1.json
=====================================
@@ -7,7 +7,7 @@
{
"component-name": "lib",
"depends": [
- "Cabal-syntax-3.8.1.0-3ca25e89601c18bd49019a3d1e19420c47007f095f586f14636917297c1fc62a",
+ "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
"array-0.5.5.0",
"base-4.18.0.0",
"bytestring-0.11.4.0",
@@ -26,8 +26,8 @@
],
"exe-depends": [],
"flags": {},
- "id": "Cabal-3.8.1.0-372ffc7841ab6b7a5b1b38fc4fa05a1def6d41a4a28a05b6b16412d8d03e6fd6",
- "pkg-cabal-sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
+ "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+ "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
"pkg-name": "Cabal",
"pkg-src": {
"repo": {
@@ -36,8 +36,8 @@
},
"type": "repo-tar"
},
- "pkg-src-sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
- "pkg-version": "3.8.1.0",
+ "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "pkg-version": "3.10.1.0",
"style": "global",
"type": "configured"
},
@@ -62,8 +62,8 @@
],
"exe-depends": [],
"flags": {},
- "id": "Cabal-syntax-3.8.1.0-3ca25e89601c18bd49019a3d1e19420c47007f095f586f14636917297c1fc62a",
- "pkg-cabal-sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
+ "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+ "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
"pkg-name": "Cabal-syntax",
"pkg-src": {
"repo": {
@@ -72,8 +72,8 @@
},
"type": "repo-tar"
},
- "pkg-src-sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
- "pkg-version": "3.8.1.0",
+ "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "pkg-version": "3.10.1.0",
"style": "global",
"type": "configured"
},
@@ -384,7 +384,7 @@
"build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.1/hadrian-0.1.0.0/x/hadrian/build-info.json",
"component-name": "exe:hadrian",
"depends": [
- "Cabal-3.8.1.0-372ffc7841ab6b7a5b1b38fc4fa05a1def6d41a4a28a05b6b16412d8d03e6fd6",
+ "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
"base-4.18.0.0",
"base16-bytestring-1.0.2.0-b5940c21a059d328169082a7bf03f08fec9ea9cb300f6de1499ec2087f455bc8",
"bytestring-0.11.4.0",
=====================================
hadrian/bootstrap/plan-9_6_2.json
=====================================
@@ -7,7 +7,7 @@
{
"component-name": "lib",
"depends": [
- "Cabal-syntax-3.8.1.0-bbbf718cfbbd663054f4341b07dcb273c36b79e2447b99b75bc5e65249495f9f",
+ "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
"array-0.5.5.0",
"base-4.18.0.0",
"bytestring-0.11.4.0",
@@ -26,8 +26,8 @@
],
"exe-depends": [],
"flags": {},
- "id": "Cabal-3.8.1.0-7a8b83f34876a72e56865d5971de85c427928b628cb9a41bbf2a60c4512d85b0",
- "pkg-cabal-sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
+ "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+ "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
"pkg-name": "Cabal",
"pkg-src": {
"repo": {
@@ -36,8 +36,8 @@
},
"type": "repo-tar"
},
- "pkg-src-sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
- "pkg-version": "3.8.1.0",
+ "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "pkg-version": "3.10.1.0",
"style": "global",
"type": "configured"
},
@@ -62,8 +62,8 @@
],
"exe-depends": [],
"flags": {},
- "id": "Cabal-syntax-3.8.1.0-bbbf718cfbbd663054f4341b07dcb273c36b79e2447b99b75bc5e65249495f9f",
- "pkg-cabal-sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
+ "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+ "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
"pkg-name": "Cabal-syntax",
"pkg-src": {
"repo": {
@@ -72,8 +72,8 @@
},
"type": "repo-tar"
},
- "pkg-src-sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
- "pkg-version": "3.8.1.0",
+ "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "pkg-version": "3.10.1.0",
"style": "global",
"type": "configured"
},
@@ -384,7 +384,7 @@
"build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.2/hadrian-0.1.0.0/x/hadrian/build-info.json",
"component-name": "exe:hadrian",
"depends": [
- "Cabal-3.8.1.0-7a8b83f34876a72e56865d5971de85c427928b628cb9a41bbf2a60c4512d85b0",
+ "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
"base-4.18.0.0",
"base16-bytestring-1.0.2.0-53ed4e283858e02cbf91231d1ff6b983d0bc92a6868605ebee0c8b080a87d802",
"bytestring-0.11.4.0",
=====================================
hadrian/bootstrap/plan-bootstrap-9_4_1.json
=====================================
@@ -80,20 +80,30 @@
"package": "parsec",
"version": "3.1.15.0"
},
- {
- "package": "Cabal-syntax",
- "version": "3.8.1.0"
- },
{
"package": "process",
"version": "1.6.15.0"
- },
- {
- "package": "Cabal",
- "version": "3.8.1.0"
}
],
"dependencies": [
+ {
+ "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+ "flags": [],
+ "package": "Cabal-syntax",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "version": "3.10.1.0"
+ },
+ {
+ "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+ "flags": [],
+ "package": "Cabal",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "version": "3.10.1.0"
+ },
{
"cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
"flags": [],
@@ -211,10 +221,10 @@
"version": "3.3.1"
},
{
- "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+ "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
"flags": [],
"package": "primitive",
- "revision": 0,
+ "revision": 1,
"source": "hackage",
"src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
"version": "0.8.0.0"
=====================================
hadrian/bootstrap/plan-bootstrap-9_4_2.json
=====================================
@@ -80,20 +80,30 @@
"package": "parsec",
"version": "3.1.15.0"
},
- {
- "package": "Cabal-syntax",
- "version": "3.8.1.0"
- },
{
"package": "process",
"version": "1.6.15.0"
- },
- {
- "package": "Cabal",
- "version": "3.8.1.0"
}
],
"dependencies": [
+ {
+ "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+ "flags": [],
+ "package": "Cabal-syntax",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "version": "3.10.1.0"
+ },
+ {
+ "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+ "flags": [],
+ "package": "Cabal",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "version": "3.10.1.0"
+ },
{
"cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
"flags": [],
@@ -211,10 +221,10 @@
"version": "3.3.1"
},
{
- "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+ "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
"flags": [],
"package": "primitive",
- "revision": 0,
+ "revision": 1,
"source": "hackage",
"src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
"version": "0.8.0.0"
=====================================
hadrian/bootstrap/plan-bootstrap-9_4_3.json
=====================================
@@ -80,20 +80,30 @@
"package": "parsec",
"version": "3.1.15.0"
},
- {
- "package": "Cabal-syntax",
- "version": "3.8.1.0"
- },
{
"package": "process",
"version": "1.6.16.0"
- },
- {
- "package": "Cabal",
- "version": "3.8.1.0"
}
],
"dependencies": [
+ {
+ "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+ "flags": [],
+ "package": "Cabal-syntax",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "version": "3.10.1.0"
+ },
+ {
+ "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+ "flags": [],
+ "package": "Cabal",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "version": "3.10.1.0"
+ },
{
"cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
"flags": [],
@@ -211,10 +221,10 @@
"version": "3.3.1"
},
{
- "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+ "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
"flags": [],
"package": "primitive",
- "revision": 0,
+ "revision": 1,
"source": "hackage",
"src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
"version": "0.8.0.0"
=====================================
hadrian/bootstrap/plan-bootstrap-9_4_4.json
=====================================
@@ -80,20 +80,30 @@
"package": "parsec",
"version": "3.1.15.0"
},
- {
- "package": "Cabal-syntax",
- "version": "3.8.1.0"
- },
{
"package": "process",
"version": "1.6.16.0"
- },
- {
- "package": "Cabal",
- "version": "3.8.1.0"
}
],
"dependencies": [
+ {
+ "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+ "flags": [],
+ "package": "Cabal-syntax",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "version": "3.10.1.0"
+ },
+ {
+ "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+ "flags": [],
+ "package": "Cabal",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "version": "3.10.1.0"
+ },
{
"cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
"flags": [],
@@ -211,10 +221,10 @@
"version": "3.3.1"
},
{
- "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+ "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
"flags": [],
"package": "primitive",
- "revision": 0,
+ "revision": 1,
"source": "hackage",
"src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
"version": "0.8.0.0"
=====================================
hadrian/bootstrap/plan-bootstrap-9_4_5.json
=====================================
@@ -80,20 +80,30 @@
"package": "parsec",
"version": "3.1.16.1"
},
- {
- "package": "Cabal-syntax",
- "version": "3.8.1.0"
- },
{
"package": "process",
"version": "1.6.16.0"
- },
- {
- "package": "Cabal",
- "version": "3.8.1.0"
}
],
"dependencies": [
+ {
+ "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+ "flags": [],
+ "package": "Cabal-syntax",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "version": "3.10.1.0"
+ },
+ {
+ "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+ "flags": [],
+ "package": "Cabal",
+ "revision": 0,
+ "source": "hackage",
+ "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "version": "3.10.1.0"
+ },
{
"cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
"flags": [],
@@ -211,10 +221,10 @@
"version": "3.3.1"
},
{
- "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+ "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
"flags": [],
"package": "primitive",
- "revision": 0,
+ "revision": 1,
"source": "hackage",
"src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
"version": "0.8.0.0"
=====================================
hadrian/bootstrap/plan-bootstrap-9_6_1.json
=====================================
@@ -95,22 +95,22 @@
],
"dependencies": [
{
- "cabal_sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
+ "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
"flags": [],
"package": "Cabal-syntax",
- "revision": 3,
+ "revision": 0,
"source": "hackage",
- "src_sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
- "version": "3.8.1.0"
+ "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "version": "3.10.1.0"
},
{
- "cabal_sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
+ "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
"flags": [],
"package": "Cabal",
- "revision": 2,
+ "revision": 0,
"source": "hackage",
- "src_sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
- "version": "3.8.1.0"
+ "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "version": "3.10.1.0"
},
{
"cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
@@ -229,10 +229,10 @@
"version": "3.3.1"
},
{
- "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+ "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
"flags": [],
"package": "primitive",
- "revision": 0,
+ "revision": 1,
"source": "hackage",
"src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
"version": "0.8.0.0"
=====================================
hadrian/bootstrap/plan-bootstrap-9_6_2.json
=====================================
@@ -95,22 +95,22 @@
],
"dependencies": [
{
- "cabal_sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
+ "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
"flags": [],
"package": "Cabal-syntax",
- "revision": 3,
+ "revision": 0,
"source": "hackage",
- "src_sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
- "version": "3.8.1.0"
+ "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+ "version": "3.10.1.0"
},
{
- "cabal_sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
+ "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
"flags": [],
"package": "Cabal",
- "revision": 2,
+ "revision": 0,
"source": "hackage",
- "src_sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
- "version": "3.8.1.0"
+ "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+ "version": "3.10.1.0"
},
{
"cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
@@ -229,10 +229,10 @@
"version": "3.3.1"
},
{
- "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+ "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
"flags": [],
"package": "primitive",
- "revision": 0,
+ "revision": 1,
"source": "hackage",
"src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
"version": "0.8.0.0"
=====================================
hadrian/hadrian.cabal
=====================================
@@ -150,7 +150,7 @@ executable hadrian
, TypeOperators
other-extensions: MultiParamTypeClasses
, TypeFamilies
- build-depends: Cabal >= 3.2 && < 3.9
+ build-depends: Cabal >= 3.10 && < 3.11
, base >= 4.11 && < 5
, bytestring >= 0.10 && < 0.12
, containers >= 0.5 && < 0.7
=====================================
hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
=====================================
@@ -144,25 +144,29 @@ configurePackage context at Context {..} = do
need deps
-- Figure out what hooks we need.
+ let configureFile = replaceFileName (pkgCabalFile package) "configure"
+ -- induce dependency on the file
+ autoconfUserHooks = do
+ need [configureFile]
+ pure C.autoconfUserHooks
hooks <- case C.buildType (C.flattenPackageDescription gpd) of
- C.Configure -> pure C.autoconfUserHooks
+ C.Configure -> autoconfUserHooks
C.Simple -> pure C.simpleUserHooks
C.Make -> fail "build-type: Make is not supported"
-- The 'time' package has a 'C.Custom' Setup.hs, but it's actually
-- 'C.Configure' plus a @./Setup test@ hook. However, Cabal is also
-- 'C.Custom', but doesn't have a configure script.
C.Custom -> do
- configureExists <- doesFileExist $
- replaceFileName (pkgCabalFile package) "configure"
- pure $ if configureExists then C.autoconfUserHooks else C.simpleUserHooks
+ configureExists <- doesFileExist configureFile
+ if configureExists then autoconfUserHooks else pure C.simpleUserHooks
-- Compute the list of flags, and the Cabal configuration arguments
flagList <- interpret (target context (Cabal Flags stage) [] []) getArgs
argList <- interpret (target context (Cabal Setup stage) [] []) getArgs
trackArgsHash (target context (Cabal Flags stage) [] [])
trackArgsHash (target context (Cabal Setup stage) [] [])
- verbosity <- getVerbosity
- let v = if verbosity >= Diagnostic then "-v3" else "-v0"
+ verbosity <- getVerbosity
+ let v = shakeVerbosityToCabalFlag verbosity
argList' = argList ++ ["--flags=" ++ unwords flagList, v]
when (verbosity >= Verbose) $
putProgressInfo $ "| Package " ++ quote (pkgName package) ++ " configuration flags: " ++ unwords argList'
@@ -185,12 +189,18 @@ copyPackage context at Context {..} = do
ctxPath <- Context.contextPath context
pkgDbPath <- packageDbPath (PackageDbLoc stage iplace)
verbosity <- getVerbosity
- let v = if verbosity >= Diagnostic then "-v3" else "-v0"
+ let v = shakeVerbosityToCabalFlag verbosity
traced "cabal-copy" $
C.defaultMainWithHooksNoReadArgs C.autoconfUserHooks gpd
[ "copy", "--builddir", ctxPath, "--target-package-db", pkgDbPath, v ]
-
+-- | Increase by 1 by because 'simpleUserHooks' calls 'lessVerbose'
+shakeVerbosityToCabalFlag :: Verbosity -> String
+shakeVerbosityToCabalFlag = \case
+ Diagnostic -> "-v3"
+ Verbose -> "-v3"
+ Silent -> "-v0"
+ _ -> "-v2"
-- | What type of file is Main
data MainSourceType = HsMain | CppMain | CMain
=====================================
hadrian/src/Hadrian/Oracles/Cabal/Rules.hs
=====================================
@@ -73,7 +73,7 @@ cabalOracle = do
$ addKnownProgram ghcPkgProgram
$ emptyProgramDb
(compiler, maybePlatform, _pkgdb) <- liftIO $
- configure silent Nothing Nothing progDb
+ configure normal Nothing Nothing progDb
let platform = fromMaybe (error msg) maybePlatform
msg = "PackageConfiguration oracle: cannot detect platform"
return $ PackageConfiguration (compiler, platform)
=====================================
hadrian/src/Settings/Builders/Cabal.hs
=====================================
@@ -83,7 +83,6 @@ cabalSetupArgs = builder (Cabal Setup) ? do
commonCabalArgs :: Stage -> Args
commonCabalArgs stage = do
- verbosity <- expr getVerbosity
pkg <- getPackage
package_id <- expr $ pkgUnitId stage pkg
let prefix = "${pkgroot}" ++ (if windowsHost then "" else "/..")
@@ -127,9 +126,7 @@ commonCabalArgs stage = do
, with Alex
, with Happy
-- Update Target.trackArgument if changing these:
- , verbosity < Verbose ?
- pure [ "-v0", "--configure-option=--quiet"
- , "--configure-option=--disable-option-checking" ] ]
+ ]
-- TODO: Isn't vanilla always built? If yes, some conditions are redundant.
-- TODO: Need compiler_stage1_CONFIGURE_OPTS += --disable-library-for-ghci?
=====================================
hadrian/stack.yaml
=====================================
@@ -17,3 +17,7 @@ nix:
- ncurses
- perl
- ghc-toolchain
+
+extra-deps:
+ - Cabal-3.10.1.0
+ - Cabal-syntax-3.10.1.0
=====================================
hadrian/stack.yaml.lock
=====================================
@@ -3,7 +3,21 @@
# For more information, please see the documentation at:
# https://docs.haskellstack.org/en/stable/lock_files
-packages: []
+packages:
+- completed:
+ hackage: Cabal-3.10.1.0 at sha256:6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94,12316
+ pantry-tree:
+ sha256: 3d175ab2e29f17494599bf5844d0037d01fd04287ac5d50c5c788b0633a8ee6f
+ size: 9223
+ original:
+ hackage: Cabal-3.10.1.0
+- completed:
+ hackage: Cabal-syntax-3.10.1.0 at sha256:bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7,7434
+ pantry-tree:
+ sha256: bb1e418f0eb0976bbf4f50491ef4f2b737121bb866e22d07cff1de91f199db7e
+ size: 11052
+ original:
+ hackage: Cabal-syntax-3.10.1.0
snapshots:
- completed:
size: 650475
=====================================
rts/.gitignore
=====================================
@@ -18,6 +18,7 @@
/config.status
/configure
+/external-symbols.list
/ghcautoconf.h.autoconf.in
/ghcautoconf.h.autoconf
/include/ghcautoconf.h
=====================================
rts/configure.ac
=====================================
@@ -55,3 +55,44 @@ cat $srcdir/../mk/config.h ghcautoconf.h.autoconf | sed \
>> include/ghcautoconf.h
echo "#endif /* __GHCAUTOCONF_H__ */" >> include/ghcautoconf.h
]
+
+dnl ######################################################################
+dnl Generate external symbol flags (-Wl,-u...)
+dnl ######################################################################
+
+dnl See Note [Undefined symbols in the RTS]
+
+[
+symbolExtraDefs=''
+if [[ "$CABAL_FLAG_find_ptr" = 1 ]]; then
+ symbolExtraDefs+=' -DFIND_PTR'
+fi
+
+cat $srcdir/external-symbols.list.in \
+ | "$CC" $symbolExtraDefs -E -P -traditional -Iinclude - -o - \
+ | sed -e '/^ *$/d' \
+ > external-symbols.list \
+ || exit 1
+
+if [[ "$CABAL_FLAG_leading_underscore" = 1 ]]; then
+ sedExpr='s/^(.*)$/ "-Wl,-u,_\1"/'
+else
+ sedExpr='s/^(.*)$/ "-Wl,-u,\1"/'
+fi
+sed -E -e "${sedExpr}" external-symbols.list > external-symbols.flags
+unset sedExpr
+rm -f external-symbols.list
+]
+
+dnl ######################################################################
+dnl Generate build-info
+dnl ######################################################################
+
+[
+cat $srcdir/rts.buildinfo.in \
+ | "$CC" -E -P -traditional - -o - \
+ | sed -e '/^ *$/d' \
+ > rts.buildinfo \
+ || exit 1
+rm -f external-symbols.flags
+]
=====================================
rts/external-symbols.list.in
=====================================
@@ -0,0 +1,97 @@
+#include "ghcautoconf.h"
+
+#if 0
+See Note [Undefined symbols in the RTS]
+#endif
+
+#if mingw32_HOST_OS
+base_GHCziEventziWindows_processRemoteCompletion_closure
+#endif
+
+#if FIND_PTR
+findPtr
+#endif
+
+base_GHCziTopHandler_runIO_closure
+base_GHCziTopHandler_runNonIO_closure
+ghczmprim_GHCziTupleziPrim_Z0T_closure
+ghczmprim_GHCziTypes_True_closure
+ghczmprim_GHCziTypes_False_closure
+base_GHCziPack_unpackCString_closure
+base_GHCziWeakziFinalizze_runFinalizzerBatch_closure
+base_GHCziIOziException_stackOverflow_closure
+base_GHCziIOziException_heapOverflow_closure
+base_GHCziIOziException_allocationLimitExceeded_closure
+base_GHCziIOziException_blockedIndefinitelyOnMVar_closure
+base_GHCziIOziException_blockedIndefinitelyOnSTM_closure
+base_GHCziIOziException_cannotCompactFunction_closure
+base_GHCziIOziException_cannotCompactPinned_closure
+base_GHCziIOziException_cannotCompactMutable_closure
+base_GHCziIOPort_doubleReadException_closure
+base_ControlziExceptionziBase_nonTermination_closure
+base_ControlziExceptionziBase_nestedAtomically_closure
+base_GHCziEventziThread_blockedOnBadFD_closure
+base_GHCziConcziSync_runSparks_closure
+base_GHCziConcziIO_ensureIOManagerIsRunning_closure
+base_GHCziConcziIO_interruptIOManager_closure
+base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure
+base_GHCziConcziSignal_runHandlersPtr_closure
+base_GHCziTopHandler_flushStdHandles_closure
+base_GHCziTopHandler_runMainIO_closure
+ghczmprim_GHCziTypes_Czh_con_info
+ghczmprim_GHCziTypes_Izh_con_info
+ghczmprim_GHCziTypes_Fzh_con_info
+ghczmprim_GHCziTypes_Dzh_con_info
+ghczmprim_GHCziTypes_Wzh_con_info
+base_GHCziPtr_Ptr_con_info
+base_GHCziPtr_FunPtr_con_info
+base_GHCziInt_I8zh_con_info
+base_GHCziInt_I16zh_con_info
+base_GHCziInt_I32zh_con_info
+base_GHCziInt_I64zh_con_info
+base_GHCziWord_W8zh_con_info
+base_GHCziWord_W16zh_con_info
+base_GHCziWord_W32zh_con_info
+base_GHCziWord_W64zh_con_info
+base_GHCziStable_StablePtr_con_info
+hs_atomic_add8
+hs_atomic_add16
+hs_atomic_add32
+hs_atomic_add64
+hs_atomic_sub8
+hs_atomic_sub16
+hs_atomic_sub32
+hs_atomic_sub64
+hs_atomic_and8
+hs_atomic_and16
+hs_atomic_and32
+hs_atomic_and64
+hs_atomic_nand8
+hs_atomic_nand16
+hs_atomic_nand32
+hs_atomic_nand64
+hs_atomic_or8
+hs_atomic_or16
+hs_atomic_or32
+hs_atomic_or64
+hs_atomic_xor8
+hs_atomic_xor16
+hs_atomic_xor32
+hs_atomic_xor64
+hs_cmpxchg8
+hs_cmpxchg16
+hs_cmpxchg32
+hs_cmpxchg64
+hs_xchg8
+hs_xchg16
+hs_xchg32
+hs_xchg64
+hs_atomicread8
+hs_atomicread16
+hs_atomicread32
+hs_atomicread64
+hs_atomicwrite8
+hs_atomicwrite16
+hs_atomicwrite32
+hs_atomicwrite64
+base_GHCziStackziCloneStack_StackSnapshot_closure
=====================================
rts/rts.buildinfo.in
=====================================
@@ -0,0 +1,3 @@
+-- External symbols referenced by the RTS
+ld-options:
+#include "external-symbols.flags"
=====================================
rts/rts.cabal.in
=====================================
@@ -14,9 +14,12 @@ build-type: Configure
extra-source-files:
configure
configure.ac
+ external-symbols.list.in
+ rts.buildinfo.in
extra-tmp-files:
autom4te.cache
+ rts.buildinfo
config.log
config.status
@@ -301,197 +304,6 @@ library
stg/Ticky.h
stg/Types.h
- -- See Note [Undefined symbols in the RTS]
- if flag(leading-underscore)
- ld-options:
- "-Wl,-u,_base_GHCziTopHandler_runIO_closure"
- "-Wl,-u,_base_GHCziTopHandler_runNonIO_closure"
- "-Wl,-u,_ghczmprim_GHCziTupleziPrim_Z0T_closure"
- "-Wl,-u,_ghczmprim_GHCziTypes_True_closure"
- "-Wl,-u,_ghczmprim_GHCziTypes_False_closure"
- "-Wl,-u,_base_GHCziPack_unpackCString_closure"
- "-Wl,-u,_base_GHCziWeakziFinalizze_runFinalizzerBatch_closure"
- "-Wl,-u,_base_GHCziIOziException_stackOverflow_closure"
- "-Wl,-u,_base_GHCziIOziException_heapOverflow_closure"
- "-Wl,-u,_base_GHCziIOziException_allocationLimitExceeded_closure"
- "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
- "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
- "-Wl,-u,_base_GHCziIOziException_cannotCompactFunction_closure"
- "-Wl,-u,_base_GHCziIOziException_cannotCompactPinned_closure"
- "-Wl,-u,_base_GHCziIOziException_cannotCompactMutable_closure"
- "-Wl,-u,_base_GHCziIOPort_doubleReadException_closure"
- "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure"
- "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure"
- "-Wl,-u,_base_GHCziEventziThread_blockedOnBadFD_closure"
- "-Wl,-u,_base_GHCziConcziSync_runSparks_closure"
- "-Wl,-u,_base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
- "-Wl,-u,_base_GHCziConcziIO_interruptIOManager_closure"
- "-Wl,-u,_base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
- "-Wl,-u,_base_GHCziConcziSignal_runHandlersPtr_closure"
- "-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure"
- "-Wl,-u,_base_GHCziTopHandler_runMainIO_closure"
- "-Wl,-u,_ghczmprim_GHCziTypes_Czh_con_info"
- "-Wl,-u,_ghczmprim_GHCziTypes_Izh_con_info"
- "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info"
- "-Wl,-u,_ghczmprim_GHCziTypes_Dzh_con_info"
- "-Wl,-u,_ghczmprim_GHCziTypes_Wzh_con_info"
- "-Wl,-u,_base_GHCziPtr_Ptr_con_info"
- "-Wl,-u,_base_GHCziPtr_FunPtr_con_info"
- "-Wl,-u,_base_GHCziInt_I8zh_con_info"
- "-Wl,-u,_base_GHCziInt_I16zh_con_info"
- "-Wl,-u,_base_GHCziInt_I32zh_con_info"
- "-Wl,-u,_base_GHCziInt_I64zh_con_info"
- "-Wl,-u,_base_GHCziWord_W8zh_con_info"
- "-Wl,-u,_base_GHCziWord_W16zh_con_info"
- "-Wl,-u,_base_GHCziWord_W32zh_con_info"
- "-Wl,-u,_base_GHCziWord_W64zh_con_info"
- "-Wl,-u,_base_GHCziStable_StablePtr_con_info"
- "-Wl,-u,_hs_atomic_add8"
- "-Wl,-u,_hs_atomic_add16"
- "-Wl,-u,_hs_atomic_add32"
- "-Wl,-u,_hs_atomic_add64"
- "-Wl,-u,_hs_atomic_sub8"
- "-Wl,-u,_hs_atomic_sub16"
- "-Wl,-u,_hs_atomic_sub32"
- "-Wl,-u,_hs_atomic_sub64"
- "-Wl,-u,_hs_atomic_and8"
- "-Wl,-u,_hs_atomic_and16"
- "-Wl,-u,_hs_atomic_and32"
- "-Wl,-u,_hs_atomic_and64"
- "-Wl,-u,_hs_atomic_nand8"
- "-Wl,-u,_hs_atomic_nand16"
- "-Wl,-u,_hs_atomic_nand32"
- "-Wl,-u,_hs_atomic_nand64"
- "-Wl,-u,_hs_atomic_or8"
- "-Wl,-u,_hs_atomic_or16"
- "-Wl,-u,_hs_atomic_or32"
- "-Wl,-u,_hs_atomic_or64"
- "-Wl,-u,_hs_atomic_xor8"
- "-Wl,-u,_hs_atomic_xor16"
- "-Wl,-u,_hs_atomic_xor32"
- "-Wl,-u,_hs_atomic_xor64"
- "-Wl,-u,_hs_cmpxchg8"
- "-Wl,-u,_hs_cmpxchg16"
- "-Wl,-u,_hs_cmpxchg32"
- "-Wl,-u,_hs_cmpxchg64"
- "-Wl,-u,_hs_xchg8"
- "-Wl,-u,_hs_xchg16"
- "-Wl,-u,_hs_xchg32"
- "-Wl,-u,_hs_xchg64"
- "-Wl,-u,_hs_atomicread8"
- "-Wl,-u,_hs_atomicread16"
- "-Wl,-u,_hs_atomicread32"
- "-Wl,-u,_hs_atomicread64"
- "-Wl,-u,_hs_atomicwrite8"
- "-Wl,-u,_hs_atomicwrite16"
- "-Wl,-u,_hs_atomicwrite32"
- "-Wl,-u,_hs_atomicwrite64"
- "-Wl,-u,_base_GHCziStackziCloneStack_StackSnapshot_closure"
-
- if flag(find-ptr)
- -- This symbol is useful in gdb, but not referred to anywhere,
- -- so we need to force it to be included in the binary.
- ld-options: "-Wl,-u,_findPtr"
-
- else
- ld-options:
- "-Wl,-u,base_GHCziTopHandler_runIO_closure"
- "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
- "-Wl,-u,ghczmprim_GHCziTupleziPrim_Z0T_closure"
- "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
- "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
- "-Wl,-u,base_GHCziPack_unpackCString_closure"
- "-Wl,-u,base_GHCziWeakziFinalizze_runFinalizzerBatch_closure"
- "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
- "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
- "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
- "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
- "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
- "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
- "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
- "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
- "-Wl,-u,base_GHCziIOPort_doubleReadException_closure"
- "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
- "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
- "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
- "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
- "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
- "-Wl,-u,base_GHCziConcziIO_interruptIOManager_closure"
- "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
- "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
- "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
- "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
- "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
- "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
- "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
- "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
- "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
- "-Wl,-u,base_GHCziPtr_Ptr_con_info"
- "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
- "-Wl,-u,base_GHCziInt_I8zh_con_info"
- "-Wl,-u,base_GHCziInt_I16zh_con_info"
- "-Wl,-u,base_GHCziInt_I32zh_con_info"
- "-Wl,-u,base_GHCziInt_I64zh_con_info"
- "-Wl,-u,base_GHCziWord_W8zh_con_info"
- "-Wl,-u,base_GHCziWord_W16zh_con_info"
- "-Wl,-u,base_GHCziWord_W32zh_con_info"
- "-Wl,-u,base_GHCziWord_W64zh_con_info"
- "-Wl,-u,base_GHCziStable_StablePtr_con_info"
- "-Wl,-u,hs_atomic_add8"
- "-Wl,-u,hs_atomic_add16"
- "-Wl,-u,hs_atomic_add32"
- "-Wl,-u,hs_atomic_add64"
- "-Wl,-u,hs_atomic_sub8"
- "-Wl,-u,hs_atomic_sub16"
- "-Wl,-u,hs_atomic_sub32"
- "-Wl,-u,hs_atomic_sub64"
- "-Wl,-u,hs_atomic_and8"
- "-Wl,-u,hs_atomic_and16"
- "-Wl,-u,hs_atomic_and32"
- "-Wl,-u,hs_atomic_and64"
- "-Wl,-u,hs_atomic_nand8"
- "-Wl,-u,hs_atomic_nand16"
- "-Wl,-u,hs_atomic_nand32"
- "-Wl,-u,hs_atomic_nand64"
- "-Wl,-u,hs_atomic_or8"
- "-Wl,-u,hs_atomic_or16"
- "-Wl,-u,hs_atomic_or32"
- "-Wl,-u,hs_atomic_or64"
- "-Wl,-u,hs_atomic_xor8"
- "-Wl,-u,hs_atomic_xor16"
- "-Wl,-u,hs_atomic_xor32"
- "-Wl,-u,hs_atomic_xor64"
- "-Wl,-u,hs_cmpxchg8"
- "-Wl,-u,hs_cmpxchg16"
- "-Wl,-u,hs_cmpxchg32"
- "-Wl,-u,hs_cmpxchg64"
- "-Wl,-u,hs_xchg8"
- "-Wl,-u,hs_xchg16"
- "-Wl,-u,hs_xchg32"
- "-Wl,-u,hs_xchg64"
- "-Wl,-u,hs_atomicread8"
- "-Wl,-u,hs_atomicread16"
- "-Wl,-u,hs_atomicread32"
- "-Wl,-u,hs_atomicread64"
- "-Wl,-u,hs_atomicwrite8"
- "-Wl,-u,hs_atomicwrite16"
- "-Wl,-u,hs_atomicwrite32"
- "-Wl,-u,hs_atomicwrite64"
- "-Wl,-u,base_GHCziStackziCloneStack_StackSnapshot_closure"
-
- if flag(find-ptr)
- -- This symbol is useful in gdb, but not referred to anywhere,
- -- so we need to force it to be included in the binary.
- ld-options: "-Wl,-u,findPtr"
-
- if os(windows)
- if flag(leading-underscore)
- ld-options:
- "-Wl,-u,_base_GHCziEventziWindows_processRemoteCompletion_closure"
- else
- ld-options:
- "-Wl,-u,base_GHCziEventziWindows_processRemoteCompletion_closure"
-
if os(osx)
ld-options: "-Wl,-search_paths_first"
-- See Note [fd_set_overflow]
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/142f87401fb56b17616170bdfd736d10332d3dd5...a4fde569b31a64abb7c223548995aa6ecc009e98
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/142f87401fb56b17616170bdfd736d10332d3dd5...a4fde569b31a64abb7c223548995aa6ecc009e98
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230921/e52d0451/attachment-0001.html>
More information about the ghc-commits
mailing list