Changeset 99854 in vbox for trunk/Makefile.kmk
- Timestamp:
- May 18, 2023 2:57:20 PM (19 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Makefile.kmk
r99852 r99854 331 331 endif # qt6 332 332 else # x11 333 INSTALLS += qt5-bin334 qt5-bin_MODE = 755335 qt5-bin_INST = $(INST_BIN)336 ifdef VBOX_WITH_HARDENING337 # The wildcards are necessary to install the libs instead of the symlinks338 qt5-bin_SOURCES = \339 $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(VBOX_PATH_QT_LIB)/lib$(qtmod).so.*.*.*[0-9])=>lib$(qtmod).so.5)\340 $(foreach lib,$(VBOX_QT_PLUGINS),$(VBOX_PATH_QT)/$(lib)=>$(lib))341 else # !VBOX_WITH_HARDENING342 # For non-hardened builds we need to remove the RUNPATH. This stuff is343 # ugly but we need to prevent kBuild from hard-linking otherwise we344 # (indirectly) change the binaries in tools345 ifneq ($(KBUILD_TARGET),solaris)333 ifndef VBOX_WITH_QT6 334 INSTALLS += qt5-bin 335 qt5-bin_MODE = 755 336 qt5-bin_INST = $(INST_BIN) 337 ifdef VBOX_WITH_HARDENING 338 # The wildcards are necessary to install the libs instead of the symlinks 339 qt5-bin_SOURCES = \ 340 $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(VBOX_PATH_QT_LIB)/lib$(qtmod).so.*.*.*[0-9])=>lib$(qtmod).so.5) \ 341 $(foreach lib,$(VBOX_QT_PLUGINS),$(VBOX_PATH_QT)/$(lib)=>$(lib)) 342 else # !VBOX_WITH_HARDENING 343 # For non-hardened builds we need to remove the RUNPATH. This stuff is 344 # ugly but we need to prevent kBuild from hard-linking otherwise we 345 # (indirectly) change the binaries in tools 346 346 QT5_VERSION = 5.15.2 347 else 348 QT5_VERSION = 5.15.2 349 endif 350 qt5-bin_SOURCES = \ 351 $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)=>lib$(qtmod).so.5) \ 352 $(foreach lib,$(VBOX_QT_PLUGINS),$(qt5-bin_0_OUTDIR)/$(lib)=>$(lib)) 353 354 $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)): \ 355 $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT_LIB)/% | $$(qt5-bin_0_OUTDIR)/ 356 $(call MSG_INST_FILE,$^,$@) 357 $(QUIET)$(CP) $^ $@ 358 $(QUIET)chrpath --replace "\$$ORIGIN" $@ 359 360 ifn1of ($(KBUILD_TARGET), solaris linux) 361 $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \ 362 $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/ 363 $(call MSG_INST_FILE,$^,$@) 364 $(QUIET)$(MKDIR) -p $(@D) 365 $(QUIET)$(CP) $^ $@ 366 $(QUIET)chrpath --delete $@ 367 endif # !solaris and !linux 368 369 # @todo For solaris and some linuxes dlopen fails to navigate executable rpath to dependent libraries, 370 # so add explicit rpath for libqxcb.so, find better solution later. 371 if1of ($(KBUILD_TARGET), solaris linux) 372 $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \ 373 $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/ 374 $(call MSG_INST_FILE,$^,$@) 375 $(QUIET)$(MKDIR) -p $(@D) 376 $(QUIET)$(CP) $^ $@ 377 $(QUIET)chrpath --replace "\$$ORIGIN/../../" $@ 378 endif # solaris linux 379 380 endif # !VBOX_WITH_HARDENING 347 qt5-bin_SOURCES = \ 348 $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)=>lib$(qtmod).so.5) \ 349 $(foreach lib,$(VBOX_QT_PLUGINS),$(qt5-bin_0_OUTDIR)/$(lib)=>$(lib)) 350 351 $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)): \ 352 $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT_LIB)/% | $$(qt5-bin_0_OUTDIR)/ 353 $(call MSG_INST_FILE,$^,$@) 354 $(QUIET)$(CP) $^ $@ 355 $(QUIET)chrpath --replace "\$$ORIGIN" $@ 356 357 ifn1of ($(KBUILD_TARGET), solaris linux) 358 $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \ 359 $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/ 360 $(call MSG_INST_FILE,$^,$@) 361 $(QUIET)$(MKDIR) -p $(@D) 362 $(QUIET)$(CP) $^ $@ 363 $(QUIET)chrpath --delete $@ 364 endif # !solaris and !linux 365 366 # @todo For solaris and some linuxes dlopen fails to navigate executable rpath to dependent libraries, 367 # so add explicit rpath for libqxcb.so, find better solution later. 368 if1of ($(KBUILD_TARGET), solaris linux) 369 $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \ 370 $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/ 371 $(call MSG_INST_FILE,$^,$@) 372 $(QUIET)$(MKDIR) -p $(@D) 373 $(QUIET)$(CP) $^ $@ 374 $(QUIET)chrpath --replace "\$$ORIGIN/../../" $@ 375 endif # solaris linux 376 377 endif # !VBOX_WITH_HARDENING 378 else # qt6 379 INSTALLS += qt6-bin 380 qt6-bin_MODE = 755 381 qt6-bin_INST = $(INST_BIN) 382 ifdef VBOX_WITH_HARDENING 383 # The wildcards are necessary to install the libs instead of the symlinks 384 qt6-bin_SOURCES = \ 385 $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(VBOX_PATH_QT_LIB)/lib$(qtmod).so.*.*.*[0-9])=>lib$(qtmod).so.6) \ 386 $(foreach lib,$(VBOX_QT_PLUGINS),$(VBOX_PATH_QT)/$(lib)=>$(lib)) 387 else # !VBOX_WITH_HARDENING 388 # For non-hardened builds we need to remove the RUNPATH. This stuff is 389 # ugly but we need to prevent kBuild from hard-linking otherwise we 390 # (indirectly) change the binaries in tools 391 QT5_VERSION = 6.3.0 392 qt6-bin_SOURCES = \ 393 $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(qt6-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)=>lib$(qtmod).so.6) \ 394 $(foreach lib,$(VBOX_QT_PLUGINS),$(qt6-bin_0_OUTDIR)/$(lib)=>$(lib)) 395 396 $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$$(qt6-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)): \ 397 $$(qt6-bin_0_OUTDIR)/% : $(VBOX_PATH_QT_LIB)/% | $$(qt6-bin_0_OUTDIR)/ 398 $(call MSG_INST_FILE,$^,$@) 399 $(QUIET)$(CP) $^ $@ 400 $(QUIET)chrpath --replace "\$$ORIGIN" $@ 401 402 ifn1of ($(KBUILD_TARGET), solaris linux) 403 $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt6-bin_0_OUTDIR)/$(lib)): \ 404 $$(qt6-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt6-bin_0_OUTDIR)/ 405 $(call MSG_INST_FILE,$^,$@) 406 $(QUIET)$(MKDIR) -p $(@D) 407 $(QUIET)$(CP) $^ $@ 408 $(QUIET)chrpath --delete $@ 409 endif # !solaris and !linux 410 411 # @todo For solaris and some linuxes dlopen fails to navigate executable rpath to dependent libraries, 412 # so add explicit rpath for libqxcb.so, find better solution later. 413 if1of ($(KBUILD_TARGET), solaris linux) 414 $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt6-bin_0_OUTDIR)/$(lib)): \ 415 $$(qt6-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt6-bin_0_OUTDIR)/ 416 $(call MSG_INST_FILE,$^,$@) 417 $(QUIET)$(MKDIR) -p $(@D) 418 $(QUIET)$(CP) $^ $@ 419 $(QUIET)chrpath --replace "\$$ORIGIN/../../" $@ 420 endif # solaris linux 421 422 endif # !VBOX_WITH_HARDENING 423 endif # qt6 381 424 endif # x11 382 425 endif # VBOX_WITH_ORACLE_QT || VBOX_WITH_QT_PAYLOAD
Note:
See TracChangeset
for help on using the changeset viewer.