Skip to content

Commit 3daf820

Browse files
committed
add/os2/Gradd: Build fixes and stuff
svn:sync-xref-src-repo-rev: r173867
1 parent 80d6b2f commit 3daf820

1 file changed

Lines changed: 61 additions & 71 deletions

File tree

src/VBox/Additions/os2/Config.kmk

Lines changed: 61 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $Id: Config.kmk 114060 2026-05-02 18:15:10Z knut.osmundsen@oracle.com $
1+
# $Id: Config.kmk 114061 2026-05-02 20:47:50Z knut.osmundsen@oracle.com $
22
## @file
33
# kBuild Configuration file for the OS/2 Guest Additions.
44
#
@@ -36,91 +36,81 @@ ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
3636
endif
3737

3838
## FIXME
39-
PATH_DDKVIDEO ?= D:/ddk/200402/video
40-
PATH_DDKBASE ?= D:/ddk/200402/base
39+
PATH_DDKVIDEO ?= D:/ddk/200402/video
40+
PATH_DDKBASE ?= D:/ddk/200402/base
4141
TOOL_MASM510_AS ?= $(PATH_DDKBASE)/tools/masm.exe
4242
TOOL_MSLINK510_LD ?= $(PATH_DDKBASE)/tools/link.exe
4343
PATH_TOOL_VAC308 ?= D:/VACpp/v3.08
4444
PATH_TOOL_ALP ?= D:/Toolkit/v4.52/bin
4545

4646
#
47-
# Template for VAC308 Gradd stuff.
47+
# Template for GRADD stuff.
48+
# Currently using VAC308, but will switch to OpenWatcom soon.
4849
#
49-
ifndef VBOX_USE_WATCOM_FOR_OS2
50-
TEMPLATE_VBoxOs2Gradd = Template for Gradd using VisualAge for C++ v3.08
51-
TEMPLATE_VBoxOs2Gradd_TOOL = VAC308
52-
TEMPLATE_VBoxOs2Gradd_ARTOOL = GCC3OMF
53-
if 0
54-
TEMPLATE_VBoxOs2Gradd_ASTOOL = ALP
55-
else
56-
TEMPLATE_VBoxOs2Gradd_ASTOOL := NASM
57-
TEMPLATE_VBoxOs2Gradd_ASFLAGS := $(VBOX_NASM_ASFLAGS.lx.x86)
58-
endif
59-
TEMPLATE_VBoxOs2Gradd_INST = $(INST_ADDITIONS)
60-
TEMPLATE_VBoxOs2Gradd_DEFS = RT_OS_OS2 IN_RING3 LOG_DONT_USE_C99 VBOXGRADD_COMPILED_WITH_VAC308 ## @todo IN_GUEST IN_GUEST_R3 IN_RT_R3
50+
TEMPLATE_VBoxOs2Gradd := Template for Gradd
51+
TEMPLATE_VBoxOs2Gradd_INST = $(INST_ADDITIONS)
52+
TEMPLATE_VBoxOs2Gradd_ASTOOL := NASM
53+
TEMPLATE_VBoxOs2Gradd_ASFLAGS = $(VBOX_NASM_ASFLAGS.lx.x86)
54+
TEMPLATE_VBoxOs2Gradd_DEFS := RT_OS_OS2 IN_RING3 LOG_DONT_USE_C99 IN_GUEST IN_GUEST_R3 IN_RT_R3
55+
TEMPLATE_VBoxOs2Gradd_BLD_TRG := os2
56+
TEMPLATE_VBoxOs2Gradd_BLD_TRG_ARCH := x86
57+
ifdef VBOX_USE_WATCOM_FOR_OS2
58+
TEMPLATE_VBoxOs2Gradd_TOOL := VAC308
59+
TEMPLATE_VBoxOs2Gradd_ARTOOL := GCC3OMF
60+
TEMPLATE_VBoxOs2Gradd_DEFS += VBOXGRADD_COMPILED_WITH_VAC308
6161

