VirtualBox

Changeset 99706 in vbox


Ignore:
Timestamp:
May 9, 2023 8:15:42 PM (22 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
157258
Message:

*.kmk: More SDK makefile cleanups. bugref:10442

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile.kmk

    r99701 r99706  
    224224 #       the Info.plist file goes into Resources.
    225225 #
    226  ifeq ($(KBUILD_TARGET),darwin)
    227   ifdef VBOX_WITH_QT6
    228    include $(KBUILD_PATH)/units/qt6.kmk
    229    VBOX_QT_FWRK_VER = A
    230    VBOX_QT_PATH    = $(PATH_SDK_QT6)
    231    VBOX_QT_PATH_LIB = $(PATH_SDK_QT6_LIB)
    232   else
    233    include $(KBUILD_PATH)/units/qt5.kmk
    234    VBOX_QT_FWRK_VER = 5
    235    VBOX_QT_PATH    = $(PATH_SDK_QT5)
    236    VBOX_QT_PATH_LIB = $(PATH_SDK_QT5_LIB)
    237   endif
    238   if defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
     226 if defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
     227  ifeq ($(KBUILD_TARGET),darwin)
     228   ifdef VBOX_WITH_QT6
     229    include $(KBUILD_PATH)/units/qt6.kmk
     230    VBOX_QT_FWRK_VER = A
     231    VBOX_QT_PATH   = $(PATH_SDK_QT6)
     232    VBOX_QT_PATH_LIB = $(PATH_SDK_QT6_LIB)
     233   else
     234    include $(KBUILD_PATH)/units/qt5.kmk
     235    VBOX_QT_FWRK_VER = 5
     236    VBOX_QT_PATH   = $(PATH_SDK_QT5)
     237    VBOX_QT_PATH_LIB = $(PATH_SDK_QT5_LIB)
     238   endif
    239239   INSTALLS += qt5-bin
    240   endif
    241   qt5-bin_INST = $(INST_VIRTUALBOX)Contents/
    242   qt5-bin_EXEC_SOURCES = $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
    243                 $(VBOX_QT_PATH_LIB)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)=>Frameworks/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod))
    244   qt5-bin_SOURCES = $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
    245                 $(VBOX_QT_PATH_LIB)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/Resources/Info.plist=>Frameworks/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/Resources/Info.plist)
    246   ifdef VBOX_WITH_QT_DSYMS
    247    qt5-bin_SOURCES += $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
    248                 $(VBOX_QT_PATH_LIB)/$(qtmod).framework.dSYM/Contents/Info.plist=>Frameworks/$(qtmod).framework.dSYM/Contents/Info.plist \
    249                 $(VBOX_QT_PATH_LIB)/$(qtmod).framework.dSYM/Contents/Resources/DWARF/$(qtmod)=>Frameworks/$(qtmod).framework.dSYM/Contents/Resources/DWARF/$(qtmod))
    250   endif
    251   qt5-bin_EXEC_SOURCES += \
    252         $(VBOX_QT_PATH)/plugins/platforms/libqcocoa$(SUFF_DLL)=>plugins/platforms/libqcocoa$(SUFF_DLL) \
    253         $(VBOX_QT_PATH)/plugins/platforms/libqminimal$(SUFF_DLL)=>plugins/platforms/libqminimal$(SUFF_DLL) \
    254         $(VBOX_QT_PATH)/plugins/platforms/libqoffscreen$(SUFF_DLL)=>plugins/platforms/libqoffscreen$(SUFF_DLL) \
    255         $(VBOX_QT_PATH)/plugins/sqldrivers/libqsqlite$(SUFF_DLL)=>plugins/sqldrivers/libqsqlite$(SUFF_DLL) \
    256         $(VBOX_QT_PATH)/plugins/styles/libqmacstyle$(SUFF_DLL)=>plugins/styles/libqmacstyle$(SUFF_DLL)
    257   ifdef VBOX_WITH_QT_DSYMS
    258    qt5-bin_SOURCES += $(foreach qtplat, libqcocoa libqminimal libqoffscreen, \
    259                 $(VBOX_QT_PATH)/plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Info.plist \
    260                 $(VBOX_QT_PATH)/plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtplat)$(SUFF_DLL)=>plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtplat)$(SUFF_DLL))
    261    qt5-bin_SOURCES += $(foreach qtsqldrv, libqsqlite, \
    262                 $(VBOX_QT_PATH)/plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Info.plist \
    263                 $(VBOX_QT_PATH)/plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtsqldrv)$(SUFF_DLL)=>plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtsqldrv)$(SUFF_DLL))
    264    qt5-bin_SOURCES += $(foreach qtstyl, libqmacstyle, \
    265                 $(VBOX_QT_PATH)/plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Info.plist \
    266                 $(VBOX_QT_PATH)/plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtstyl)$(SUFF_DLL)=>plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtstyl)$(SUFF_DLL))
    267   endif
    268   qt5-bin_SYMLINKS = $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \
    269                 Frameworks/$(qtmod).framework/Versions/Current=>$(VBOX_QT_FWRK_VER) \
    270                 Frameworks/$(qtmod).framework/$(qtmod)=>Versions/$(VBOX_QT_FWRK_VER)/$(qtmod) \
    271                 Frameworks/$(qtmod).framework/Resources=>Versions/$(VBOX_QT_FWRK_VER)/Resources)
    272   qt5-bin_INSTALLER = $(INSTALL) $(if $(uid),-o $(uid)) $(if $(gid),-g $(gid)) $(if $(mode),-m $(mode)) $(4) -- \
    273         "$(1)" "$(2)" $(if-expr "$(source_type_prefix)" == "EXEC_" \
    274                 ,$(NLTAB)install_name_tool \
    275                 $(if-expr "$(suffix $2)" == "", -id "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Framework,@rpath)/$(notdir $(2)).framework/Version/$(VBOX_QT_FWRK_VER)/$(notdir $(2))",) \
    276                 $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \
    277                         $(foreach prefix, @executable_path/../Frameworks/ $(VBOX_PATH_QT)/Frameworks/ $(VBOX_QT_PATH)/, \
    278                                 -change "$(prefix)$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)" \
    279                                 "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Frameworks,@rpath)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)" ) ) \
    280                 "$(2)",) # HACK ALERT! Using $(source_type_prefix) to detect EXEC_SOURCES.
    281  else # win x11
    282   if1of ($(KBUILD_TARGET), linux solaris)
    283    if !defined(VBOX_ONLY_BUILD) && defined(VBOX_WITH_QTGUI)
    284     ifneq ($(VBOX_GCC_VERSION_CXX),)
    285      if $(VBOX_GCC_VERSION_CXX) < 40400
    286       $(error gcc >= 4.4 required when compiling against Qt5!)
     240   qt5-bin_INST = $(INST_VIRTUALBOX)Contents/
     241   qt5-bin_EXEC_SOURCES = $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
     242                $(VBOX_QT_PATH_LIB)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)=>Frameworks/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod))
     243   qt5-bin_SOURCES = $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
     244                $(VBOX_QT_PATH_LIB)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/Resources/Info.plist=>Frameworks/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/Resources/Info.plist)
     245   ifdef VBOX_WITH_QT_DSYMS
     246    qt5-bin_SOURCES += $(foreach qtmod,$(VBOX_QT_MOD_NAMES), \
     247                $(VBOX_QT_PATH_LIB)/$(qtmod).framework.dSYM/Contents/Info.plist=>Frameworks/$(qtmod).framework.dSYM/Contents/Info.plist \
     248                $(VBOX_QT_PATH_LIB)/$(qtmod).framework.dSYM/Contents/Resources/DWARF/$(qtmod)=>Frameworks/$(qtmod).framework.dSYM/Contents/Resources/DWARF/$(qtmod))
     249   endif
     250   qt5-bin_EXEC_SOURCES += \
     251        $(VBOX_QT_PATH)/plugins/platforms/libqcocoa$(SUFF_DLL)=>plugins/platforms/libqcocoa$(SUFF_DLL) \
     252        $(VBOX_QT_PATH)/plugins/platforms/libqminimal$(SUFF_DLL)=>plugins/platforms/libqminimal$(SUFF_DLL) \
     253        $(VBOX_QT_PATH)/plugins/platforms/libqoffscreen$(SUFF_DLL)=>plugins/platforms/libqoffscreen$(SUFF_DLL) \
     254        $(VBOX_QT_PATH)/plugins/sqldrivers/libqsqlite$(SUFF_DLL)=>plugins/sqldrivers/libqsqlite$(SUFF_DLL) \
     255        $(VBOX_QT_PATH)/plugins/styles/libqmacstyle$(SUFF_DLL)=>plugins/styles/libqmacstyle$(SUFF_DLL)
     256   ifdef VBOX_WITH_QT_DSYMS
     257    qt5-bin_SOURCES += $(foreach qtplat, libqcocoa libqminimal libqoffscreen, \
     258                $(VBOX_QT_PATH)/plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Info.plist \
     259                $(VBOX_QT_PATH)/plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtplat)$(SUFF_DLL)=>plugins/platforms/$(qtplat)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtplat)$(SUFF_DLL))
     260    qt5-bin_SOURCES += $(foreach qtsqldrv, libqsqlite, \
     261                $(VBOX_QT_PATH)/plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Info.plist \
     262                $(VBOX_QT_PATH)/plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtsqldrv)$(SUFF_DLL)=>plugins/sqldrivers/$(qtsqldrv)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtsqldrv)$(SUFF_DLL))
     263    qt5-bin_SOURCES += $(foreach qtstyl, libqmacstyle, \
     264                $(VBOX_QT_PATH)/plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Info.plist=>plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Info.plist \
     265                $(VBOX_QT_PATH)/plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtstyl)$(SUFF_DLL)=>plugins/styles/$(qtstyl)$(SUFF_DLL).dSYM/Contents/Resources/DWARF/$(qtstyl)$(SUFF_DLL))
     266   endif
     267   qt5-bin_SYMLINKS = $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \
     268                Frameworks/$(qtmod).framework/Versions/Current=>$(VBOX_QT_FWRK_VER) \
     269                Frameworks/$(qtmod).framework/$(qtmod)=>Versions/$(VBOX_QT_FWRK_VER)/$(qtmod) \
     270                Frameworks/$(qtmod).framework/Resources=>Versions/$(VBOX_QT_FWRK_VER)/Resources)
     271   qt5-bin_INSTALLER = $(INSTALL) $(if $(uid),-o $(uid)) $(if $(gid),-g $(gid)) $(if $(mode),-m $(mode)) $(4) -- \
     272        "$(1)" "$(2)" $(if-expr "$(source_type_prefix)" == "EXEC_" \
     273                ,$(NLTAB)install_name_tool \
     274                $(if-expr "$(suffix $2)" == "", -id "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Framework,@rpath)/$(notdir $(2)).framework/Version/$(VBOX_QT_FWRK_VER)/$(notdir $(2))",) \
     275                $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \
     276                        $(foreach prefix, @executable_path/../Frameworks/ $(VBOX_PATH_QT)/Frameworks/ $(VBOX_QT_PATH)/, \
     277                                -change "$(prefix)$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)" \
     278                                "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Frameworks,@rpath)/$(qtmod).framework/Versions/$(VBOX_QT_FWRK_VER)/$(qtmod)" ) ) \
     279                "$(2)",) # HACK ALERT! Using $(source_type_prefix) to detect EXEC_SOURCES.
     280  else # win x11
     281   if1of ($(KBUILD_TARGET), linux solaris)
     282    if !defined(VBOX_ONLY_BUILD) && defined(VBOX_WITH_QTGUI)
     283     ifneq ($(VBOX_GCC_VERSION_CXX),)
     284      if $(VBOX_GCC_VERSION_CXX) < 40400
     285       $(error gcc >= 4.4 required when compiling against Qt5!)
     286      endif
    287287     endif
    288288    endif
    289289   endif
    290   endif
    291   if defined(VBOX_WITH_ORACLE_QT) || defined(VBOX_WITH_QT_PAYLOAD)
    292    include $(KBUILD_PATH)/units/qt5.kmk
    293    ifeq ($(KBUILD_TARGET),win)
    294     if defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
     290   if defined(VBOX_WITH_ORACLE_QT) || defined(VBOX_WITH_QT_PAYLOAD)
     291    include $(KBUILD_PATH)/units/qt5.kmk
     292    ifeq ($(KBUILD_TARGET),win)
    295293     INSTALLS += qt5-bin
    296     endif
    297     qt5-bin_MODE = 755
    298     qt5-bin_INST = $(INST_BIN)
    299     qt5-bin_SOURCES = \
    300         $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/bin/$(qtmod)$(SUFF_DLL)))
    301     qt5-bin_SOURCES += \
    302         $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qwindows$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qwindows$(VBOX_QT_DBG)$(SUFF_DLL) \
    303         $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qminimal$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qminimal$(VBOX_QT_DBG)$(SUFF_DLL) \
    304         $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qoffscreen$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qoffscreen$(VBOX_QT_DBG)$(SUFF_DLL) \
    305         $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/sqldrivers/qsqlite$(VBOX_QT_DBG)$(SUFF_DLL))=>sqldrivers/qsqlite$(VBOX_QT_DBG)$(SUFF_DLL) \
    306         $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/styles/qwindowsvistastyle$(VBOX_QT_DBG)$(SUFF_DLL))=>styles/qwindowsvistastyle$(VBOX_QT_DBG)$(SUFF_DLL)
    307     ifdef VBOX_WITH_QT_PDBS
     294     qt5-bin_MODE = 755
     295     qt5-bin_INST = $(INST_BIN)
     296     qt5-bin_SOURCES = \
     297        $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/bin/$(qtmod)$(SUFF_DLL)))
    308298     qt5-bin_SOURCES += \
    309         $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(PATH_SDK_QT5)/qt*/$(VBOX_PATH_QT_LIB)/$(qtmod).pdb))
    310     endif # VBOX_WITH_QT_PDBS
    311    else # x11
    312     if defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
     299        $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qwindows$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qwindows$(VBOX_QT_DBG)$(SUFF_DLL) \
     300        $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qminimal$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qminimal$(VBOX_QT_DBG)$(SUFF_DLL) \
     301        $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/platforms/qoffscreen$(VBOX_QT_DBG)$(SUFF_DLL))=>platforms/qoffscreen$(VBOX_QT_DBG)$(SUFF_DLL) \
     302        $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/sqldrivers/qsqlite$(VBOX_QT_DBG)$(SUFF_DLL))=>sqldrivers/qsqlite$(VBOX_QT_DBG)$(SUFF_DLL) \
     303        $(call VBOX_RE_SIGN_DLL_FN,qt5-bin,$(PATH_SDK_QT5)/plugins/styles/qwindowsvistastyle$(VBOX_QT_DBG)$(SUFF_DLL))=>styles/qwindowsvistastyle$(VBOX_QT_DBG)$(SUFF_DLL)
     304     ifdef VBOX_WITH_QT_PDBS
     305      qt5-bin_SOURCES += \
     306        $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(PATH_SDK_QT5)/qt*/$(VBOX_PATH_QT_LIB)/$(qtmod).pdb))
     307     endif # VBOX_WITH_QT_PDBS
     308    else # x11
    313309     INSTALLS += qt5-bin
    314     endif
    315     qt5-bin_MODE = 755
    316     qt5-bin_INST = $(INST_BIN)
    317     ifdef VBOX_WITH_HARDENING
    318      # The wildcards are necessary to install the libs instead of the symlinks
    319      qt5-bin_SOURCES = \
    320         $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(VBOX_PATH_QT_LIB)/lib$(qtmod).so.*.*.*[0-9])=>lib$(qtmod).so.5) \
    321         $(foreach lib,$(VBOX_QT_PLUGINS),$(VBOX_PATH_QT)/$(lib)=>$(lib))
    322     else # !VBOX_WITH_HARDENING
    323      # For non-hardened builds we need to remove the RUNPATH. This stuff is
    324      # ugly but we need to prevent kBuild from hard-linking otherwise we
    325      # (indirectly) change the binaries in tools
    326      ifneq ($(KBUILD_TARGET),solaris)
    327       QT5_VERSION = 5.15.2
    328      else
    329       QT5_VERSION = 5.15.2
    330      endif
    331      qt5-bin_SOURCES = \
    332         $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)=>lib$(qtmod).so.5) \
    333         $(foreach lib,$(VBOX_QT_PLUGINS),$(qt5-bin_0_OUTDIR)/$(lib)=>$(lib))
    334 
    335      $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)): \
    336                 $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT_LIB)/% | $$(qt5-bin_0_OUTDIR)/
     310     qt5-bin_MODE = 755
     311     qt5-bin_INST = $(INST_BIN)
     312     ifdef VBOX_WITH_HARDENING
     313      # The wildcards are necessary to install the libs instead of the symlinks
     314      qt5-bin_SOURCES = \
     315        $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(wildcard $(VBOX_PATH_QT_LIB)/lib$(qtmod).so.*.*.*[0-9])=>lib$(qtmod).so.5) \
     316        $(foreach lib,$(VBOX_QT_PLUGINS),$(VBOX_PATH_QT)/$(lib)=>$(lib))
     317     else # !VBOX_WITH_HARDENING
     318      # For non-hardened builds we need to remove the RUNPATH. This stuff is
     319      # ugly but we need to prevent kBuild from hard-linking otherwise we
     320      # (indirectly) change the binaries in tools
     321      ifneq ($(KBUILD_TARGET),solaris)
     322       QT5_VERSION = 5.15.2
     323      else
     324       QT5_VERSION = 5.15.2
     325      endif
     326      qt5-bin_SOURCES = \
     327        $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)=>lib$(qtmod).so.5) \
     328        $(foreach lib,$(VBOX_QT_PLUGINS),$(qt5-bin_0_OUTDIR)/$(lib)=>$(lib))
     329
     330      $(foreach qtmod,$(VBOX_QT_MOD_NAMES),$$(qt5-bin_0_OUTDIR)/lib$(qtmod).so.$(QT5_VERSION)): \
     331                $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT_LIB)/% | $$(qt5-bin_0_OUTDIR)/
    337332        $(call MSG_INST_FILE,$^,$@)
    338333        $(QUIET)$(CP) $^ $@
    339334        $(QUIET)chrpath --replace "\$$ORIGIN" $@
    340335
    341      ifn1of ($(KBUILD_TARGET), solaris linux)
    342       $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \
    343                 $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/
     336      ifn1of ($(KBUILD_TARGET), solaris linux)
     337       $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \
     338                $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/
    344339        $(call MSG_INST_FILE,$^,$@)
    345340        $(QUIET)$(MKDIR) -p $(@D)
    346341        $(QUIET)$(CP) $^ $@
    347342        $(QUIET)chrpath --delete $@
    348      endif # !solaris and !linux
    349 
    350      # @todo For solaris and some linuxes dlopen fails to navigate executable rpath to dependent libraries,
    351      #       so add explicit rpath for libqxcb.so, find better solution later.
    352      if1of ($(KBUILD_TARGET), solaris linux)
    353       $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \
    354                 $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/
     343      endif # !solaris and !linux
     344
     345      # @todo For solaris and some linuxes dlopen fails to navigate executable rpath to dependent libraries,
     346      #       so add explicit rpath for libqxcb.so, find better solution later.
     347      if1of ($(KBUILD_TARGET), solaris linux)
     348       $(foreach lib,$(VBOX_QT_PLUGINS),$$(qt5-bin_0_OUTDIR)/$(lib)): \
     349                $$(qt5-bin_0_OUTDIR)/% : $(VBOX_PATH_QT)/% | $$(qt5-bin_0_OUTDIR)/
    355350        $(call MSG_INST_FILE,$^,$@)
    356351        $(QUIET)$(MKDIR) -p $(@D)
    357352        $(QUIET)$(CP) $^ $@
    358353        $(QUIET)chrpath --replace "\$$ORIGIN/../../" $@
    359      endif # solaris linux
    360 
    361     endif # !VBOX_WITH_HARDENING
    362    endif # x11
    363   endif # VBOX_WITH_ORACLE_QT || VBOX_WITH_QT_PAYLOAD
    364  endif # win x11
     354      endif # solaris linux
     355
     356     endif # !VBOX_WITH_HARDENING
     357    endif # x11
     358   endif # VBOX_WITH_ORACLE_QT || VBOX_WITH_QT_PAYLOAD
     359  endif # win x11
     360 endif # defined(VBOX_WITH_QTGUI) && !defined(VBOX_ONLY_SDK)
    365361
    366362
  • trunk/src/VBox/Main/Makefile.kmk

    r99701 r99706  
    6363VBOX_PATH_MAIN_SRC := $(PATH_SUB_CURRENT)
    6464
    65 ifdef VBOX_ONLY_SDK
     65if defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_SDK_ON_WINDOWS)
    6666 # HACK ALERT! VBoxCOM is skipped, but its output dir is referenced a lot. So, define it.
    6767 VBoxCOM_0_OUTDIR := $(call TARGET_PATH,VBoxCOM)
     
    13621362
    13631363endif # !defined(VBOX_ONLY_SDK) && !defined(VBOX_ONLY_EXTPACKS) (the ifndef is far above)
     1364
     1365
     1366#
     1367# VBoxCOM - COM Abstraction Layer library
     1368#
    13641369ifndef VBOX_ONLY_SDK
    1365 
    1366 
    1367  #
    1368  # VBoxCOM - COM Abstraction Layer library
    1369  #
    13701370 LIBRARIES += VBoxCOM
    1371  VBoxCOM_TEMPLATE       = VBoxMainLib
    1372  VBoxCOM_INTERMEDIATES  = $(VBOX_MAIN_PREREQS) \
    1373         $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
    1374  VBoxCOM_SOURCES        = \
    1375         glue/com.cpp \
    1376         glue/VBoxLogRelCreate.cpp \
    1377         glue/GetVBoxUserHomeDirectory.cpp \
    1378         glue/initterm.cpp \
    1379         glue/string.cpp \
    1380         glue/string-base64.cpp \
    1381         glue/AutoLock.cpp \
    1382         glue/EventQueue.cpp \
    1383         glue/NativeEventQueue.cpp \
    1384         glue/ErrorInfo.cpp \
    1385         glue/errorprint.cpp
    1386  VBoxCOM_INCS         += $(VBOX_MAIN_APIWRAPPER_INCS) \
    1387         include
    1388  ifeq ($(KBUILD_TARGET),win)
    1389   ifdef VBOX_WITH_MIDL_PROXY_STUB
    1390    VBoxCOM_DEFS.win     = VBOX_WITH_AUTO_COM_REG_UPDATE
    1391   endif
    1392   ifdef VBOX_WITH_SDS
    1393    VBoxCOM_DEFS.win    += VBOX_WITH_SDS
    1394   endif
    1395   VBoxCOM_DEFS.x86      = _WIN32_WINNT=0x0500
    1396   VBoxCOM_DEFS.amd64    = _WIN32_WINNT=0x0510
    1397   VBoxCOM_SOURCES      += \
    1398         $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c
    1399   VBoxCOM_CLEAN         = \
    1400         $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
    1401         $(VBoxCOM_0_OUTDIR)/VirtualBox_p.c \
    1402         $(VBoxCOM_0_OUTDIR)/dlldata.c \
    1403         $(VBoxCOM_0_OUTDIR)/VirtualBox.h \
    1404         $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
    1405   VBoxCOM_CLEAN       += \
    1406         $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \
    1407         $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c \
    1408         $(VBoxCOM_0_OUTDIR)/legacy/dlldata.c \
    1409         $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.h \
    1410         $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb
    1411   VBoxCOM_BLDDIRS     = $(VBoxCOM_0_OUTDIR)/legacy/
    1412  else # !win
    1413   VBoxCOM_SOURCES      += \
    1414         $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c \
    1415         glue/xpcom/helpers.cpp
    1416  endif # !win
    1417 
    1418  ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
    1419   glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE="$(KBUILD_TYPE)"
    1420  else
    1421   glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE=\"$(KBUILD_TYPE)\"
    1422  endif
     1371endif
     1372VBoxCOM_TEMPLATE       = VBoxMainLib
     1373VBoxCOM_INTERMEDIATES  = $(VBOX_MAIN_PREREQS) \
     1374        $(VBOX_MAIN_APIWRAPPER_GEN_HDRS)
     1375VBoxCOM_SOURCES        = \
     1376        glue/com.cpp \
     1377        glue/VBoxLogRelCreate.cpp \
     1378        glue/GetVBoxUserHomeDirectory.cpp \
     1379        glue/initterm.cpp \
     1380        glue/string.cpp \
     1381        glue/string-base64.cpp \
     1382        glue/AutoLock.cpp \
     1383        glue/EventQueue.cpp \
     1384        glue/NativeEventQueue.cpp \
     1385        glue/ErrorInfo.cpp \
     1386        glue/errorprint.cpp
     1387VBoxCOM_INCS         += $(VBOX_MAIN_APIWRAPPER_INCS) \
     1388        include
     1389ifeq ($(KBUILD_TARGET),win)
     1390 ifdef VBOX_WITH_MIDL_PROXY_STUB
     1391  VBoxCOM_DEFS.win     = VBOX_WITH_AUTO_COM_REG_UPDATE
     1392 endif
     1393 ifdef VBOX_WITH_SDS
     1394  VBoxCOM_DEFS.win    += VBOX_WITH_SDS
     1395 endif
     1396 VBoxCOM_DEFS.x86      = _WIN32_WINNT=0x0500
     1397 VBoxCOM_DEFS.amd64    = _WIN32_WINNT=0x0510
     1398 VBoxCOM_SOURCES      += \
     1399        $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c
     1400 VBoxCOM_CLEAN         = \
     1401        $(VBoxCOM_0_OUTDIR)/VirtualBox_i.c \
     1402        $(VBoxCOM_0_OUTDIR)/VirtualBox_p.c \
     1403        $(VBoxCOM_0_OUTDIR)/dlldata.c \
     1404        $(VBoxCOM_0_OUTDIR)/VirtualBox.h \
     1405        $(VBoxCOM_0_OUTDIR)/VirtualBox.tlb
     1406 VBoxCOM_CLEAN       += \
     1407        $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_i.c \
     1408        $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox_p.c \
     1409        $(VBoxCOM_0_OUTDIR)/legacy/dlldata.c \
     1410        $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.h \
     1411        $(VBoxCOM_0_OUTDIR)/legacy/VirtualBox.tlb
     1412 VBoxCOM_BLDDIRS     = $(VBoxCOM_0_OUTDIR)/legacy/
     1413else # !win
     1414 VBoxCOM_SOURCES      += \
     1415        $(VBoxCOM_0_OUTDIR)/VirtualBox_XPCOM_i.c \
     1416        glue/xpcom/helpers.cpp
     1417endif # !win
     1418
     1419ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
     1420 glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE="$(KBUILD_TYPE)"
     1421else
     1422 glue/VBoxLogRelCreate.cpp_DEFS = KBUILD_TYPE=\"$(KBUILD_TYPE)\"
     1423endif
     1424
     1425# A couple of tricks to define VBoxCOM_0_OUTDIR for SDK builds and mkdir rule.
     1426$(call KB_FN_DO_PASS0_ON_TARGET,VBoxCOM)
     1427BLDDIRS += $(VBoxCOM_0_OUTDIR)
     1428
     1429
     1430ifndef VBOX_ONLY_SDK
    14231431
    14241432 # 32-bit version of VBoxCOM.
     
    14511459  USES += qt5
    14521460 endif
    1453 
    14541461
    14551462endif # !VBOX_ONLY_SDK
  • trunk/src/libs/xpcom18a4/Makefile.kmk

    r99040 r99706  
    690690        $(VBox-xpcom-nspr_0_OUTDIR)/_pl_bld.h
    691691
     692$(call KB_FN_DO_PASS0_ON_TARGET,VBox-xpcom-nspr)
     693
    692694$$(VBox-xpcom-nspr_0_OUTDIR)/_pr_bld.h: | $$(VBox-xpcom-nspr_0_OUTDIR)/
    693695        $(call MSG_GENERATE,,$@)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette