Граф коммитов

17 Коммитов

Автор SHA1 Сообщение Дата
Simon Tatham 4c49e29b19 Turn mkunxarc.sh back into an ordinary sh script.
It became bash-dependent in r9229 because I used a bashism to remove
the 'r' from the front of $SVN_REV, but that's not needed any more.

[originally from svn r10281]
[r9229 == bd60f2fc5b]
2014-10-01 20:52:16 +00:00
Simon Tatham 4d8782e74f Rework versioning system to not depend on Subversion.
I've shifted away from using the SVN revision number as a monotonic
version identifier (replacing it in the Windows version resource with
a count of days since an arbitrary epoch), and I've removed all uses
of SVN keyword expansion (replacing them with version information
written out by Buildscr).

While I'm at it, I've done a major rewrite of the affected code which
centralises all the computation of the assorted version numbers and
strings into Buildscr, so that they're all more or less alongside each
other rather than scattered across multiple source files.

I've also retired the MD5-based manifest file system. A long time ago,
it seemed like a good idea to arrange that binaries of PuTTY would
automatically cease to identify themselves as a particular upstream
version number if any changes were made to the source code, so that if
someone made a local tweak and distributed the result then I wouldn't
get blamed for the results. Since then I've decided the whole idea is
more trouble than it's worth, so now distribution tarballs will have
version information baked in and people can just cope with that.

[originally from svn r10262]
2014-09-24 10:33:13 +00:00
Simon Tatham a947c49bec Move the Unix configure script up to the top level.
Previously, 'configure' and its assorted machinery lived in the 'unix'
subdir, because that seemed like a clean place to keep it given that
all the other per-platform Makefiles live in their platform
directories. However, this never sat all that happily with autotools,
and even less so now that it likes to have object file pathnames
parallel source file pathnames: if you have Makefile.am refer to
source files outside its subdir as "../terminal.c" and enable
subdir-objects then any out-of-tree build calls the corresponding
object file "../terminal.o" and so your build products mostly end up
at the directory above your build dir! And as of autotools 1.14 my
previous compensatory bodge of prefixing every source file path in
Makefile.am with "$(srcdir)" has stopped working too.

So I'm giving in to necessity, and changing policy by moving the
configure machinery up to the top level of the source tree where
autotools will be less confused by it. This should not be taken as any
indication of the primacy of the Unix port, only of the recalcitrance
of autotools.

Whereas before we had a trivial script called 'configure' at the top
level that invoked unix/configure to effectively do an 'out-of-tree
build' (for make purposes) at the top level of the source tree, we now
have a similar script in unix/configure. So this _should_ make very
little difference: people who were previously running configure from
the top level should still be able to, and likewise people who were
running it from the unix subdir.

[originally from svn r10141]
2014-02-22 18:01:32 +00:00
Simon Tatham 1dff23a214 Introduce a new version type, 'prerelease'. Quotes the version number
it's a pre-release of, and the revision number so you can tell two
pre-releases apart. I intend to use this for builds from branch-0.61
until I call it 0.62 proper.

[originally from svn r9343]
2011-11-26 17:35:21 +00:00
Simon Tatham 64150a5ef2 Switch to using automake for the Unix autoconfigured build.
mkfiles.pl no longer generates a Makefile.in, but instead generates a
Makefile.am on which mkauto.sh runs automake. This means that the
autoconfigured makefile now does build-time dependency tracking (a
standard feature of automake-generated makefiles), and is generally
more like what Unix people will expect.

Some of the old-style make command-line settings (VER=-DRELEASE=foo,
XFLAGS=-DDEBUG) will still work; the COMPAT settings are better done
by autoconfiguration, and my habitual 'XFLAGS="-g -O0"' for an easily
debuggable build will actually not work any more because CFLAGS is
specified _after_ XFLAGS, so I should instead write 'make CFLAGS=-O0'
(-g is the default in automake, removed at 'make install' time).

