Skip to content
Snippets Groups Projects
  1. Feb 22, 2014
    • Simon Tatham's avatar
      Move the Unix configure script up to the top level. · a947c49b
      Simon Tatham authored
      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]
      a947c49b
  2. Jul 23, 2011
    • Simon Tatham's avatar
      Switch to using automake for the Unix autoconfigured build. · 64150a5e
      Simon Tatham authored
      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]
      64150a5e
  3. Apr 11, 2008
  4. Apr 02, 2008
  5. Apr 25, 2005
Loading