diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2008-04-25 19:05:33 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2008-04-25 19:05:33 +0000 |
commit | b6cdbf3a1874096a7b3f799faf17a93999a4da19 (patch) | |
tree | 7865a5bb18020ffc92787e0391d7438f3d7c5b60 /clone_build_tree.pl | |
parent | 0689a6548fecafd4b25b4dc09657a6410f81e6e6 (diff) | |
download | MPC-b6cdbf3a1874096a7b3f799faf17a93999a4da19.tar.gz |
ChangeLogTag: Fri Apr 25 19:05:59 UTC 2008 Chad Elliott <elliott_c@ociweb.com>
Diffstat (limited to 'clone_build_tree.pl')
-rwxr-xr-x | clone_build_tree.pl | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/clone_build_tree.pl b/clone_build_tree.pl index f9aa7c8a..3e821058 100755 --- a/clone_build_tree.pl +++ b/clone_build_tree.pl @@ -36,7 +36,7 @@ my($exclude) = undef; my($verbose) = 0; my($lbuildf) = 0; my(@foundFiles) = (); -my($version) = '1.14'; +my($version) = '1.15'; eval 'symlink("", "");'; my($hasSymlink) = ($@ eq ''); @@ -433,6 +433,8 @@ sub usageAndExit { "<current directory>/build.\n", "-d Set the directory permissions mode.\n", "-f Link build files (Makefile, .dsw, .sln, .etc).\n", + "-s Set the start directory. It defaults to the ", + "<current directory>.\n", "-v Enable verbose mode.\n"; exit(0); @@ -446,8 +448,9 @@ sub usageAndExit { my($dmode) = 0777; my($absolute) = 0; my($hardlink) = !$hasSymlink; -my($builddir) = getcwd() . '/build'; +my($builddir) = undef; my(@builds) = (); +my($startdir) = undef; for(my $i = 0; $i <= $#ARGV; ++$i) { if ($ARGV[$i] eq '-a') { @@ -490,6 +493,15 @@ for(my $i = 0; $i <= $#ARGV; ++$i) { elsif ($ARGV[$i] eq '-v') { $verbose = 1; } + elsif ($ARGV[$i] eq '-s') { + ++$i; + if (defined $ARGV[$i]) { + $startdir = $ARGV[$i]; + } + else { + usageAndExit('-s requires an argument'); + } + } elsif ($ARGV[$i] =~ /^-/) { usageAndExit('Unknown option: ' . $ARGV[$i]); } @@ -498,6 +510,13 @@ for(my $i = 0; $i <= $#ARGV; ++$i) { } } +if (defined $startdir && !chdir($startdir)) { + print "ERROR: Unable to change directory to $startdir\n"; + exit(1); +} + +$builddir = getcwd() . '/build' if (!defined $builddir); + if (index($builddir, getcwd()) == 0) { $exclude = substr($builddir, length(getcwd()) + 1); $exclude =~ s/([\+\-\\\$\[\]\(\)\.])/\\$1/g; |