0007-build-with-explicitlib-after-all.patch 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. From 523c7e3fd55c853dd424d57f28e225d57439cf89 Mon Sep 17 00:00:00 2001
  2. From: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
  3. Date: Thu, 3 Mar 2016 14:12:16 +0100
  4. Subject: [PATCH] build with explicitlib after all
  5. unlike speculated in 2fe363514, this is not a workaround at all: it
  6. causes that libraries' public link interfaces (LIBS) are exported in the
  7. first place. unlike with staticlib, this does not export LIBS_PRIVATE,
  8. so it wouldn't even be a particularly effective workaround for rpath
  9. brokenness anyway.
  10. the problem was pretty well hidden by the qt module system, which at the
  11. level of libraries is pretty redundant with the .prl file handling,
  12. which shows just how stupid the whole "design" is.
  13. unlike before, we now enable explicitlib for all libraries, not just qt
  14. modules - we enable create_prl for all of them as well, after all.
  15. an immediate effect of this change is that it fixes linking on RaspPI:
  16. the qtcore headers make the user code require linking libatomic, so we
  17. must add it to our public link interface.
  18. Task-number: QTBUG-51621
  19. Change-Id: I5742c88694db8e8a9b79d17222dc6df2b38e5ab2
  20. Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
  21. Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
  22. Upstream: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commit;h=523c7e3fd55c853dd424d57f28e225d57439cf89
  23. Signed-off: Peter Seiderer <ps.report@gmx.net>
  24. ---
  25. mkspecs/features/qt_build_config.prf | 4 ++++
  26. 1 file changed, 4 insertions(+)
  27. diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
  28. index 518fd93..b3081b9 100644
  29. --- a/mkspecs/features/qt_build_config.prf
  30. +++ b/mkspecs/features/qt_build_config.prf
  31. @@ -72,6 +72,10 @@ CONFIG += \
  32. # However, testcases should be still built with exceptions.
  33. exceptions_off testcase_exceptions
  34. +# Under Windows, this is neither necessary (transitive deps are automatically
  35. +# resolved), nor functional (.res files end up in .prl files and break things).
  36. +unix: CONFIG += explicitlib
  37. +
  38. defineTest(qtBuildPart) {
  39. bp = $$eval($$upper($$section(_QMAKE_CONF_, /, -2, -2))_BUILD_PARTS)
  40. --
  41. 2.7.4