62-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Gn+ # Do not generate default libraries in object.
63-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Gr+ # Allow object code to run at ring 0.
64-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Rn # Produce code to run with no runtime environment.
65-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Sp1 # Pack aggregate members on 1 byte alignment.
66-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Tm- # No debug memory management.
67-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Q+ # Suppress the logo. (in VAC308.kmk?)
68-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /C+ # Perform compile only, no link. (in VAC308.kmk?)
69-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ss+ # Allow the double slash (//) format to be used for comments. (C only)
70-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /G5 # Generate code optimized for use on a Pentium processor.
71-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ti+ # Generate debugging information.
72-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /O+ # Optimize generated code.
73-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Oi+ # Turn on function inlining.
74-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ge+ # Don't assume either dll or exe, (neither _exentry or _dllentry reference).
75-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Gl+
76-
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ol+
77-
TEMPLATE_VBoxOs2Gradd_CFLAGS := $(strip $(TEMPLATE_VBoxOs2Gradd_CFLAGS))
78-
TEMPLATE_VBoxOs2Gradd_CXXFLAGS = $(VBoxGradd_CFLAGS)
62+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Gn+ # Do not generate default libraries in object.
63+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Gr+ # Allow object code to run at ring 0.
64+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Rn # Produce code to run with no runtime environment.
65+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Sp1 # Pack aggregate members on 1 byte alignment.
66+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Tm- # No debug memory management.
67+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Q+ # Suppress the logo. (in VAC308.kmk?)
68+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /C+ # Perform compile only, no link. (in VAC308.kmk?)
69+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ss+ # Allow the double slash (//) format to be used for comments. (C only)
70+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /G5 # Generate code optimized for use on a Pentium processor.
71+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ti+ # Generate debugging information.
72+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /O+ # Optimize generated code.
73+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Oi+ # Turn on function inlining.
74+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ge+ # Don't assume either dll or exe, (neither _exentry or _dllentry reference).
75+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Gl+
76+
TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ol+
77+
TEMPLATE_VBoxOs2Gradd_CFLAGS := $(strip $(TEMPLATE_VBoxOs2Gradd_CFLAGS))
78+
TEMPLATE_VBoxOs2Gradd_CXXFLAGS = $(VBoxGradd_CFLAGS)
7979

80-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Nologo" # Quiet! (ILINK308.kmk?)
81-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Debug" # Debug info (ILINK308.kmk?)
82-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Map" # Generate map file (ILINK308.kmk?)
83-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Linenumbers" # Map file with linenumbers.
84-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Exepack:2" # Compress the file using exepack 2.
85-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Alignment:32" # Pack LX pages on 32 byte boundaries (default is 512 bytes).
86-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/NoDefaultLibrarySearch"
87-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Optfunc" # remove unreachable functions
88-
TEMPLATE_VBoxOs2Gradd_LDFLAGS := $(strip $(TEMPLATE_VBoxOs2Gradd_LDFLAGS))
80+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Nologo" # Quiet! (ILINK308.kmk?)
81+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Debug" # Debug info (ILINK308.kmk?)
82+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Map" # Generate map file (ILINK308.kmk?)
83+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Linenumbers" # Map file with linenumbers.
84+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Exepack:2" # Compress the file using exepack 2.
85+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Alignment:32" # Pack LX pages on 32 byte boundaries (default is 512 bytes).
86+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/NoDefaultLibrarySearch"
87+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += -B"/Optfunc" # remove unreachable functions
88+
TEMPLATE_VBoxOs2Gradd_LDFLAGS := $(strip $(TEMPLATE_VBoxOs2Gradd_LDFLAGS))
8989
else # VBOX_USE_WATCOM_FOR_OS2
90-
TEMPLATE_VBoxOs2Gradd = Template for Gradd using OpenWatcom
91-
TEMPLATE_VBoxOs2Gradd_BLD_TRG := os2
92-
TEMPLATE_VBoxOs2Gradd_BLD_TRG_ARCH := x86
93-
TEMPLATE_VBoxOs2Gradd_TOOL := OPENWATCOM
94-
TEMPLATE_VBoxOs2Gradd_ARTOOL := OPENWATCOM
95-
TEMPLATE_VBoxOs2Gradd_LDTOOL := OPENWATCOM-WL
96-
TEMPLATE_VBoxOs2Gradd_ASTOOL := NASM
97-
TEMPLATE_VBoxOs2Gradd_ASFLAGS := $(VBOX_NASM_ASFLAGS.lx.x86)
98-
TEMPLATE_VBoxOs2Gradd_INST = $(INST_ADDITIONS)
99-
TEMPLATE_VBoxOs2Gradd_DEFS = RT_OS_OS2 IN_RING3 VBOXGRADD_COMPILED_WITH_WATCOM ## @todo IN_GUEST IN_GUEST_R3 IN_RT_R3
90+
TEMPLATE_VBoxOs2Gradd_TOOL := OPENWATCOM
91+
TEMPLATE_VBoxOs2Gradd_ARTOOL := OPENWATCOM
92+
TEMPLATE_VBoxOs2Gradd_LDTOOL := OPENWATCOM-WL
93+
TEMPLATE_VBoxOs2Gradd_DEFS += VBOXGRADD_COMPILED_WITH_WATCOM
10094

