Changeset 46026 in vbox
- Timestamp:
- May 13, 2013 3:54:04 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r46021 r46026 882 882 endif 883 883 884 885 ifeq ($(KBUILD_TARGET),l4)886 VBOX_WITH_VBOXDRV=887 VBOX_WITH_ADDITION_DRIVERS=888 VBOX_WITH_VRDP=889 VBOX_WITH_HEADLESS=890 VBOX_WITH_VBOXSDL=891 VBOX_WITH_QTGUI=892 VBOX_WITH_MAIN=893 VBOX_WITH_DOCS=894 VBOX_WITH_ISCSI=895 VBOX_WITH_INIP=896 VBOX_WITH_INTERNAL_NETWORKING=897 VBOX_WITH_PDM_ASYNC_COMPLETION=898 VBOX_WITH_KCHMVIEWER=899 VBOX_WITH_HARDENING=900 endif901 884 902 885 ifeq ($(KBUILD_TARGET),os2) … … 1196 1179 # Image and object format config. 1197 1180 # 1198 if1of ($(KBUILD_TARGET), freebsd haiku linux l4netbsd openbsd solaris)1181 if1of ($(KBUILD_TARGET), freebsd haiku linux netbsd openbsd solaris) 1199 1182 VBOX_LDR_FMT = elf 1200 1183 endif … … 1379 1362 1380 1363 # 1381 # L4-specific settings.1382 #1383 ifdef L4_DIR1384 ifeq ($(KBUILD_TARGET),l4)1385 L4_API ?= l4v21386 L4_ARCH ?= $(KBUILD_TARGET_ARCH)1387 ifeq ($(L4_ARCH),x86)1388 L4_CPU ?= 5861389 L4LINUX26_INCDIR := $(L4LINUX26_DIR)/include \1390 $(L4LINUX26_DIR)/include/asm-l4/i386-arch1391 else ifeq ($(L4_ARCH),amd64)1392 L4_CPU ?= k81393 L4LINUX26_INCDIR := $(L4LINUX26_DIR)/include1394 # no red zone for L4 because of IPC bindings1395 CFLAGS.l4 = -mno-red-zone1396 CXXFLAGS.l4 = -mno-red-zone1397 else1398 $(error VBox: L4_ARCH=$(L4_ARCH))1399 endif1400 L4_OBJ := $(L4_DIR)/build-$(L4_ARCH)-$(L4_CPU)-$(L4_API)1401 # support split Linux kernels (make O=<build directory>)1402 kernelsrc := $(shell $(SED_EXT) -ne 's+^KERNELSRC.*= *\(.*\)+\1+p' $(L4LINUX26_DIR)/Makefile)1403 ifneq ($(kernelsrc),)1404 kernelpath := $(realpath $(kernelsrc))1405 L4LINUX26_INCDIR += $(L4LINUX26_DIR)/include2 $(kernelpath)/include1406 endif1407 L4_INCDIR := \1408 $(L4_OBJ)/include/uclibc++ \1409 $(L4_OBJ)/include/$(L4_ARCH)/uclibc \1410 $(L4_OBJ)/include/uclibc \1411 $(L4LINUX26_INCDIR) \1412 $(L4_OBJ)/include/$(L4_ARCH)/$(L4_API) \1413 $(L4_OBJ)/include/$(L4_API) \1414 $(L4_OBJ)/include/$(L4_ARCH) \1415 $(L4_OBJ)/include \1416 $(L4_DIR)/tool/dice/include1417 L4_LIBDIR := \1418 $(L4_DIR)/build-$(L4_ARCH)-$(L4_CPU)-$(L4_API)/lib/$(L4_ARCH)_$(L4_CPU)/$(L4_API)1419 endif # KBUILD_TARGET == l41420 endif # L4_DIR1421 1422 # Produce debugging information that the Fiasco kernel debugger can read.1423 ifeq ($(KBUILD_TARGET).$(KBUILD_TYPE),l4.debug)1424 DEBUG_L4 = -gstabs+1425 endif1426 1427 #1428 1364 # Setup the global defines and includes. 1429 1365 # … … 1441 1377 DEFS.freebsd = RT_OS_FREEBSD __FREEBSD__ 1442 1378 DEFS.haiku = RT_OS_HAIKU 1443 DEFS.l4 = RT_OS_L4 __L4__ __L4ENV__ L4API_l4v2 ARCH_$(KBUILD_TARGET_ARCH) __NO_CTYPE _FILE_OFFSET_BITS=641444 1379 DEFS.linux = RT_OS_LINUX _FILE_OFFSET_BITS=64 1445 1380 DEFS.netbsd = RT_OS_NETBSD … … 1636 1571 # Add the output dir(s) to the dynamic loader search path. 1637 1572 # 1638 if1of ($(KBUILD_HOST), freebsd linux l4netbsd openbsd solaris)1573 if1of ($(KBUILD_HOST), freebsd linux netbsd openbsd solaris) 1639 1574 export LD_LIBRARY_PATH:=$(PATH_STAGE_BIN):$(PATH_STAGE_LIB):$(LD_LIBRARY_PATH) 1640 1575 endif … … 1666 1601 LIB_XPCOM = $(PATH_STAGE_BIN)/VBoxXPCOM.dylib 1667 1602 LIB_DDU = $(PATH_STAGE_BIN)/VBoxDDU.dylib 1668 endif1669 ifeq ($(KBUILD_TARGET),l4)1670 LIB_RUNTIME = $(PATH_STAGE_BIN)/VBoxRT.s.so1671 LIB_RUNTIME_EF = #$(PATH_STAGE_LIB)/RuntimeEFCPP.a1672 LIB_KPROFILE = $(PATH_STAGE_BIN)/kPrf2.s.so1673 LIB_VMM = $(PATH_STAGE_BIN)/VBoxVMM.s.so1674 LIB_VMMGC = $(PATH_STAGE_BIN)/VMMGC.gc1675 LIB_REM = $(PATH_STAGE_LIB)/VBoxREM.s.so1676 LIB_XPCOM = $(PATH_STAGE_BIN)/VBoxXPCOM.s.so1677 LIB_DDU = $(PATH_STAGE_BIN)/VBoxDDU.s.so1678 1603 endif 1679 1604 if1of ($(KBUILD_TARGET), freebsd haiku linux netbsd openbsd solaris) … … 2273 2198 # See http://osdir.com/ml/gcc.prs/2002-08/msg00223.html and probably http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20004 2274 2199 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_BUGGY_REGPARM ?= $$(int-lt $$(VBOX_GCC_VERSION_CC),30400)' 2275 ifneq ($(KBUILD_TARGET),l4)2276 2200 # Set default attribute for ELF and MACH-O symbols to ``hidden'' to reduce the number 2277 2201 # of relocation entries and PLT indirections in shared libraries. Don't allow for gcc version < 4. … … 2281 2205 $(QUIET)$(APPEND) '$@' ' endif' 2282 2206 $(QUIET)$(APPEND) '$@' 'endif' 2283 endif 2284 ifn1of ($(KBUILD_TARGET),haiku l4) 2207 ifn1of ($(KBUILD_TARGET),haiku) 2285 2208 # Set default attribute for inline functions to ``hidden'' to reduce the number 2286 2209 # of relocation entries and PLT indirections in shared libraries. Don't allow for gcc version < 4. … … 3475 3398 TEMPLATE_VBOXR3EXE_CXXFLAGS.sparc32 = -m32 3476 3399 TEMPLATE_VBOXR3EXE_CXXFLAGS.sparc64 = -m64 3477 # L4 currently can't handle exception handling.3478 TEMPLATE_VBOXR3EXE_CXXFLAGS.l4 = -fno-exceptions -nostdinc \3479 $(addprefix -I,$(VBOX_PATH_GCC_INCS) $(L4_INCDIR) $(FILE_TOOL_GPP3_INCDIR)) \3480 $(DEBUG_L4)3481 3400 TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile = -finstrument-functions 3482 3401 TEMPLATE_VBOXR3EXE_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) … … 3487 3406 TEMPLATE_VBOXR3EXE_CFLAGS.debug = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.debug) 3488 3407 TEMPLATE_VBOXR3EXE_CFLAGS.kprofile = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile) 3489 TEMPLATE_VBOXR3EXE_CFLAGS.l4 = -nostdinc \3490 $(addprefix -I,$(VBOX_PATH_GCC_INCS) $(L4_INCDIR)) $(DEBUG_L4)3491 3408 TEMPLATE_VBOXR3EXE_OBJCFLAGS = $(TEMPLATE_VBOXR3EXE_CFLAGS) 3492 3409 TEMPLATE_VBOXR3EXE_OBJCFLAGS.x86 = $(TEMPLATE_VBOXR3EXE_CFLAGS.x86) … … 3499 3416 TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.debug = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.debug) 3500 3417 TEMPLATE_VBOXR3EXE_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile) 3501 TEMPLATE_VBOXR3EXE_DEFS.l4 = L4_THREAD_SAFE3502 3418 TEMPLATE_VBOXR3EXE_LDFLAGS.x86 = -m32 3503 3419 TEMPLATE_VBOXR3EXE_LDFLAGS.amd64 = -m64 3504 3420 TEMPLATE_VBOXR3EXE_LDFLAGS.sparc32 = -m32 3505 3421 TEMPLATE_VBOXR3EXE_LDFLAGS.sparc64 = -m64 3506 TEMPLATE_VBOXR3EXE_LDFLAGS.l4 = \3507 $(L4_LIBDIR)/../crt0.o \3508 -T$(L4_LIBDIR)/../main_dyn.ld -nostdlib \3509 -Wl,--export-dynamic,--dynamic-linker=libld-l4.s.so \3510 -Wl,--rpath-link,$(L4_LIBDIR)3511 3422 TEMPLATE_VBOXR3EXE_LDFLAGS.linux = -Wl,-z,noexecstack $(VBOX_LD_as_needed) 3512 3423 TEMPLATE_VBOXR3EXE_LDFLAGS.solaris = -Wl,-z,ignore # same as VBOX_LD_as_needed … … 3514 3425 ifeq ($(KBUILD_TARGET),linux) 3515 3426 TEMPLATE_VBOXR3EXE_LIBS = pthread m rt dl 3516 else ifeq ($(KBUILD_TARGET),l4)3517 TEMPLATE_VBOXR3EXE_LIBS = \3518 $(L4_LIBDIR)/libvboxserver.s.so \3519 $(L4_LIBDIR)/libuc++.0.s.so \3520 supc++ gcc_eh gcc \3521 $(L4_LIBDIR)/libdl.s.so \3522 $(L4_LIBDIR)/libuc.0.s.so3523 3427 else ifeq ($(KBUILD_TARGET),os2) 3524 3428 TEMPLATE_VBOXR3EXE_TOOL = GXX3OMF … … 3584 3488 TEMPLATE_VBOXR3 = VBox Ring 3 SO/DLLs 3585 3489 TEMPLATE_VBOXR3_EXTENDS = VBOXR3EXE 3586 TEMPLATE_VBOXR3_LDFLAGS.l4 = $(L4_LIBDIR)/../crt0.s.o -T$(L4_LIBDIR)/../main_rel.ld -nostdlib3587 TEMPLATE_VBOXR3_DEFS.l4 = $(TEMPLATE_VBOXR3EXE_DEFS.l4) __PIC__3588 3490 TEMPLATE_VBOXR3_DEFS.darwin = $(TEMPLATE_VBOXR3EXE_DEFS.darwin) PIC 3589 3491 TEMPLATE_VBOXR3_LDFLAGS.darwin = $(TEMPLATE_VBOXR3EXE_LDFLAGS.darwin) \ … … 3803 3705 TEMPLATE_VBOXR3AUTOTST_INST = $(INST_TESTCASE) 3804 3706 TEMPLATE_VBOXR3AUTOTST_LIBS = $(TEMPLATE_$(TEMPLATE_VBOXR3AUTOTST_EXTENDS)_LIBS) 3805 TEMPLATE_VBOXR3AUTOTST_LIBS.l4 = $(LIB_RUNTIME) $(TEMPLATE_$(TEMPLATE_VBOXR3AUTOTST_EXTENDS)_LIBS.l4)3806 3707 if "$(KBUILD_TARGET)" == "win" && defined(VBOX_SIGNING_MODE) 3807 3708 TEMPLATE_VBOXR3AUTOTST_POST_CMDS = $(NO_SUCH_VARIABLE) … … 4027 3928 TEMPLATE_VBOXMAINEXE_LIBS = pthread m rt $(LIB_RUNTIME) dl 4028 3929 TEMPLATE_VBOXMAINEXE_LDFLAGS.linux = $(VBOX_LD_as_needed) 4029 else ifeq ($(KBUILD_TARGET),l4)4030 TEMPLATE_VBOXMAINEXE_LIBS = $(LIB_RUNTIME)4031 # no libs as yet in l4 target - must be added later4032 3930 else ifeq ($(KBUILD_TARGET),os2) 4033 3931 TEMPLATE_VBOXMAINEXE_TOOL = GXX3OMF … … 4736 4634 4737 4635 # 4738 # Template for building Linux host tools (only for KBUILD_TARGET=l4).4739 #4740 TEMPLATE_VBOXLNXHOSTR3EXE = Template for building linux host programs when targeting L4.4741 TEMPLATE_VBOXLNXHOSTR3EXE_INST = $(INST_BIN)4742 TEMPLATE_VBOXLNXHOSTR3EXE_BLD_TRG = linux4743 TEMPLATE_VBOXLNXHOSTR3EXE_TOOL = $(VBOX_GCC_TOOL)4744 TEMPLATE_VBOXLNXHOSTR3EXE_ASTOOL = YASM4745 TEMPLATE_VBOXLNXHOSTR3EXE_ASFLAGS = $(VBOX_ASFLAGS)4746 TEMPLATE_VBOXLNXHOSTR3EXE_DLLSUFF = .so4747 TEMPLATE_VBOXLNXHOSTR3EXE_DEFS = IN_RING3 $(ARCH_BITS_DEFS)4748 TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_fno-stack-protector)4749 TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.debug = -fno-inline4750 TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.release = -O2 -fno-omit-frame-pointer -fno-strict-aliasing4751 TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.profile = $(TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.release)4752 TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.kprofile = $(TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.release)4753 TEMPLATE_VBOXLNXHOSTR3EXE_CFLAGS.release = $(TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.release)4754 TEMPLATE_VBOXLNXHOSTR3EXE_CFLAGS.debug = $(TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.debug)4755 TEMPLATE_VBOXLNXHOSTR3EXE_CFLAGS.profile = $(TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.profile)4756 TEMPLATE_VBOXLNXHOSTR3EXE_CFLAGS.kprofile = $(TEMPLATE_VBOXLNXHOSTR3EXE_CXXFLAGS.kprofile)4757 TEMPLATE_VBOXLNXHOSTR3EXE_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_fno-stack-protector)4758 TEMPLATE_VBOXLNXHOSTR3EXE_LIBS = pthread m rt dl4759 4760 TEMPLATE_VBOXLNXHOSTR3LIB = Template for linux host libraries.4761 TEMPLATE_VBOXLNXHOSTR3LIB_EXTENDS = VBOXLNXHOSTR3EXE4762 TEMPLATE_VBOXLNXHOSTR3LIB_INST = $(INST_LIB)4763 4764 4765 #4766 4636 # Template for building R3 programs for the guest additions. 4767 4637 #
Note:
See TracChangeset
for help on using the changeset viewer.