Talk:SCons

SCons supports out-of-source builds

Please see VariantDir functionality: http://www.scons.org/doc/production/HTML/scons-user.html#chap-separate

VariantDir copy can be disabled (support may vary per toolchain): http://www.scons.org/doc/production/HTML/scons-user.html#idp14633680

Wblevins (talk) 16:33, 14 June 2015 (UTC)


 * However, this requires explicit support from the SConstruct file, doesn't it? So the difference is: with autotools, every package (unless seriously broken) can be built out-of-source. With SCons, the author must explicitly permit it (and therefore know about it). //also, please use wiki signatures, the help opens itself// Michał Górny (talk) 15:57, 14 June 2015 (UTC)


 * Yes, it does currently. The fundamental argument seems to be that SCons doesn't behave like GNU autotools.  SCons is a cross-platform build tool, so it will never behave like an O/S native tool.  This makes SCons appealing to developers creating cross-platform tools that also do their own packaging, but third-party packagers may be at a disadvantage.  I would like to discuss how this can be addressed within reason; I think a big step forward here would be to have commandline arguments that modify the DefaultEnvironment directly giving users more ability to affect internal behavior (like setting compiler flags) in a SCons-like fashion and, ideally, creating a standard for SCons developer/packager interaction.  I don't think SCons will ever load environment variables automatically because this breaks the principle of repeatable builds.  Your article continually references GNU autotools, and that is convenient for linux-or-bust methods, but SCons developers (and other cross-platform build tool developers) would benefit more from references to GNU standards documents (if they exist); otherwise, the linux community is smothering the development of these build systems. Wblevins (talk) 16:33, 14 June 2015 (UTC)

Linux packaging use cases

Would you be interested in describing linux packaging use cases? It would be useful to separate mission critical cases from convenience cases. Wblevins (talk) 17:42, 14 June 2015 (UTC)