X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=distrib%2FMakefile-bin.in;h=fdfdb6a94872ee812ae337f872d9120d49e34de5;hb=ee9ef43a08a6c89168c7eca0983fc58a87fb4481;hp=199145bf5fd752b89d442d6ae9b400739e4c2243;hpb=b79cdcf08c9aa38d7dc3b07845dd9c52a36e1da7;p=ghc-hetmet.git diff --git a/distrib/Makefile-bin.in b/distrib/Makefile-bin.in index 199145b..fdfdb6a 100644 --- a/distrib/Makefile-bin.in +++ b/distrib/Makefile-bin.in @@ -181,26 +181,20 @@ config-pkgs :: 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 @@ -211,9 +205,15 @@ install-bin: 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