VirtualBox

儲存庫 vbox 的更動 34662


忽略:
時間撮記:
2010-12-2 下午09:51:17 (14 年 以前)
作者:
vboxsync
svn:sync-xref-src-repo-rev:
68464
訊息:

Hacking in progress, enclosed in VBOX_ONLY_EXTPACKS_USE_IMPLIBS ifdefs for now.

位置:
trunk
檔案:
新增 3 筆資料
修改 6 筆資料
複製 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/Config.kmk

    r34661 r34662  
    20252025
    20262026#
    2027 # Edit macros.
     2027# Misc macros.
    20282028#
    20292029
     
    20632063        $(QUIET)$(call VBOX_EDIT_VERSION_CMD_FN,$<,$@)
    20642064endef
     2065
     2066
     2067##
     2068# Fill in am import library target based on a somewhat special windows .def file.
     2069#
     2070# @param    1   The target name of the import library.
     2071# @param    2   The name of the real library.
     2072# @param    3   The .def file path relative to the current make file.
     2073#
     2074VBOX_GENERATE_IMPORT_TARGET_FN = $(eval $(VBOX_GENERATE_IMPORT_TARGET_DEF))
     2075define VBOX_GENERATE_IMPORT_TARGET_DEF
     2076$(1)_INST     = $(INST_LIB)
     2077if $(KBUILD_TARGET) == "darwin"
     2078 $(1)_LDFLAGS = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/$(3)$(SUFF_DLL)
     2079else ifn1of ($(KBUILD_TARGET), os2 win)
     2080 $(1)_SONAME  = $(3)$(SUFF_DLL)
     2081endif
     2082if1of ($(KBUILD_TARGET), os2 win)
     2083 $(1)_SOURCES = $$($(1)_0_OUTDIR)/$(1)Imp.def
     2084 $(1)_CLEAN   = $$($(1)_0_OUTDIR)/$(1)Imp.def
     2085else
     2086 $(1)_SOURCES = $$($(1)_0_OUTDIR)/$(1)Imp.c
     2087 $(1)_CLEAN   = $$($(1)_0_OUTDIR)/$(1)Imp.c
     2088endif
     2089
     2090$$$$($(1)_SOURCES): $(PATH_SUB_CURRENT)/$(2) $(PATH_ROOT)/src/bldprogs/deftoimp.sed | $$$$(dir $$$$@)
     2091        $$(call MSG_GENERATE,,$$@)
     2092ifeq ($(KBUILD_TARGET),os2)
     2093        $$(SED) \
     2094                -e '/not-$(KBUILD_TARGET)/d' \
     2095                -e '/not-$(KBUILD_TARGET_ARCH)/d' \
     2096                -e 's/^LIBRARY[[:space:]][[:space:]]*\(.*\)\.dll/LIBRARY \1 INITINSTANCE TERMINSTANCE\nDATA MULTIPLE\n/' \
     2097                -e 's/^[ \t][ \t]*\([a-zA-Z]\)/    _\1/' \
     2098                -e 's/[ \t]DATA[ \t]*/ /'  \
     2099                --output $$@ $$<
     2100else ifeq ($(KBUILD_TARGET),win)
     2101        $$(SED) \
     2102                -e '/not-$(KBUILD_TARGET)/d' \
     2103                -e '/not-$(KBUILD_TARGET_ARCH)/d' \
     2104                --output $$@ $<
     2105else
     2106        $$(QUIET)$$(APPEND) -tn $$@ \
     2107                '#ifdef VBOX_HAVE_VISIBILITY_HIDDEN' \
     2108                '# define EXPORT __attribute__((visibility("default")))' \
     2109                '# define EXPORT_DATA __attribute__((visibility("default")))' \
     2110                '#else' \
     2111                '# define EXPORT' \
     2112                '# define EXPORT_DATA' \
     2113                '#endif' \
     2114                ''
     2115        $$(SED) \
     2116                -e '/not-$(KBUILD_TARGET)/d' \
     2117                -e '/not-$(KBUILD_TARGET_ARCH)/d' \
     2118                -f $(PATH_ROOT)/src/bldprogs/deftoimp.sed \
     2119                --append $$@ $$<
     2120endif
     2121endef # VBOX_GENERATE_IMPORT_TARGET_DEF
    20652122
    20662123
     
    35633620 endif
    35643621 TEMPLATE_VBoxR3ExtPack_INST = $(INST_EXTPACK)YouShallOverrideThis/
    3565 if !defined(VBOX_WITH_RUNPATH) && defined(VBOX_WITH_RELATIVE_RUNPATH)
    3566  TEMPLATE_VBoxR3ExtPack_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/../../..' $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBOXR3DLLNOXCPT_LDFLAGS))
    3567 endif
    3568  TEMPLATE_VBoxR3ExtPack_LIBS = \
    3569         $(TEMPLATE_LIBS_VBOXR3) \
    3570         $(LIB_RUNTIME) \
    3571         $(LIB_VMM)
     3622 if !defined(VBOX_WITH_RUNPATH) && defined(VBOX_WITH_RELATIVE_RUNPATH)
     3623  TEMPLATE_VBoxR3ExtPack_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/../../..' $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBOXR3DLLNOXCPT_LDFLAGS))
     3624 endif
     3625 ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
     3626  TEMPLATE_VBoxR3ExtPack_LIBS = \
     3627        $(TEMPLATE_LIBS_VBOXR3) \
     3628        $(PATH_LIB)/VMMR3Imp$(VBOX_SUFF_LIB) \
     3629        $(PATH_LIB)/VBoxRT3Imp$(VBOX_SUFF_LIB)
     3630 else
     3631  TEMPLATE_VBoxR3ExtPack_LIBS = \
     3632        $(TEMPLATE_LIBS_VBOXR3) \
     3633        $(LIB_RUNTIME) \
     3634        $(LIB_VMM)
     3635 endif
    35723636
    35733637 TEMPLATE_VBoxR0ExtPack = For the ring-0 context extension pack modules.
  • trunk/src/Makefile.kmk

    r34609 r34662  
    3131 include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
    3232 include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
    33  include $(PATH_SUB_CURRENT)/recompiler/Makefile.kmk
     33 ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
     34  include $(PATH_SUB_CURRENT)/recompiler/Makefile.kmk
     35 endif
    3436
    3537else if defined(VBOX_ONLY_TESTSUITE)
  • trunk/src/VBox/Makefile.kmk

    r34609 r34662  
    4343 endif
    4444 include $(PATH_SUB_CURRENT)/VMM/Makefile.kmk
    45  include $(PATH_SUB_CURRENT)/Disassembler/Makefile.kmk
     45 ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
     46  include $(PATH_SUB_CURRENT)/Disassembler/Makefile.kmk
     47 endif
    4648
    4749else ifdef VBOX_ONLY_SDK
  • trunk/src/VBox/Runtime/Makefile.kmk

    r34492 r34662  
    5353 DLLS += VBoxRT
    5454
     55else ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
     56 #
     57 # Build docs only - need just regular R3 runtime.
     58 #
     59 LIBRARIES += RuntimeBldProg
     60 IMPORT_LIBS += VBoxRTImp
     61
    5562else # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_TESTSUITE && !VBOX_ONLY_DOCS
    5663
     
    6471
    6572 BLDPROGS += uniread
     73 IMPORT_LIBS += VBoxRTImp
    6674 LIBRARIES += RuntimeR3 RuntimeBldProg RuntimeR0 RuntimeEFCPP RuntimeR3NoCRTGCC
    6775 LIBRARIES.win += RuntimeR0Stub
     
    12511259
    12521260#
     1261# VBoxRTImp - Import library/hack.
     1262#
     1263VBoxRTImp_TEMPLATE = VBoxR3Dll
     1264$(call VBOX_GENERATE_IMPORT_TARGET_FN,VBoxRTImp,VBox/VBoxRTImp.def,VBoxRT)
     1265
     1266
     1267#
    12531268# RuntimeR3NoCRTGCC - CRT replacement lib for VBoxREM.
    12541269# This is used together with VBoxRT.
  • trunk/src/VBox/VMM/Makefile.kmk

    r34492 r34662  
    4848# VMMR3.dll
    4949#
     50ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
    5051LIBRARIES += VMMR3
     52endif
    5153
    5254VMMR3_TEMPLATE  = VBoxR3Dll
     
    313315
    314316
     317#
     318# VMMR3Imp.lib
     319#
     320IMPORT_LIBS += VMMR3Imp
     321VMMR3Imp_TEMPLATE = VBoxR3Dll
     322$(call VBOX_GENERATE_IMPORT_TARGET_FN,VMMR3Imp,VMMR3/VMMR3.def,VBoxVMM)
     323$(warning VMMR3Imp_SOURCES=$(VMMR3Imp_SOURCES))
     324
     325
    315326if defined(VBOX_WITH_RAW_MODE) && !defined(VBOX_ONLY_EXTPACKS)
    316327 #
  • trunk/src/bldprogs/deftoimp.sed

    r34625 r34662  
    11# $Id$
    22## @file
    3 # SED script for generating a dummy .so from a windows .def file.
     3# SED script for generating a dummy .c from a windows .def file.
    44#
    55
    66#
    77#
    8 # Copyright (C) 2006-2007 Oracle Corporation
     8# Copyright (C) 2006-2010 Oracle Corporation
    99#
    1010# This file is part of VirtualBox Open Source Edition (OSE), as
     
    1717#
    1818
     19#
     20# Remove comments and space. Skip empty lines.
     21#
    1922s/;.*$//g
    2023s/^[[:space:]][[:space:]]*//g
     
    2730/^$/b end
    2831
     32
     33/[[:space:]]DATA$/b data
     34
     35#
     36# Function export
     37#
     38:code
    2939s/^\(.*\)$/EXPORT\nvoid \1(void);\nvoid \1(void){}/
    3040b end
     41
     42
     43#
     44# Data export
     45#
     46:data
     47s/^\(.*\)[[:space:]]*DATA$/EXPORT_DATA void *\1 = (void *)0;/
     48b end
     49
    3150}
    3251d
  • trunk/src/libs/Makefile.kmk

    r34492 r34662  
    8080endif
    8181
    82 if !defined(VBOX_ONLY_TESTSUITE)
     82if !defined(VBOX_ONLY_TESTSUITE) && !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS)
    8383 ifeq ($(SDK_VBOX_LIBXML2_INCS),$(PATH_ROOT)/src/libs/libxml2-2.6.30/include)
    8484  include $(PATH_SUB_CURRENT)/libxml2-2.6.30/Makefile.kmk
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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