Add a -U option to mkfiles.pl, which is just like -u except that it
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 20 Aug 2011 07:56:19 +0000 (07:56 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 20 Aug 2011 07:56:19 +0000 (07:56 +0000)
runs configure at the top level rather than the unix subdirectory. I'm
getting into the idea of even doing it that way myself, because then I
can do VPATH builds from the same source tree elsewhere.

(Autoconf seems to be fine with doing multiple VPATH builds from the
same source tree in different build directories, but gets upset if you
try to do a VPATH build when you've done a normal build in the real
configure directory. So this way I do what autoconf sees as _only_
VPATH builds.)

git-svn-id: svn://svn.tartarus.org/sgt/putty@9269 cda61777-01e9-0310-a592-d414129be87e

mkfiles.pl

index 29c248e..830de49 100755 (executable)
@@ -20,16 +20,19 @@ use FileHandle;
 use File::Basename;
 use Cwd;
 
-if ($#ARGV >= 0 and $ARGV[0] eq "-u") {
+if ($#ARGV >= 0 and ($ARGV[0] eq "-u" or $ARGV[0] eq "-U")) {
     # Convenience for Unix users: -u means that after we finish what
     # we're doing here, we also run mkauto.sh and then 'configure' in
     # the Unix subdirectory. So it's a one-stop shop for regenerating
     # the actual end-product Unix makefile.
     #
     # Arguments supplied after -u go to configure.
+    #
+    # -U is identical, but runs 'configure' at the _top_ level, for
+    # people who habitually do that.
+    $do_unix = ($ARGV[0] eq "-U" ? 2 : 1);
     shift @ARGV;
     @confargs = @ARGV;
-    $do_unix = 1;
 }
 
 open IN, "Recipe" or do {
@@ -1539,8 +1542,10 @@ if ($do_unix) {
     chdir $orig_dir;
     system "./mkauto.sh";
     die "mkfiles.pl: mkauto.sh returned $?\n" if $? > 0;
-    chdir ($targetdir = dirname($makefiles{"am"}))
-        or die "$targetdir: chdir: $!\n";
+    if ($do_unix == 1) {
+        chdir ($targetdir = dirname($makefiles{"am"}))
+            or die "$targetdir: chdir: $!\n";
+    }
     system "./configure", @confargs;
     die "mkfiles.pl: configure returned $?\n" if $? > 0;
 }