-
Notifications
You must be signed in to change notification settings - Fork 661
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Static waf changes #692
Closed
Closed
Static waf changes #692
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Done with ad hoc scripting hacks processing unused imports found by pyflakes: for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Logs.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^import waflib.Logs as Logs,/import/g' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/import waflib.Options as Options, /import /g' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^from waflib import Options,/from waflib import/g' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep ' imported but unused$' | sed "s/^\([^:]*\):[0-9]*:[0-9]* '\(.*\)'.*/\1 \2/g" | while read f lib; do sed -i "/^import $lib$/d" $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import Options$/d' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.TaskGen.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import TaskGen$/d' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Task.Task.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Task import Task$/d' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Tools.winres.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Tools import winres$/d' $f; done for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Utils.* but unused' | cut -d: -f1 | while read f; do sed -i '/^import waflib.Utils as Utils$/d' $f; done
Manual fix of pyflake warnings: libs/ardour/wscript:3:1 'waflib.Tools' imported but unused wscript:9:1 'waflib.Build.Context' imported but unused
pyflakes correctly points out problems like: gtk2_ardour/wscript:537:5 local variable 'VERSION' is assigned to but never used
https://waf.io/book/ says By default, the project name and version are set to noname and 1.0. To change them, it is necessary to provide two additional variables in the top-level project file - and waf code inspection confirms that waf itself only will use the top level VERSION. Some wscripts will use bld.env['VERSION'] but that will also just use the value set in the top wscript.
https://waf.io/book/ says By default, the project name and version are set to noname and 1.0. To change them, it is necessary to provide two additional variables in the top-level project file - and waf code inspection confirms that waf itself only will use the top level APPNAME. Also, the 'waf dist' comment doesn't seem relevant - especially after this change - and is removed too. (Note: libs/evoral/wscript and libs/temporal/wscript still use APPNAME for other purposes.)
This gets rid of an odd use of "out".
'top' was a constant that was set to '.', even when inside subdirectories. It is thus not really top. I don't know if the intent was to use the actual top (which is available as bld.top_dir), but for now we make it explicit what we have and do.
Variables by these names are only used from the local wscript and when running "waf configure", which already for other reasons only can run at the top-level. These variables are thus not mandatory and not used.
It is not referenced anywhere, and also not set consistently.
manually rebased & merged |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The goal of this PR is to start cleaning up the build files, making them more maintainable.
This is mainly removing unused stuff - very few + lines.
The history is clean - see and review (and cherry-pick) the individual changes.
pyflakes will quite reliably catch many potential problems in such cleanup. Just running any build command will also cover most of these changes. As additional testing, I suggest running a build and verifying that rare build targets such as i18n updates and release scripts work as usual. I'm less familiar with how this usually works and there could be changes or use cases I failed to notice.