[Hackage] #295: ld-options parsing treats , as separator
Hackage
trac at galois.com
Wed Jun 18 13:16:57 EDT 2008
#295: ld-options parsing treats , as separator
----------------------------+-----------------------------------------------
Reporter: duncan | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Cabal-1.4
Component: Cabal library | Version: HEAD
Severity: normal | Keywords:
Difficulty: normal | Ghcversion: 6.8.2
Platform: |
----------------------------+-----------------------------------------------
Say we've got X11.buildinfo.in:
{{{
ld-options: @X_LIBS@ @LDFLAGS@
}}}
and imagine that someone has all kinds of crazy `LDFLAGS`:
{{{
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--hash-style=gnu -Wl,-z,relro -Wl
,--as-needed -Wl,-z,now"
}}}
Can you guess what happens?
We end up parsing that as:
{{{
ldOptions = ["-Wl", "-O1", "-Wl", "--sort-common",
"-Wl", "--hash-style=gnu",
"-Wl", "-z", "relro",
"-Wl", "--as-needed",
"-Wl", "-z", "now"]
}}}
This is because the parser for the `ld-options` field is defined using
`listField` which uses `parseOptCommaList` which uses space and `','` as
value separators. We should use just spaces for this field and also for
`cc-options` and `cpp-options`.
If we make this change we'll have to check that we're not going to break
things for existing .cabal files that might use ',' as a separator. Will
require an audit of .cabal files on hackage.
--
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/295>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects
More information about the cabal-devel
mailing list