The new makefile will automatically degrade into one that builds the
command-line tools only, in the case where GTK could not be found. In
principle, therefore, it should be an adequate replacement for _both_
the static Unix makefiles, Makefile.gtk and Makefile.ux. I haven't
actually retired those in this commit, but I'm pretty tempted.

[originally from svn r9239]
2011-07-23 11:33:29 +00:00
Simon Tatham bd60f2fc5b Fix version reporting in Unix builds versioned by a specific svn
revision ('Custom build r1234'). Those builds were passing
'-DSVN_REV=r1234' to version.c, instead of -DSVN_REV=1234 as they
should have, leading to silly run-time version messages such as
'plink: Custom build rr9226'.

To chop the r off the front of the revision string passed in, I've
used a bashism in mkunxarc.sh. I think this is an acceptable extra
dependency.

[originally from svn r9229]
2011-07-17 22:17:53 +00:00
Simon Tatham a45f89cdd4 Fixes for snapshot building using bob. All of releases, snapshots
and custom svn builds should now have appropriately named Unix
source archives and installer binaries, plus .htaccess files
providing redirects to them from totally standard filenames. I
_think_ this now makes it feasible to switch the nightly builds to
using bob.

[originally from svn r7226]
2007-02-05 12:49:24 +00:00
Simon Tatham 47e27618d8 mkunxarc.sh is supposed to be silent, so I'm having it discard the
stderr output from mkauto.sh. (I debated discarding it within
mkauto.sh itself, but decided against it.)

[originally from svn r5684]
2005-04-27 08:09:32 +00:00
Ben Harris 265950a800 Move generation of the "configure" script into its own script so that
people who check the code out of Subversion can get it to go.

[originally from svn r5674]
2005-04-25 16:36:43 +00:00
Ben Harris 0227bfdbc7 Add a mechanism for using autoconf to detect the quirks of Unix systems
rather than relying on the user to edit the Makefile.  Makefile.gtk
still works as well as it ever did, but now we get a Makefile.in alongside
it.  mkunxarc.sh now relies on autoconf and friends to build the configure
script for the Unix source distribution.

[originally from svn r5673]
2005-04-25 15:55:06 +00:00
Jacob Nevins cbfd7bb7f5 Make sure the docs in a Unix release tarball are generated with the correct
version info.

[originally from svn r5011]
2004-12-18 11:34:41 +00:00
Simon Tatham 7418a9a37f mkunxarc.sh was still including (mostly empty) .svn directories, and
that in turn was confusing the new doc/Makefile mechanism. Fixed the
former, and also put an additional safeguard in the latter in a
belt-and-braces sort of fashion.

[originally from svn r4806]
2004-11-17 18:27:04 +00:00
Simon Tatham 1b94cc85c6 Various changes related to the Subversion migration.
[originally from svn r4790]
2004-11-16 18:01:39 +00:00
Jacob Nevins aaeca0f4a0 Apparently sending the tar output to stdout rather than a file causes tar to
pad with trailing NULs, which slightly upsets old versions of gzip (1.2.4,
not 1.3.x), which upsets some of our correspondents.
Use -f to send it to a file instead. (It's not transparently clear what
happens when you mix -f and -C; I've tested this with ixion's tar, 1.13.25.)

Also add option -o to generate POSIX tar files, as for halibut/Makefile;
apparently this shuts up a `trailing garbage' error from WinZip.

[originally from svn r4429]
2004-08-09 17:01:25 +00:00
Simon Tatham 99b36b860a Hmm. Better turn that `make' into a `make -s', or else my nightly
snapshot cron job will fill my mailbox with goo every day.

[originally from svn r3971]
2004-03-25 09:03:37 +00:00
Simon Tatham 2fcbb1c7b7 The Unix source archive ought to have pre-built docs (in particular
man pages) in it, if only so that non-Halibut-users have what they
need.

[originally from svn r3968]
2004-03-24 19:50:46 +00:00
Simon Tatham 3f9dbeae19 Another admin script, to build the Unix source archive.
[originally from svn r3819]
2004-02-07 18:14:53 +00:00