diff options
Diffstat (limited to 'TODO.private')
-rw-r--r-- | TODO.private | 67 |
1 files changed, 44 insertions, 23 deletions
diff --git a/TODO.private b/TODO.private index 5af0544..693b7bb 100644 --- a/TODO.private +++ b/TODO.private @@ -28,13 +28,14 @@ priority on my list of things I don't have time to do right now is fixing up the GNU make test suite. Most importantly it needs to be made "parallelizable", so more than one regression can run at the same time (essentially, make the "work" directory local). Also, the CWD during -the test should be in the work directory; right now sometimes tests leak -files into the main directory which causes subsequent tests to fail -(some tests may need to be tweaked). Beyond that, any cleanup done to -make writing, reading, or handling tests simpler would be great! Please -feel free to make whatever changes you like to the current tests, given -some high-level goals, and that you'll port the current tests to -whatever you do :). +the test should be in the work directory or, better, a test-specific +temporary directory so each test gets a new directory; right now +sometimes tests leak files into the main directory which causes +subsequent tests to fail (some tests may need to be tweaked). Beyond +that, any cleanup done to make writing, reading, or handling tests +simpler would be great! Please feel free to make whatever changes you +like to the current tests, given some high-level goals, and that you'll +port the current tests to whatever you do :). The Rest of the List @@ -46,9 +47,9 @@ The Rest of the List 2) Option to check more than timestamps to determine if targets have changed. This is also a very big one. It's _close_ to my plate :), - and I have very definite ideas about how I want it done. Please - pick something else unless you must have this feature. If you try - it, please work _extremely_ closely with me on it. + and I have very definite ideas about how I would like it done. + Please pick something else unless you must have this feature. If + you try it, please work _extremely_ closely with me on it. 2a) Possibly a special case of this is the .KEEP_STATE feature of Sun's make. Some great folks at W U. in Canada did an implementation of @@ -95,7 +96,7 @@ The Rest of the List doing until #1 is done. 9) Right now the .PRECIOUS, .INTERMEDIATE, and .SECONDARY - psuedo-targets have different capabilities. For example, .PRECIOUS + pseudo-targets have different capabilities. For example, .PRECIOUS can take a "%", the others can't. Etc. These should all work the same, insofar as that makes sense. @@ -105,15 +106,35 @@ The Rest of the List very important for parallel builds: sometimes you need some stuff done first but you don't want to rebuild everything because of it. -11) Improved debugging/logging/etc. capabilities. This area is in - desparate need of work; the current -d, -s, etc. options are simply - insufficient. We need different levels of output: some that are - much less verbose. E.g., maybe just print one line about why make - decides to rebuild each target. Also, we could use something like - the -E option for preprocessors; this would print out makefiles - after resolving all includes, immediate variable reverences, etc. - Also, a way to turn on and off obeying the "@" token for scripts - that's independent of -n (so we could have them in effect for -n, - and have them not in effect without -n). - - Maybe other things. Contact me about the user interface. +11) Improved debugging/logging/etc. capabilities. Part of this is done: + I introduced a number of debugging enhancements. Tim Magill is (I + think) looking into options to control output more selectively. + One thing I want to do in debugging is add a flag to allow debugging + of variables as they're expanded (!). This would be incredibly + verbose, but could be invaluable when nothing else seems to work and + you just can't figure it out. The way variables are expanded now + means this isn't 100% trivial, but it probably won't be hard. + +12) Integration of Guile as an embedded scripting language. This means: + allowing Guile functions to be declared in makefiles somehow, then + providing a syntax for invoking them. At least one formulation of + that would have the function resolve to a string which would be + substituted in the makefile, kind of like $(shell ...) does now, but + using the embedded interpreter so there's no process forked of + course. Obviously this is an optional add-on feature. + + It could be more advanced than that, even, who knows? Maybe make + could provide Guile functions that allow Guile scripts more direct + access to internal make structures, somehow. This kind of thing + needs a lot of thought. + + Also there's always the flip side: in some very fundamental ways + make isn't the best choice right now for a complex build tool. It's + great for simple-to-medium tasks, but there are already other tools + available for the really tough situations. Ask yourself, + realistically, how much work is worthwhile to add to make, given the + fundamentals you can't really overcome without significantly + affecting backward compatibility--and then why not use another tool + in the first place? + + Something to think about. |