1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00

Add a convenience option to mkfiles.pl for Unix users. If you run

'mkfiles.pl -u', it will do its normal processing, then run mkauto.sh
to regenerate configure and Makefile.in, then run configure in the
Unix subdirectory to regenerate unix/Makefile. So it's a handy
one-stop shop for going all the way from a modified Recipe to the
end-product Unix makefile, if you're adding source files during
development.

[originally from svn r9242]
This commit is contained in:
Simon Tatham 2011-07-23 11:58:37 +00:00
parent 4a3f8bf767
commit 53be75b0cb

View File

@ -17,8 +17,21 @@
use warnings;
use FileHandle;
use File::Basename;
use Cwd;
if ($#ARGV >= 0 and $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.
shift @ARGV;
@confargs = @ARGV;
$do_unix = 1;
}
open IN, "Recipe" or do {
# We want to deal correctly with being run from one of the
# subdirs in the source tree. So if we can't find Recipe here,
@ -399,6 +412,8 @@ sub manpages {
return ();
}
$orig_dir = cwd;
# Now we're ready to output the actual Makefiles.
if (defined $makefiles{'cygwin'}) {
@ -677,8 +692,6 @@ if (defined $makefiles{'vc'}) {
if (defined $makefiles{'vcproj'}) {
$dirpfx = &dirpfx($makefiles{'vcproj'}, "\\");
$orig_dir = cwd;
##-- MSVC 6 Workspace and projects
#
# Note: All files created in this section are written in binary
@ -1362,6 +1375,8 @@ if (defined $makefiles{'devcppproj'}) {
create_devcpp_project(\%all_object_deps, $progname);
}
chdir $orig_dir;
sub create_devcpp_project {
my ($all_object_deps, $progname) = @_;
# Construct program's dependency info (Taken from 'vcproj', seems to work right here, too.)
@ -1517,3 +1532,15 @@ if (defined $makefiles{'devcppproj'}) {
chdir "..";
}
}
# All done, so do the Unix postprocessing if asked to.
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";
system "./configure", @confargs;
die "mkfiles.pl: configure returned $?\n" if $? > 0;
}