VirtualBox

Changeset 762 in vbox for trunk/Config.kmk


Ignore:
Timestamp:
Feb 7, 2007 11:15:42 PM (18 years ago)
Author:
vboxsync
Message:
  • Additions, Config.kmk, Runtime:

o Make the additions build on linux.amd64. All the Ring-0 stuff is

skipped there because of /usr/linux/.config dependencies of the
linux stuff.

o While at it, I've removed the gcc as ld hacks and changed the

linking of the X drivers. The latter is a bit risky of course.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r687 r762  
    101101# Build linux / win32 additions.
    102102ifeq ($(BUILD_TARGET),linux)
     103  VBOX_WITH_LINUX_ADDITIONS = 1
    103104 ifeq ($(BUILD_TARGET_ARCH),x86) # later on amd64 too.
    104   VBOX_WITH_LINUX_ADDITIONS = 1
    105105  VBOX_WITH_WIN32_ADDITIONS = 1
    106106 endif
     
    112112ifeq ($(BUILD_TARGET),win)
    113113 VBOX_WITH_WIN32_ADDITIONS = 1
     114endif
     115ifdef VBOX_WITH_LINUX_ADDITIONS
     116 ifeq ($(BUILD_TARGET).$(BUILD_PLATFORM_ARCH),linux.x86)
     117  VBOX_WITH_LINUX_ADDITIONS_32BIT_R0 = 1
     118 endif
    114119endif
    115120# Enable the building of shared folders in the windows additions.
     
    266271endif
    267272
    268 #
    269 # HACK ALERT!
    270 # OVerride anyone attempting to build Linux/GNU additions when targeting AMD64.
    271 #
    272 ifdef VBOX_WITH_LINUX_ADDITIONS
    273  ifeq ($(BUILD_TARGET_ARCH),amd64)
    274   VBOX_WITH_LINUX_ADDITIONS :=
    275  endif
    276 endif
     273##
     274## HACK ALERT!
     275## OVerride anyone attempting to build Linux/GNU additions when targeting AMD64.
     276##
     277#ifdef VBOX_WITH_LINUX_ADDITIONS
     278# ifeq ($(BUILD_TARGET_ARCH),amd64)
     279#  VBOX_WITH_LINUX_ADDITIONS :=
     280# endif
     281#endif
    277282
    278283#
     
    18401845# Not properly realized yet.
    18411846#
    1842 
    18431847TEMPLATE_VBOXLNX32GUESTR0         = Template for *syntax checking* linux guest additions kernel modules
    18441848TEMPLATE_VBOXLNX32GUESTR0_TOOL    = $(VBOX_GCC_TOOL)
     
    18631867endif
    18641868
     1869
     1870#
     1871# Tools and templates for building 32-bit linux guest additions.
     1872#
     1873TOOL_VBOXLNX32NOCPPLD = Linker tool replacing the VBOX_GCC32_TOOL linker (g++).
     1874TOOL_VBOXLNX32NOCPPLD_LINK_PROGRAM_OUTPUT = $(outbase).map
     1875TOOL_VBOXLNX32NOCPPLD_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     1876TOOL_VBOXLNX32NOCPPLD_LINK_PROGRAM_DEPORD =
     1877define TOOL_VBOXLNX32NOCPPLD_LINK_PROGRAM_CMDS
     1878        $(QUIET)$(TOOL_$(VBOX_GCC32_TOOL)_CC) $(flags) -o $(out) $(objs)\
     1879                $(foreach p,$(libpath), -L$(p))\
     1880                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
     1881                $(call TOOL_$(VBOX_GCC32_TOOL)_LD_MAP,$(outbase).map)
     1882endef
     1883TOOL_VBOXLNX32NOCPPLD_LINK_DLL_OUTPUT = $(outbase).map
     1884TOOL_VBOXLNX32NOCPPLD_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     1885TOOL_VBOXLNX32NOCPPLD_LINK_DLL_DEPORD =
     1886# (no SONAME for now)
     1887define TOOL_VBOXLNX32NOCPPLD_LINK_DLL_CMDS
     1888        $(QUIET)$(TOOL_$(VBOX_GCC32_TOOL)_CC) $(TOOL_$(VBOX_GCC32_TOOL)_LDFLAGS.dll) $(flags) -o $(out)\
     1889                $(objs)\
     1890                $(foreach p,$(libpath), -L$(p))\
     1891                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
     1892                $(call TOOL_$(VBOX_GCC32_TOOL)_LD_MAP,$(outbase).map)
     1893endef
     1894TOOL_VBOXLNX32NOCPPLD_LINK_SYSMOD_OUTPUT = $(outbase).map
     1895TOOL_VBOXLNX32NOCPPLD_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     1896TOOL_VBOXLNX32NOCPPLD_LINK_SYSMOD_DEPORD =
     1897define TOOL_VBOXLNX32NOCPPLD_LINK_SYSMOD_CMDS
     1898        $(QUIET)$(TOOL_$(VBOX_GCC32_TOOL)_LD_SYSMOD) $(TOOL_VBOXLNX32NOCPPLD_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\
     1899                $(foreach p,$(libpath), -L$(p))\
     1900                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
     1901                $(call TOOL_$(VBOX_GCC32_TOOL)_LD_SYSMOD_MAP,$(outbase).map)
     1902endef
     1903
    18651904TEMPLATE_VBOXLNX32GUESTR3EXE                   = Template for building 32-bit linux guest additions programs.
    18661905TEMPLATE_VBOXLNX32GUESTR3EXE_INST              = $(INST_ADDITIONS)
     
    18711910TEMPLATE_VBOXLNX32GUESTR3EXE_ASTOOL            = YASM
    18721911TEMPLATE_VBOXLNX32GUESTR3EXE_ASFLAGS           = -f elf32 -DASM_FORMAT_ELF -D__YASM__ -w+orphan-labels
    1873 TEMPLATE_VBOXLNX32GUESTR3EXE_DEFS              = IN_RING3 IN_GUEST_R3
     1912TEMPLATE_VBOXLNX32GUESTR3EXE_DEFS              = IN_RING3 IN_GUEST_R3 HC_ARCH_BITS=32 GC_ARCH_BITS=32
    18741913TEMPLATE_VBOXLNX32GUESTR3EXE_CXXFLAGS          = -g -Wall -pedantic -Wno-long-long -Wno-trigraphs -pipe $(VBOX_GCC_fno-stack-protector)
    18751914TEMPLATE_VBOXLNX32GUESTR3EXE_CXXFLAGS.debug    = -fno-inline
     
    18821921TEMPLATE_VBOXLNX32GUESTR3EXE_CFLAGS.kprofile   = $(TEMPLATE_VBOXLNX32GUESTR3EXE_CXXFLAGS.kprofile)
    18831922TEMPLATE_VBOXLNX32GUESTR3EXE_CFLAGS            = -g -Wall -pedantic -Wno-long-long -Wno-trigraphs -pipe -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations $(VBOX_GCC_fno-stack-protector)
    1884 TEMPLATE_VBOXLNX32GUESTR3EXE_LDFLAGS           = # -static
    1885 TEMPLATE_VBOXLNX32GUESTR3EXE_LIBS              = # pthread m $(LIB_UUID) rt dl
    1886 
    1887 TEMPLATE_VBOXLNX32GUESTR3LIB                   = Template for building 32-bit linux guest additions programs.
     1923# No LDFLAGS nor LIBS!
     1924
     1925TEMPLATE_VBOXLNX32GUESTR3EXENOCPP              = Template for building 32-bit linux guest additions programs without any C++.
     1926TEMPLATE_VBOXLNX32GUESTR3EXENOCPP_EXTENDS      = VBOXLNX32GUESTR3EXE
     1927TEMPLATE_VBOXLNX32GUESTR3EXENOCPP_LDTOOL       = VBOXLNX32NOCPPLD
     1928# No LDFLAGS nor LIBS!
     1929
     1930TEMPLATE_VBOXLNX32GUESTR3DLLNOCPP              = Template for building 32-bit linux guest additions shared objects without any C++.
     1931TEMPLATE_VBOXLNX32GUESTR3DLLNOCPP_EXTENDS      = VBOXLNX32GUESTR3EXE
     1932TEMPLATE_VBOXLNX32GUESTR3DLLNOCPP_LDTOOL       = VBOXLNX32NOCPPLD
     1933TEMPLATE_VBOXLNX32GUESTR3DLLNOCPP_CFLAGS       = -fPIC $(TEMPLATE_VBOXLNX32GUESTR3EXE_CFLAGS)
     1934TEMPLATE_VBOXLNX32GUESTR3DLLNOCPP_CXXFLAGS     = -fPIC $(TEMPLATE_VBOXLNX32GUESTR3EXE_CXXFLAGS)
     1935TEMPLATE_VBOXLNX32GUESTR3DLLNOCPP_LDFLAGS      = -fPIC
     1936
     1937TEMPLATE_VBOXLNX32GUESTR3LIB                   = Template for building 32-bit linux guest additions libraries.
    18881938TEMPLATE_VBOXLNX32GUESTR3LIB_EXTENDS           = VBOXLNX32GUESTR3EXE
    18891939TEMPLATE_VBOXLNX32GUESTR3LIB_INST              = $(INST_ADDITION_LIB)
    1890 
    1891 TEMPLATE_VBOXLNX32GUESTR3                      = Template for building 32-bit linux guest additions libraries.
    1892 TEMPLATE_VBOXLNX32GUESTR3_EXTENDS              = VBOXLNX32GUESTR3EXE
    1893 TEMPLATE_VBOXLNX32GUESTR3_LDFLAGS              = -static
    1894 TEMPLATE_VBOXLNX32GUESTR3_LIBS                 = pthread m $(LIB_UUID) rt dl
    1895 
    1896 
    1897 
    1898 ##
    1899 ## efence
    1900 ##
    1901 #TEMPLATE_VBOXR3_CFLAGS             += -include efence.h
    1902 #TEMPLATE_VBOXR3_CXXFLAGS           += -include efence.h
    1903 #TEMPLATE_VBOXMAIN_CFLAGS           += -include efence.h
    1904 #TEMPLATE_VBOXMAIN_CXXFLAGS         += -include efence.h
    1905 #TEMPLATE_VBOXR3_LIBS               += efence
    1906 #TEMPLATE_VBOXMAIN_LIBS             += efence
    19071940
    19081941
Note: See TracChangeset for help on using the changeset viewer.

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