VirtualBox

Changeset 6129

Show
Ignore:
Timestamp:
12/18/07 16:26:46 (9 months ago)
Author:
vboxsync
Message:

Implemented VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER. Started cleaning up the additions build config mess.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Config.kmk

    r6124 r6129  
    120120# new build. The define is available in every source file. Only even build numbers 
    121121# will be published, odd numbers are set during development. 
     122# When doing a release also 'export VBOX_ADDITIONS_SH_MODE = release' here to 
     123# force an exact match of the additions build and the application builds. 
    122124VBOX_VERSION_BUILD = 51 
    123125# Full version string (may include more than just x.y.z, but no spaces or other problematic chars). 
     
    130132# We try to document all the build configuration options here, thing which 
    131133# aren't enabled by default is left commented out just to show that they 
    132 # exist and which value they should (usually 1, but anyway). 
    133 
    134  
    135 # Build linux / win32 additions. 
    136 ifeq ($(BUILD_TARGET),linux) 
    137   VBOX_WITH_LINUX_ADDITIONS = 1 
    138   VBOX_WITH_WIN32_ADDITIONS = 1 
    139 endif 
    140 ifeq ($(BUILD_TARGET),l4) 
     134# exist and which value they should have (usually 1, but anyway). 
     135
     136 
     137# This indicates that additions (of some kind or another) is being _built_. 
     138# VBOX_WITHOUT_ADDITIONS overrides it. 
     139if1of ($(BUILD_TARGET),l4 linux os2 solaris win) 
     140 VBOX_WITH_ADDITIONS = 1 
     141else ifdef VBOX_WITH_WIN32_ADDITIONS # for ssh cross builds -remove later! 
     142 VBOX_WITH_ADDITIONS = 1 
     143else ifdef VBOX_WITH_LINUX_ADDITIONS # for ssh cross builds - remove later! 
     144 VBOX_WITH_ADDITIONS = 1 
     145endif 
     146# Build win32 additions (cross building them on linux and l4 using wine). 
     147if1of ($(BUILD_TARGET),l4 linux win) 
     148 VBOX_WITH_WIN32_ADDITIONS = 1 
     149endif 
     150# Build linux additions. 
     151# Note! VBOX_WITH_LINUX_ADDITIONS will be removed later and only VBOX_WITH_WIN32_ADDITIONS will 
     152# be kept around for cross building. That is, unless it is really needed for l4 development (the 
     153# build server will fetch the .iso from the additions build box). 
     154if1of ($(BUILD_TARGET),l4 linux) 
    141155 VBOX_WITH_LINUX_ADDITIONS = 1 
    142  VBOX_WITH_WIN32_ADDITIONS = 1 
    143 endif 
    144 ifeq ($(BUILD_TARGET),os2) 
    145  VBOX_WITH_OS2_ADDITIONS = 1 
    146 endif 
    147 ifeq ($(BUILD_TARGET),win) 
    148  VBOX_WITH_WIN32_ADDITIONS = 1 
    149 endif 
    150 ifdef VBOX_WITH_LINUX_ADDITIONS 
    151156 ifeq ($(BUILD_TARGET).$(BUILD_PLATFORM_ARCH),linux.x86) 
    152157  VBOX_WITH_LINUX_ADDITIONS_32BIT_R0 = 1 
    153158 endif 
    154159endif 
    155 ifeq ($(BUILD_TARGET),solaris) 
    156  VBOX_WITH_SOLARIS_ADDITIONS = 1 
    157 endif 
    158160# Enable the building of shared folders in the windows additions. 
    159161VBOX_WITH_WIN32_ADDITIONS_SHAREDFOLDERS = 1 
    160 # Take the binaries of the OS/2 Additions 
     162# Take the binaries of the OS/2 Additions. 
    161163VBOX_WITH_OS2_ADDITIONS_BIN = 1 
    162164# Use additions from the build server. 
    163165#VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER = 1 
    164 # Don't bother with additions. 
     166# Don't bother with additions, overrides VBOX_WITH_ADDITIONS. 
     167# This is not used by makefiles, only Config.kmk, see below. 
    165168#VBOX_WITHOUT_ADDITIONS = 1 
    166 # Only build the additions (for the build server). 
     169# Only build the additions (for the additions build server). 
    167170#VBOX_ONLY_ADDITIONS = 1 
    168171 
     
    398401  VBOX_WITH_INSTALLER= 
    399402 endif 
     403endif 
     404 
     405# 
     406# Sanitize the additions build config variables. 
     407# 
     408ifdef VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER 
     409 VBOX_WITHOUT_ADDITIONS := 1 
     410 ifdef VBOX_ONLY_ADDITIONS 
     411  $(error VBOX_ONLY_ADDITIONS + VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER doesn't add up!) 
     412 endif 
     413endif 
     414 
     415ifdef VBOX_ONLY_ADDITIONS 
     416 ifdef VBOX_WITHOUT_ADDITIONS 
     417  $(error VBOX_ONLY_ADDITIONS + VBOX_WITHOUT_ADDITIONS doesn't add up!) 
     418 endif 
     419endif 
     420 
     421ifdef VBOX_WITHOUT_ADDITIONS 
     422 # Zap anything that could be contradicting this. 
     423 VBOX_WITH_ADDITIONS := 
     424 VBOX_WITH_WIN32_ADDITIONS := 
     425 VBOX_WITH_LINUX_ADDITIONS := 
    400426endif 
    401427 
  • trunk/Makefile.kmk

    r6124 r6129  
    132132  endif 
    133133 endif 
     134endif 
     135 
     136 
     137# 
     138# Install additions iso from the build server. 
     139# The $(CP)/$(RM) stuff can be replaced by a simple $(TOUCH) once that has 
     140# been added to kBuild. 
     141# 
     142## @todo need kmk_builtin_touch! 
     143ifdef VBOX_WITH_ADDITIONS_FROM_BUILD_SERVER 
     144INSTALLS += buildserver-additions 
     145buildserver-additions_INST = $(INST_ADDITIONS) 
     146buildserver-additions_MODE = 0644 
     147buildserver-additions_SOURCES = $(PATH_TARGET)/VBoxGuestAdditions.iso 
     148buildserver-additions_CLEANS = $(PATH_TARGET)/VBoxGuestAdditions.iso $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp 
     149 
     150$(PATH_TARGET)/VBoxGuestAdditions.iso: $(VBOX_SVN_REV_KMK) $(PATH_DEVTOOLS)/bin/additions.sh | $(call DIRDEP, $(PATH_TARGET)) 
     151        $(RM) -f $(PATH_TARGET)/VBoxGuestAdditions.iso $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp 
     152#       $(PATH_DEVTOOLS)/bin/additions.sh --cmd fetch --filename $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp 
     153        $(KMK) --affinity 1 -f $(MAKEFILE) buildserver-additions-affinity-hack 
     154        $(CP) -f $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp $(PATH_TARGET)/VBoxGuestAdditions.iso 
     155        $(RM) -f $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp 
     156        $(QUIET)$(APPEND) $@ done 
     157 
     158buildserver-additions-affinity-hack: 
     159        $(PATH_DEVTOOLS)/bin/additions.sh --cmd fetch --filename $(PATH_TARGET)/VBoxGuestAdditions.iso.tmp 
    134160endif 
    135161 
     
    304330# Build the additions, all of them. 
    305331# 
    306 # This is currently tailored (hardcoded) for the additions  
     332# This is currently tailored (hardcoded) for the additions 
    307333# build box. Can make it pretty and configurable later. 
    308334# 
     
    332358        ssh vbox@192.168.27.5 " cd c:/vbox/add && ./tools/env.sh --no-wine kmk BUILD_TARGET_ARCH=x86 VBOX_ADDITIONS_WIN32_ONLY=1 $(VBOX_ADDITIONS_BUILD) " 
    333359endif 
    334          
     360 
    335361additions-build-solaris.x86: 
    336362#ifeq ($(BUILD_TARGET),solaris) 
  • trunk/src/VBox/Makefile.kmk

    r6020 r6129  
    4444 endif 
    4545 
    46  ifndef VBOX_WITHOUT_ADDITIONS 
    47   ifneq ($(VBOX_WITH_WIN32_ADDITIONS)$(VBOX_WITH_LINUX_ADDITIONS)$(VBOX_WITH_SOLARIS_ADDITIONS),) 
    48    SUBDIRS += Additions 
    49   endif 
     46 ifdef VBOX_WITH_ADDITIONS 
     47  SUBDIRS += Additions 
    5048 endif 
    5149 
  • trunk/src/VBox/Runtime/Makefile.kmk

    r6051 r6129  
    5252else ifdef VBOX_ADDITIONS_WIN32_ONLY 
    5353 LIBRARIES = RuntimeW32GuestR0 RuntimeW32GuestR3 RuntimeW32NT4GuestR0 
    54 else ifdef VBOX_ADDITIONS_OS2_ONLY 
    55  LIBRARIES += RuntimeOS2GuestR0 RuntimeOS2GuestR3 #RuntimeOS2Warp3GuestR0 
    5654else 
    5755 
     
    6462  LIBRARIES += RuntimeR0Drv 
    6563 endif 
    66  ifndef VBOX_WITHOUT_ADDITIONS 
    67   ifdef VBOX_WITH_WIN32_ADDITIONS 
    68    LIBRARIES += RuntimeW32GuestR0   RuntimeW32GuestR3 RuntimeW32NT4GuestR0 
    69   endif 
    70   ifdef VBOX_WITH_LINUX_ADDITIONS 
    71    LIBRARIES += RuntimeLnx32GuestR3 
    72    ifdef VBOX_WITH_LINUX_ADDITIONS_32BIT_R0 
    73     LIBRARIES += RuntimeLnx32GuestR0 
     64 ifdef VBOX_WITH_ADDITIONS 
     65  if1of ($(BUILD_TARGET),linux l4 windows) 
     66   ifdef VBOX_WITH_WIN32_ADDITIONS 
     67    LIBRARIES += RuntimeW32GuestR0 RuntimeW32GuestR3 RuntimeW32NT4GuestR0 
    7468   endif 
    75   endif 
    76   ifdef VBOX_WITH_OS2_ADDITIONS 
    77    LIBRARIES += RuntimeOS2GuestR0 RuntimeOS2GuestR3 #RuntimeOS2Warp3GuestR0 
    78   endif 
    79   ifn1of ($(BUILD_TARGET),win os2 linux) 
     69   ifdef VBOX_WITH_LINUX_ADDITIONS 
     70    LIBRARIES += RuntimeLnx32GuestR3 
     71    ifdef VBOX_WITH_LINUX_ADDITIONS_32BIT_R0 
     72     LIBRARIES += RuntimeLnx32GuestR0 
     73    endif 
     74   endif 
     75  else ifeq ($(BUILD_TARGET),os2) ## @todo RuntimeOS2Guest* -> RuntimeGuest* 
     76   LIBRARIES += RuntimeOS2GuestR0 RuntimeOS2GuestR3 
     77  else 
    8078   LIBRARIES += RuntimeGuestR0 RuntimeGuestR3 
    8179  endif 
    82  endif # !VBOX_WITHOUT_ADDITIONS 
     80  #LIBRARIES.os2 = RuntimeOS2Warp3GuestR0 
     81 endif # VBOX_WITH_ADDITIONS 
    8382 LIBRARIES.l4 = RuntimeR3L4 
    8483 DLLS = VBoxRT 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy