-
Notifications
You must be signed in to change notification settings - Fork 568
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
FIX: ./configure.py --with-build-dir= #4245
base: master
Are you sure you want to change the base?
Conversation
source_paths = SourcePaths(os.path.dirname(argv[0])) | ||
source_paths = SourcePaths(os.path.dirname(os.path.realpath(__file__))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This caused the explained issue. argv[0]
may be a valid relative path (seen from $($pwd)
), but it is not valid when --with-build-dir=
drops the generated build files somewhere else and paths in there are relative to whatever argv[0]
was.
280fe9c
to
6052dac
Compare
6052dac
to
471925b
Compare
Rebased to master (to resolve a conflict with #4336). |
Turns out that listing all the object files with their absolute path can overwhelm Windows' upper limit on command lengths. I'll have a look into that as soon as I can. |
This allows using the cmake-ish flow of `mkdir build && cd build && ../configure.py` resulting in all build artefacts being dropped in build or build/build respectively.
471925b
to
0fc18fc
Compare
Rebased after #4350 was merged. |
Pull Request Dependencies
Description
Running
./configure.py --with-build-dir=mybuild
didn't work properly, because it produced a Makefile/ninja.build with paths relative to the base-directory of theconfigure.py
invocation (i.e.argv[0]
). It did work when invoking it like that:$(pwd)/configure.py --with-build-dir=mybuild
.The idea behind this patch is to always produce absolute paths in the Makefile/ninja.build. As a side effect, this allows us to remove a mingw workaround. Also, I cleaned up the ninja.build of
botan_bogo_shim
andbotan_ct_selftest
that both dropped their intermediate object files in the top-level build directory.Closes #4232
Closes #4342