Skip to content
  • Peter Maydell's avatar
    configure: Put tempfiles in a subdir of the build directory · 8cd05ab6
    Peter Maydell authored
    
    
    When libtool support was added to configure, the new temporary files
    were left out of the list of files cleaned up on exit; this results
    in a lot of stale .lo files being left around in /tmp. Worse, libtool
    creates a /tmp/.libs directory which we can't easily clean up.
    
    Put all our temporary files in a single temporary directory created
    as a subdirectory of the build directory, so we can easily clean it up,
    and don't need fragile or complicated code for creation to avoid it
    clashing with temporary directories from other instances of QEMU
    configure or being subject to attack from adversaries who can write
    to /tmp.
    
    Since the temporaries now live in the build tree, we have no
    need to jump through hoops with a trap handler to try to remove
    them when configure exits; this fixes some weird bugs where hitting
    ^C during a configure run wouldn't actually make it stop, because
    we would run the trap handler but then not stop. (It is possible
    to get the trap handler semantics right but it is convoluted largely
    because of bugs in dash, so it is simpler to just avoid it.)
    
    Note that "temporary files go in the build directory, not /tmp" is
    the way autoconf behaves.
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
    8cd05ab6