#!/usr/bin/perl # # Silly GHC ./Setup helper, simply to strip the DESTDIR away # when it is not passed in, and add "--copy-prefix" if it is. # use Config; use File::Spec; my $setup = File::Spec->catfile(File::Spec->curdir, "Setup$Config{_exe}"); my @args = grep !/^--[-\w]*prefix=$/, @ARGV; my $prompt_register; if ($args[0] eq 'copy') { if (@args != @ARGV and is_root()) { # if there's no prefix, we want an install. $args[0] = 'install'; } else { # If this is merely a copy, tell the user to "make register". $prompt_register = 1; } } print "*** Running: $setup @args\n"; my $rv = system($setup, @args); if ($rv == 0) { if ($prompt_register) { print << "."; *** Installed! If you would like to make Pugs a system-wide GHC package for use with other Haskell programs, type '$Config{make} register'. . } else { print << "."; *** Installed successfully! . } } else { print << "."; *** Installation failed (exit code $rv). . } exit $rv; sub is_root { local $@; eval('$> == 0') || $@; # System with no concepts of UIDs }