diff options
author | simonmar <unknown> | 2005-01-20 14:22:33 +0000 |
---|---|---|
committer | simonmar <unknown> | 2005-01-20 14:22:33 +0000 |
commit | c830ae13ccd7373b5478e10382a57d497ebc6a40 (patch) | |
tree | d2c20dc72ccbab640452fe1b010fa3527a55a203 /distrib/Makefile-bin.in | |
parent | 850ee50c9e5e7bf0fde21f484c5f2f88fcb738a8 (diff) | |
download | haskell-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/Makefile-bin.in')
-rw-r--r-- | distrib/Makefile-bin.in | 10 |
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); \ |