X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=distrib%2FMakefile-bin.in;h=73f69ebc26980faf9fdeb44e7400b07c86d402c0;hb=5c60f4ca21334fa8b6324423b70ae044e5ad5bf9;hp=dd96114a1dc728f9dc0340657d85de195e471761;hpb=3d7f51b9c6b157f31f46623bfbd2408aafe137ab;p=ghc-hetmet.git diff --git a/distrib/Makefile-bin.in b/distrib/Makefile-bin.in index dd96114..73f69eb 100644 --- a/distrib/Makefile-bin.in +++ b/distrib/Makefile-bin.in @@ -22,7 +22,7 @@ # Note, if you specify /usr/foo/lib for libdir, # the library files for your fptools package will be # installed in /usr/foo/lib/-, e.g., -# /usr/foo/lib/ghc-2.07. If you don't want the package/version +# /usr/foo/lib/ghc-3.00. If you don't want the package/version # directory appended, you'll have to modify $(real_libdir) # below. # @@ -66,9 +66,9 @@ prefix = @prefix@ exec_prefix = @exec_prefix@ # default -infodir = $(datadir) -htmldir = $(datadir) -dvidir = $(datadir) +infodir = $(real_datadir) +htmldir = $(real_datadir) +dvidir = $(real_datadir) # # Putting the package stuff in package-specific @@ -85,8 +85,10 @@ CP = cp LN_S = @LN_S@ CHMOD = chmod INSTALL = @INSTALL@ -RAWCPP = @RAWCPP@ +exeext = @exeext@ SED = @SedCmd@ +TMPDIR = /tmp + # sigh INSTALL_DIR = ./mkdirhier @@ -98,7 +100,7 @@ INSTALL_DIR = ./mkdirhier VERSION_SYMLINKS_FOR=$(package) # Binaries to install -PACKAGE_BIN_INSTALL=$(PACKAGE_PRL_SCRIPTS) $(PACKAGE_SH_SCRIPTS) $(PACKAGE_BINS) +PACKAGE_BIN_INSTALL=$(PACKAGE_PRL_SCRIPTS) $(PACKAGE_SH_SCRIPTS) #----------end of user-serviceable parts------------ # @@ -134,7 +136,7 @@ config-pkgs :: echo '$$'"libexecdir='$(real_libdir)';" >> bin/$(platform)/$(package)-$(version)/$$i ; \ echo '$$'"datadir='$(real_datadir)';" >> bin/$(platform)/$(package)-$(version)/$$i ; \ echo '$$'"SED='$(SED)';" >> bin/$(platform)/$(package)-$(version)/$$i ; \ - echo '$$'"RAWCPP='$(RAWCPP)';" >> bin/$(platform)/$(package)-$(version)/$$i ; \ + echo '$$'"TMPDIR='$(TMPDIR)';" >> bin/$(platform)/$(package)-$(version)/$$i ; \ cat bin/$(platform)/$(package)-$(version)/$$i.prl >> bin/$(platform)/$(package)-$(version)/$$i ; \ $(CHMOD) $(BIN_PERMS) bin/$(platform)/$(package)-$(version)/$$i; \ echo "Done."; \ @@ -151,7 +153,7 @@ config-pkgs :: echo '$$'"libexecdir='$(real_libdir)';" >> lib/$(platform)/$(package)-$(version)/$$i ; \ echo '$$'"datadir='$(real_datadir)';" >> lib/$(platform)/$(package)-$(version)/$$i ; \ echo '$$'"SED='$(SED)';" >> lib/$(platform)/$(package)-$(version)/$$i ; \ - echo '$$'"RAWCPP='$(RAWCPP)';" >> lib/$(platform)/$(package)-$(version)/$$i ; \ + echo '$$'"TMPDIR='$(TMPDIR)';" >> lib/$(platform)/$(package)-$(version)/$$i ; \ cat lib/$(platform)/$(package)-$(version)/$$i.prl >> lib/$(platform)/$(package)-$(version)/$$i; \ $(CHMOD) $(BIN_PERMS) lib/$(platform)/$(package)-$(version)/$$i; \ echo "Done."; \ @@ -168,33 +170,27 @@ config-pkgs :: echo "libexecdir='$(real_libdir)'" >> bin/$(platform)/$(package)-$(version)/$$i ; \ echo "datadir='$(real_datadir)'" >> bin/$(platform)/$(package)-$(version)/$$i ; \ echo "SED='$(SED)'" >> bin/$(platform)/$(package)-$(version)/$$i ; \ - echo "RAWCPP='$(RAWCPP)'" >> bin/$(platform)/$(package)-$(version)/$$i ; \ + echo "TMPDIR='$(TMPDIR)'" >> bin/$(platform)/$(package)-$(version)/$$i ; \ cat bin/$(platform)/$(package)-$(version)/$$i.sh >> bin/$(platform)/$(package)-$(version)/$$i; \ $(CHMOD) $(BIN_PERMS) bin/$(platform)/$(package)-$(version)/$$i; \ echo "Done."; \ fi; \ done - -mk-version-symlinks :: - @for i in $(VERSION_SYMLINKS_FOR) ""; do \ - if [ "x$$i" != "x" ]; then \ - echo "Symlinking $$i to $$i-$(version)"; \ - (cd bin/$(platform)/$(package)-$(version); $(RM) $$i-$(version); $(LN_S) $$i $$i-$(version) ); \ - fi;\ - done +# Convert pwd's UNC reported path into DOS style +# (cygwin32 only.) +CURRENT_DIR = $(shell pwd | sed 's|^//\(.\)|\1:|' ) in-place :: - $(MAKE) $(MFLAGS) config-pkgs bindir=`pwd`/bin/$(platform)/$(package)-$(version) libdir=`pwd`/lib/$(platform) datadir=`pwd`/share/$(package)-$(version) - $(MAKE) $(MFLAGS) mk-version-symlinks - @echo "Finished configuring..to use, add `pwd`/bin/$(platform)/$(package)-$(version) to your PATH." + $(MAKE) $(MFLAGS) config-pkgs bindir=$(CURRENT_DIR)/bin/$(platform)/$(package)-$(version) libdir=$(CURRENT_DIR)/lib/$(platform) datadir=$(CURRENT_DIR)/share/$(package)-$(version) + @echo "Finished configuring..to use, add $(CURRENT_DIR)/bin/$(platform)/$(package)-$(version) to your PATH." install-dirs :: $(INSTALL_DIR) $(bindir) (cd lib/$(platform)/$(package)-$(version); find . -type d -exec sh -c '../../../$(INSTALL_DIR) $$0 $(real_libdir)/$$0' {} \; ) (cd share/$(package)-$(version); find . -type d -exec sh -c '../../$(INSTALL_DIR) $(real_datadir)/$$0' {} \; ) -install :: config-pkgs mk-version-symlinks install-dirs install-bin install-libs install-datas +install :: config-pkgs install-dirs install-bin install-libs install-datas .PHONY: install-bin install-libs install-datas @@ -202,12 +198,21 @@ install-bin: for i in $(PACKAGE_BIN_INSTALL); do \ $(INSTALL_BIN) bin/$(platform)/$(package)-$(version)/$$i $(bindir); \ done; + for i in $(PACKAGE_BINS); do \ + $(INSTALL_BIN) bin/$(platform)/$(package)-$(version)/$$i$(exeext) $(bindir); \ + done; for i in $(VERSION_SYMLINKS_FOR) ""; do \ if [ "x$$i" != "x" ]; then \ ( cd $(bindir); \ - $(RM) $$i-$(version); \ - $(MV) $$i $$i-$(version); \ - $(LN_S) $$i-$(version) $$i \ + if ( $(PERL) -e '$$fn="'$$i'"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \ + echo "Creating a symbol link from $$i-$(version) to $$i"; \ + $(RM) $$i; \ + $(LN_S) $$i-$(version) $$i; \ + else \ + echo "Creating a symbol link from $$i-$(version) to $$i failed: \`$$i' already exists"; \ + echo "Perhaps remove \`$$i' manually?"; \ + exit 1; \ + fi;\ ); \ fi; \ done