- Timestamp:
- Jan 21, 2023 10:34:07 PM (21 months ago)
- Location:
- trunk
- Files:
-
- 2 edited
-
Config.kmk (modified) (2 diffs)
-
src/VBox/Runtime/Makefile.kmk (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r98180 r98181 6958 6958 6959 6959 6960 6961 6960 # 6962 6961 # Same as VBoxR3DllNonPedantic, only it optimizes debug builds. … … 7027 7026 endif 7028 7027 endif 7029 7030 7031 #7032 # Template for building libraries, shared libraries / modules7033 # which only depends on IPRT for crt.7034 #7035 TEMPLATE_VBoxNoCrtGccLib = VBox no-crt GCC libraries and modules, yasm/nasm.7036 TEMPLATE_VBoxNoCrtGccLib_DEFS = IN_RING3 IPRT_NO_CRT $(ARCH_BITS_DEFS)7037 TEMPLATE_VBoxNoCrtGccLib_ASDEFS = ASM_CALL64_GCC7038 TEMPLATE_VBoxNoCrtGccLib_CFLAGS = -nostdinc -fno-strict-aliasing -fno-math-errno $(VBOX_GCC_WARN) -Werror-implicit-function-declaration7039 TEMPLATE_VBoxNoCrtGccLib_CFLAGS.x86 = -m327040 TEMPLATE_VBoxNoCrtGccLib_CFLAGS.amd64 = -m64 -mcmodel=medium -fno-common7041 TEMPLATE_VBoxNoCrtGccLib_CFLAGS.sparc32 = -m327042 TEMPLATE_VBoxNoCrtGccLib_CFLAGS.sparc64 = -m647043 TEMPLATE_VBoxNoCrtGccLib_CFLAGS.release = -O2 -fno-strict-aliasing7044 TEMPLATE_VBoxNoCrtGccLib_CFLAGS.profile = $(TEMPLATE_VBoxNoCrtGccLib_CFLAGS.release)7045 TEMPLATE_VBoxNoCrtGccLib_CFLAGS.kprofile = $(TEMPLATE_VBoxNoCrtGccLib_CFLAGS.release)7046 TEMPLATE_VBoxNoCrtGccLib_CFLAGS.darwin = -static7047 TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS = $(filter-out -Werror-implicit-function-declaration,$(TEMPLATE_VBoxNoCrtGccLib_CFLAGS))7048 TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS.$(KBUILD_TARGET) = $(TEMPLATE_VBoxNoCrtGccLib_CFLAGS.$(KBUILD_TARGET))7049 TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS.$(KBUILD_TARGET_ARCH) = $(TEMPLATE_VBoxNoCrtGccLib_CFLAGS.$(KBUILD_TARGET_ARCH))7050 TEMPLATE_VBoxNoCrtGccLib_PCHFLAGS = $(TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS)7051 TEMPLATE_VBoxNoCrtGccLib_PCHFLAGS.$(KBUILD_TARGET) = $(TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS.$(KBUILD_TARGET))7052 TEMPLATE_VBoxNoCrtGccLib_PCHFLAGS.$(KBUILD_TARGET_ARCH) = $(TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS.$(KBUILD_TARGET_ARCH))7053 TEMPLATE_VBoxNoCrtGccLib_INCS = $(PATH_ROOT)/include/iprt/nocrt7054 7055 ifeq (disabled-by-mingw-w64 $(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.amd64)7056 # cross compile to 64-bit ELF (linux).7057 TEMPLATE_VBoxNoCrtGccLib_TOOL = XGCCAMD64LINUX7058 TEMPLATE_VBoxNoCrtGccLib_ASTOOL = YASM7059 TEMPLATE_VBoxNoCrtGccLib_ASFLAGS = -f elf64 -DASM_FORMAT_ELF -D__YASM__ -g dwarf2 -w+orphan-labels $(VBOX_YASM_Wno-segreg-in-64bit)7060 TEMPLATE_VBoxNoCrtGccLib_LIBS = $(KBUILD_DEVTOOLS)/win.x86/x86_64-unknown-linux-gnu/20060701-r2/lib/gcc/x86_64-unknown-linux-gnu/3.4.6/libgcc.a7061 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS = -nostdlib7062 7063 else if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64)7064 # Use the default GCC (MinGW) with the Microsoft linker.7065 # (Drop all '-g' options as we're unable to strip the debug info.)7066 TEMPLATE_VBoxNoCrtGccLib_TOOL = $(VBOX_GCC_TOOL)7067 if $(VBOX_GCC_VERSION_CC) < 304007068 TEMPLATE_VBoxNoCrtGccLib_DEFS += RT_WITHOUT_PRAGMA_ONCE7069 endif7070 TEMPLATE_VBoxNoCrtGccLib_ASTOOL := $(VBOX_ASTOOL)7071 TEMPLATE_VBoxNoCrtGccLib_ASFLAGS = $(VBOX_ASFLAGS)7072 TEMPLATE_VBoxNoCrtGccLib_LDTOOL = $(VBOX_VCC_TOOL)7073 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS = -Incremental:NO -MapInfo:Exports -NoD -Ignore:41977074 TEMPLATE_VBoxNoCrtGccLib_LIBS = $(VBOX_GCC_LIBGCC)7075 TEMPLATE_VBoxNoCrtGccLib_CFLAGS := $(filter-out -g,$(TEMPLATE_VBoxNoCrtGccLib_CFLAGS)) -s7076 TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS := $(filter-out -g,$(TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS)) -s7077 TEMPLATE_VBoxNoCrtGccLib_PCHFLAGS := $(filter-out -g,$(TEMPLATE_VBoxNoCrtGccLib_PCHFLAGS)) -s7078 7079 else7080 # Use the default GCC.7081 # The use of --exclude-libs ALL is to avoid confusing the linux ld.so.7082 TEMPLATE_VBoxNoCrtGccLib_TOOL = $(VBOX_GCC_TOOL)7083 if $(VBOX_GCC_VERSION_CC) < 304007084 TEMPLATE_VBoxNoCrtGccLib_DEFS += RT_WITHOUT_PRAGMA_ONCE7085 endif7086 TEMPLATE_VBoxNoCrtGccLib_ASTOOL := $(VBOX_ASTOOL)7087 TEMPLATE_VBoxNoCrtGccLib_ASFLAGS = $(VBOX_ASFLAGS)7088 TEMPLATE_VBoxNoCrtGccLib_CFLAGS += $(VBOX_GCC_fno-stack-protector)7089 TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS += $(VBOX_GCC_fno-stack-protector)7090 TEMPLATE_VBoxNoCrtGccLib_PCHFLAGS += $(VBOX_GCC_fno-stack-protector)7091 ifeq ($(KBUILD_TARGET_ARCH),amd64)7092 # in 64-bit mode we'll build a sys-module (VBoxREM2).7093 if1of ($(KBUILD_TARGET), darwin solaris)7094 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS.solaris= -64 -r7095 else7096 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS = -nostdlib7097 endif7098 else # x86:7099 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS = -nostdlib7100 ifn1of ($(KBUILD_TARGET), os2 darwin solaris)7101 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS += $(VBOX_GCC_NO_UNDEFINED)7102 endif7103 endif # x867104 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -Wl,-headerpad_max_install_names7105 TEMPLATE_VBoxNoCrtGccLib_LIBS = # FIXME - has unwind mess.7106 endif7107 7108 7109 #7110 # Same as VBoxNoCrtGccLib only it uses GAS as the assembler instead of yasm/nasm.7111 #7112 TEMPLATE_VBOXNOCRTGAS = VBox no-crt GCC libraries and modules, gas.7113 TEMPLATE_VBOXNOCRTGAS_EXTENDS = VBoxNoCrtGccLib7114 TEMPLATE_VBOXNOCRTGAS_ASTOOL = $(TEMPLATE_VBoxNoCrtGccLib_TOOL)7115 ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.x86)7116 TEMPLATE_VBOXNOCRTGAS_ASFLAGS = -s7117 else7118 TEMPLATE_VBOXNOCRTGAS_ASFLAGS = -g7119 endif7120 TEMPLATE_VBOXNOCRTGAS_ASFLAGS.x86 = -m327121 TEMPLATE_VBOXNOCRTGAS_ASFLAGS.amd64 = -m647122 7028 7123 7029 -
trunk/src/VBox/Runtime/Makefile.kmk
r98169 r98181 110 110 111 111 BLDPROGS += uniread 112 LIBRARIES += RuntimeR3 RuntimeBldProg RuntimeEFCPP RuntimeR3NoCRTGCC112 LIBRARIES += RuntimeR3 RuntimeBldProg RuntimeEFCPP 113 113 ifdef VBOX_WITH_R0_MODULES 114 114 LIBRARIES += RuntimeR0 … … 3142 3142 3143 3143 # 3144 # RuntimeR3NoCRTGCC - CRT replacement lib for VBoxREM.3145 # This is used together with VBoxRT.3146 #3147 RuntimeR3NoCRTGCC_TEMPLATE = VBoxNoCrtGccLib3148 RuntimeR3NoCRTGCC_LIBSUFF = $(VBOX_SUFF_LIB)3149 RuntimeR3NoCRTGCC_DEFS = RT_WITH_NOCRT_ALIASES3150 ifn1of ($(KBUILD_TARGET_ARCH), amd64 x86)3151 RuntimeR3NoCRTGCC_DEFS += RT_NO_GIP3152 endif3153 RuntimeR3NoCRTGCC_INCS = include3154 RuntimeR3NoCRTGCC_SOURCES := \3155 common/misc/sanity-cpp.cpp \3156 common/misc/sanity-c.c \3157 \3158 $(RuntimeNoCrt_SOURCES)3159 3160 if1of ($(KBUILD_TARGET_ARCH), amd64 x86)3161 RuntimeR3NoCRTGCC_SOURCES += \3162 common/math/ceill.asm \3163 common/math/cosl.asm \3164 common/math/fabs.asm \3165 common/math/fabsf.asm \3166 common/math/fabsl.asm \3167 common/math/floor.asm \3168 common/math/floorf.asm \3169 common/math/floorl.asm \3170 common/math/ldexpl.asm \3171 common/math/llrint.asm \3172 common/math/llrintf.asm \3173 common/math/llrintl.asm \3174 common/math/logl.asm \3175 common/math/lrint.asm \3176 common/math/lrintf.asm \3177 common/math/lrintl.asm \3178 common/math/remainder.asm \3179 common/math/remainderf.asm \3180 common/math/remainderl.asm \3181 common/math/sinl.asm \3182 common/math/tanl.asm \3183 common/math/trunc.asm \3184 common/math/truncf.asm \3185 common/math/truncl.asm3186 endif3187 3188 RuntimeR3NoCRTGCC_SOURCES.x86 = \3189 common/math/gcc/adddi3.c \3190 common/math/gcc/anddi3.c \3191 common/math/gcc/ashldi3.c \3192 common/math/gcc/ashrdi3.c \3193 common/math/gcc/cmpdi2.c \3194 common/math/gcc/divdi3.c \3195 common/math/gcc/divmoddi4.c \3196 common/math/gcc/iordi3.c \3197 common/math/gcc/lshldi3.c \3198 common/math/gcc/lshrdi3.c \3199 common/math/gcc/moddi3.c \3200 common/math/gcc/muldi3.c \3201 common/math/gcc/negdi2.c \3202 common/math/gcc/notdi2.c \3203 common/math/gcc/qdivrem.c \3204 common/math/gcc/subdi3.c \3205 common/math/gcc/ucmpdi2.c \3206 common/math/gcc/udivdi3.c \3207 common/math/gcc/udivmoddi4.c \3208 common/math/gcc/umoddi3.c \3209 common/math/gcc/xordi3.c3210 3211 #3212 3144 # RuntimeR3NoCRT - For windows applications w/o any runtime library. 3213 3145 # Experimental.
Note:
See TracChangeset
for help on using the changeset viewer.

