summaryrefslogtreecommitdiff
path: root/distrib
diff options
context:
space:
mode:
authorsimonmar <unknown>2005-01-20 14:22:33 +0000
committersimonmar <unknown>2005-01-20 14:22:33 +0000
commitc830ae13ccd7373b5478e10382a57d497ebc6a40 (patch)
treed2c20dc72ccbab640452fe1b010fa3527a55a203 /distrib
parent850ee50c9e5e7bf0fde21f484c5f2f88fcb738a8 (diff)
downloadhaskell-c830ae13ccd7373b5478e10382a57d497ebc6a40.tar.gz
[project @ 2005-01-20 14:22:19 by simonmar]
Fill in the haddock-interfaces and haddock-html fields in the package.conf files. To do this I had to make some changes: - haddock-interfaces requires the value of $(datadir). We can't just plug this in, because $(datadir) might change at install-time (eg. a Windows installer can be placed anywhere, as can a Unix binary .tar.gz distribution). The current trick is for the compiler to splice in the value of $libdir in package.conf at runtime. So we could extend this mechanism and tell the compiler the value of $datadir via a command-line option, but that seems ugly. On Windows, $datadir==$libdir, so we don't need any changes: package.conf still uses $libdir, and a Windows installation is independent of its absolute location. Even 'make install' on Windows should have this property. On Unix: - for 'make install' and in-place execution, we just use absolute paths in package.conf - for a binary dist, we generate a package.conf that refers to $libdir and $datadir, and splice in the values at install-time (distrib/Makefile-bin.in). - Also, I renamed $libdir to $topdir to more closely reflect its actual meaning. This is somewhat malicious in that it will flush out all those clients using $libdir when they really shouldn't be :-)
Diffstat (limited to 'distrib')
-rw-r--r--distrib/Makefile-bin.in10
1 files changed, 9 insertions, 1 deletions
diff --git a/distrib/Makefile-bin.in b/distrib/Makefile-bin.in
index 4372ea92c7..09b6d6608c 100644
--- a/distrib/Makefile-bin.in
+++ b/distrib/Makefile-bin.in
@@ -166,10 +166,18 @@ config-pkgs ::
echo "Done."; \
fi; \
done
+ @for i in $(PACKAGE_LIB_SPLICED_FILES) ""; do \
+ if test "$$i"; then \
+ echo "Creating a configured version of $$i .."; \
+ if [ -f lib/$(platform)/$$i ]; then $(MV) lib/$(platform)/$$i lib/$(platform)/$$i.bak; fi; \
+ $(SED) -e "s|\$$libdir|$(libdir)|g \
+ s|\$$datadir|$(datadir)|g" <lib/$(platform)/$$i.bak >lib/$(platform)/$$i; \
+ fi; \
+ done
in-place ::
$(MAKE) $(MFLAGS) config-pkgs bindir=`pwd`/bin/$(platform) libdir=`pwd`/lib/$(platform) datadir=`pwd`/share
- if test -x "./post-inplace-script" ; then \
+ @if test -x "./post-inplace-script" ; then \
echo "Running project-specific post-inplace script ..." ; \
./post-inplace-script $(platform) `pwd` \
$(package)-$(version); \