Skip to content
Snippets Groups Projects
  • Simon Tatham's avatar
    a947c49b
    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
    History
    Move the Unix configure script up to the top level.
    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]