Commit 7a1bc0d3 authored by Joerg Bornemann's avatar Joerg Bornemann Committed by Simon Hausmann
Browse files

fix race in debug_and_release builds of static libs for Unix


Consider a debug_and_release build of a static library.
Set DESTDIR to different values for debug/release.
Let TARGET be the same for debug/release.
Now qmake would generate code in Unix Makefiles like this:
  rm mylib.a
  ar mylib.a ...objects...
  rm debug/mylib.a
  mv mylib.a debug/mylib.a
and for release analogous. This clashes when building in parallel.

This patch resolves this conflict by reducing the commands to:
  rm debug/mylib.a
  ar debug/mylib.a ...objects...

We believe that every ar implementation that's in use for Qt
is able to operate on files in subdirectories.

[ChangeLog][Important Behavior Changes][qmake][Unix] QMAKE_POST_LINK
steps of static libraries are now required to operate on $(TARGET) in
$(DESTDIR) instead of $$OUT_PWD. This matches the Windows backends.

Task-number: QTBUG-48287
Change-Id: I192f488ed74c56bc32862426d9e9d4237d9b8135
Reviewed-by: default avatarOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Showing with 6 additions and 11 deletions
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment