X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=distrib%2FMakefile-bin.in;h=fdfdb6a94872ee812ae337f872d9120d49e34de5;hb=83f7f7c6999e9abe6b363a2edf9739d29ac959ca;hp=5e2493ac0cb80de4c2f03082ca59d80b70961aea;hpb=75dffefc2018b3fd8bc41c87dd6b02f0975992d4;p=ghc-hetmet.git diff --git a/distrib/Makefile-bin.in b/distrib/Makefile-bin.in index 5e2493a..fdfdb6a 100644 --- a/distrib/Makefile-bin.in +++ b/distrib/Makefile-bin.in @@ -181,22 +181,12 @@ 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=$(CURRENT_DIR)/bin/$(platform)/$(package)-$(version) libdir=$(CURRENT_DIR)/lib/$(platform) datadir=$(CURRENT_DIR)/share/$(package)-$(version) - $(MAKE) $(MFLAGS) mk-version-symlinks @echo "Finished configuring..to use, add $(CURRENT_DIR)/bin/$(platform)/$(package)-$(version) to your PATH." install-dirs :: @@ -204,7 +194,7 @@ install-dirs :: (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 @@ -215,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