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.

Reply via email to