summaryrefslogtreecommitdiff
path: root/autogen.sh
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2017-09-22 16:51:22 +0300
committerTor Lillqvist <tml@collabora.com>2017-09-22 16:51:22 +0300
commitc32d54f244b0a18e0dcfcfceae140499e2dc3bbe (patch)
tree80b3edfee336f1724245508498abfc05eda8919b /autogen.sh
parent7df3faa8ebb05cdc36113d07910498d4ba180856 (diff)
Revert "Goodbye autogen.lastrun"
Welcome back autogen.lastrun. I just don't have the energy to convince tinderbox maintainers to fix their scripts. Oh well. This reverts commit 7496c83374f68148c62ac23a6e4c4c314d67273d.
Diffstat (limited to 'autogen.sh')
-rwxr-xr-xautogen.sh47
1 files changed, 45 insertions, 2 deletions
diff --git a/autogen.sh b/autogen.sh
index 02d160bdca92..a4bab811a36b 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,7 +1,15 @@
:
#
+# This script checks various configure parameters and uses three files:
+# * autogen.input (ro)
+# * autogen.lastrun (rw)
+# * autogen.lastrun.bak (rw)
+#
# If _no_ parameters:
-# Read args from autogen.input
+# Read args from autogen.input or autogen.lastrun
+# Else
+# Backup autogen.lastrun as autogen.lastrun.bak
+# Write autogen.lastrun with new commandline args
#
# Run configure with checked args
#
@@ -178,7 +186,7 @@ unlink ("configure");
system ("autoconf -I ${src_path}") && die "Failed to run autoconf";
die "Failed to generate the configure script" if (! -f "configure");
-# Handle help arguments first
+# Handle help arguments first, so we don't clobber autogen.lastrun
for my $arg (@ARGV) {
if ($arg =~ /^(--help|-h|-\?)$/) {
print STDOUT "autogen.sh - libreoffice configuration helper\n";
@@ -193,10 +201,24 @@ for my $arg (@ARGV) {
my @cmdline_args = ();
my $input = "autogen.input";
+my $lastrun = "autogen.lastrun";
if (!@ARGV) {
if (-f $input) {
+ if (-f $lastrun) {
+ print STDERR <<WARNING;
+********************************************************************
+*
+* Reading $input and ignoring $lastrun!
+* Consider removing $lastrun to get rid of this warning.
+*
+********************************************************************
+WARNING
+ }
@cmdline_args = read_args ($input);
+ } elsif (-f $lastrun) {
+ print STDERR "Reading $lastrun. Please rename it to $input to avoid this message.\n";
+ @cmdline_args = read_args ($lastrun);
}
} else {
if (-f $input) {
@@ -243,6 +265,27 @@ for my $arg (@args) {
if (defined $ENV{NOCONFIGURE}) {
print "Skipping configure process.";
} else {
+ # Save autogen.lastrun only if we did get some arguments on the command-line
+ if (! -f $input && @ARGV) {
+ if (scalar(@cmdline_args) > 0) {
+ # if there's already an autogen.lastrun, make a backup first
+ if (-e $lastrun) {
+ open (my $fh, $lastrun) || warn "Can't open $lastrun.\n";
+ open (BAK, ">$lastrun.bak") || warn "Can't create backup file $lastrun.bak.\n";
+ while (<$fh>) {
+ print BAK;
+ }
+ close (BAK) && close ($fh);
+ }
+ # print "Saving command-line args to $lastrun\n";
+ my $fh;
+ open ($fh, ">autogen.lastrun") || die "Can't open autogen.lastrun: $!";
+ for my $arg (@cmdline_args) {
+ print $fh "$arg\n";
+ }
+ close ($fh);
+ }
+ }
push @args, "--srcdir=$src_path";
push @args, "--enable-option-checking=$option_checking";