101-
TEMPLATE_VBoxOs2Gradd_CFLAGS += -zl # Do not generate default libraries in object.
102-
#TEMPLATE_VBoxOs2Gradd_CFLAGS += /Gr+ # Allow object code to run at ring 0.
103-
#TEMPLATE_VBoxOs2Gradd_CFLAGS += /Rn # Produce code to run with no runtime environment.
104-
TEMPLATE_VBoxOs2Gradd_CFLAGS += -Zp1 # Pack aggregate members on 1 byte alignment.
105-
#TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ss+ # Allow the double slash (//) format to be used for comments. (C only)
106-
#TEMPLATE_VBoxOs2Gradd_CFLAGS += /G5 # Generate code optimized for use on a Pentium processor.
107-
TEMPLATE_VBoxOs2Gradd_CFLAGS += -d2 -hc # Generate codeview debugging information.
108-
TEMPLATE_VBoxOs2Gradd_CFLAGS += -ox # Optimize generated code.
109-
TEMPLATE_VBoxOs2Gradd_CFLAGS += -of+ # always generate stack frames
110-
TEMPLATE_VBoxOs2Gradd_CFLAGS += -oie # Turn on function inlining.
111-
#TEMPLATE_VBoxOs2Gradd_CFLAGS += /Ge- # Use the version of the runtime library that assumes a DLL is being built. (_DLL_InitTerm++)
112-
TEMPLATE_VBoxOs2Gradd_CFLAGS += -w=4 # Warning level 4?
113-
TEMPLATE_VBoxOs2Gradd_CFLAGS := $(strip $(TEMPLATE_VBoxOs2Gradd_CFLAGS))
114-
TEMPLATE_VBoxOs2Gradd_CXXFLAGS = $(VBoxGradd_CFLAGS)
95+
TEMPLATE_VBoxOs2Gradd_CFLAGS += -zl # Do not generate default libraries in object.
96+
TEMPLATE_VBoxOs2Gradd_CFLAGS += -Zp1 # Pack aggregate members on 1 byte alignment.
97+
TEMPLATE_VBoxOs2Gradd_CFLAGS += -d2 -hc # Generate codeview debugging information.
98+
TEMPLATE_VBoxOs2Gradd_CFLAGS += -ox # Optimize generated code.
99+
TEMPLATE_VBoxOs2Gradd_CFLAGS += -of+ # always generate stack frames
100+
TEMPLATE_VBoxOs2Gradd_CFLAGS += -oie # Turn on function inlining.
101+
TEMPLATE_VBoxOs2Gradd_CFLAGS += -w=4 # Warning level 4?
102+
TEMPLATE_VBoxOs2Gradd_CFLAGS := $(strip $(TEMPLATE_VBoxOs2Gradd_CFLAGS))
103+
TEMPLATE_VBoxOs2Gradd_CXXFLAGS = $(VBoxGradd_CFLAGS)
115104

116-
TEMPLATE_VBoxOs2Gradd_LDFLAGS = form os2 lx dll
117-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += option NODefaultlibs, internalrelocs, togglerelocs
118-
TEMPLATE_VBoxOs2Gradd_LDFLAGS += debug codeview all
105+
TEMPLATE_VBoxOs2Gradd_LDFLAGS = form os2 lx dll
106+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += option NODefaultlibs, internalrelocs, togglerelocs
107+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += debug codeview all
108+
TEMPLATE_VBoxOs2Gradd_LDFLAGS += option symfile=$(outbase).sym
119109
endif
120-
TEMPLATE_VBoxOs2Gradd_INCS = \
110+
TEMPLATE_VBoxOs2Gradd_INCS = \
121111
$(PATH_DDKVIDEO)/rel/os2c/include/base/os2 \
122112
$(PATH_DDKVIDEO)/rel/os2c/include/base/os2/16bit
123113

124-
TEMPLATE_VBoxOs2Gradd_LATE_LIBS = \
114+
TEMPLATE_VBoxOs2Gradd_LATE_LIBS = \
125115
$(PATH_DDKVIDEO)/rel/os2c/lib/os2/os2386.lib
126116

0 commit comments

Comments
 (0)