I've been experimenting with Tup and have one of our many build
configurations working. During this process I have come up with few
observations and comments.
1. I really like Tup's speed and dependency tracking.
2. Removing artifacts that are no longer required is a great feature.
However not having a clean can be inconvenient. Consider the situation
where your external tools, headers or libraries change. Since they aren't
under the .tup directory it doesn't trigger a rebuild. We are using GIT so
it's not that big an issue to clean up all build artifacts but I don't
think one should have to rely on the SCM for that functionality. We are
also doing builds out-of-source so it's easy to delete the entire derived
directory as well but again this isn't something that can be counted on for
all users.
3. The tup refactor command is awesome. I don't know how I lived
without it :)
4. The tup graph command is another command that is very helpful.
However it would be nice if I could control the output a little more. For
example prune any nodes that don't have inputs or outputs. Shorten output
of the command executed, perhaps by specifying a set of regular expressions
on how to trim it. Create a DAG that only shows the dependencies in the
sub-directory and below.
5. There doesn't seem to be a Windows 32 bit version of the current Tup
distribution, only 64 bit.
6. I started with tup syntax and tupfiles but soon found it was too
limiting for a complex build system and switched to LUA. It seems to me
that the documentation should quickly guide users to LUA or at least point
out areas where LUA should be used instead of the Tup syntax.
7. The description of <groups> wasn't clear and caused some issues.
Perhaps more examples using a multi-subdirectory tree to build a set of
libraries.
8. I'm using the %<group> option in my output. However when the command
is echoed during execution the %<group> isn't expanded so it's difficult to
know if the command was called with the correct inputs.
9. Currently our build system, based on gnu make, uses a collection of
shell, perl, awk, sed scripts to perform the build. It would be nice if I
could generate LUA script directly in a recipe and have it executed by Tup
directly without having to install LUA (one less tool dependency to deal
with).
10. On Windows the dll injection can interfere with other tools. For
example IncrediBuild and Tup do not work together. I suspect other tools
that monitor builds will have issues as well.
Thanks for creating this tool. I'm not sure if we'll move our build system
to it but it has pointed out one thing to me, our current build system is
in need of a major overhaul and Tup makes this plainly obvious.
--
--
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
---
You received this message because you are subscribed to the Google Groups
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.