Makefile: Pass LDFLAGS, CFLAGS, and CPPFLAGS through ghc and on to ld, cc, and cpp.

As a result of the Makefile changes, the Debian package is built
with various hardening options. Although their benefit to a largely
haskell program is unknown.
This commit is contained in:
Joey Hess 2015-08-19 13:53:57 -04:00
parent fec1568054
commit 485465107a
3 changed files with 18 additions and 1 deletions

12
Build/collect-ghc-options.sh Executable file
View file

@ -0,0 +1,12 @@
#!/bin/sh
# Generate --ghc-options to pass LDFLAGS, CFLAGS, and CPPFLAGS through ghc
# and on to ld, cc, and cpp.
for w in $LDFLAGS; do
printf -- "-optl%s\n" "$w"
done
for w in $CFLAGS; do
printf -- "-optc%s\n" "$w"
done
for w in $CPPFLAGS; do
printf -- "-optc-Wp,%s\n" "$w"
done

View file

@ -16,7 +16,7 @@ build: $(all)
Build/SysConfig.hs: configure.hs Build/TestConfig.hs Build/Configure.hs
if [ "$(CABAL)" = ./Setup ]; then ghc --make Setup; fi
$(CABAL) configure
$(CABAL) configure --ghc-options="$(shell Build/collect-ghc-options.sh)"
git-annex: Build/SysConfig.hs
$(CABAL) build

5
debian/changelog vendored
View file

@ -15,6 +15,11 @@ git-annex (5.20150813) UNRELEASED; urgency=medium
is not yet implemented in git-annex for the hurd.
* importfeed --relaxed: Avoid hitting the urls of items in the feed.
* Fix reversion in init when ran as root, introduced in version 5.20150731.
* Makefile: Pass LDFLAGS, CFLAGS, and CPPFLAGS through ghc and on to
ld, cc, and cpp.
* As a result of the Makefile changes, the Debian package is built
with various hardening options. Although their benefit to a largely
haskell program is unknown.
-- Joey Hess <id@joeyh.name> Wed, 12 Aug 2015 14:31:01 -0400