VirtualBox

source: kBuild/trunk/src/kWorker/Makefile.kmk@ 2938

Last change on this file since 2938 was 2938, checked in by bird, 9 years ago

kWorker: TlsAlloc and FlsAlloc must only be intercepted for EXE images, otherwise we'll end up freeing in-use indexes when doing the late sandbox cleanup. Also seems we need to roll our own RtlUnwind for x86 for the same reason as we need to do our exception dispatching (our modules are not in the module table / inverse function table / whatever, and the handlers are considered invalid). RtlUnwind is used for error handling in cl.exe.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.8 KB
Line 
1# $Id: Makefile.kmk 2938 2016-09-19 16:50:47Z bird $
2## @file
3# Sub-makefile for kWorker.
4#
5
6#
7# Copyright (c) 2016 knut st. osmundsen <[email protected]>
8#
9# This file is part of kBuild.
10#
11# kBuild is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 3 of the License, or
14# (at your option) any later version.
15#
16# kBuild is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with kBuild. If not, see <http://www.gnu.org/licenses/>
23#
24#
25
26
27SUB_DEPTH = ../..
28include $(PATH_KBUILD)/subheader.kmk
29
30
31PROGRAMS += kWorker
32kWorker_TEMPLATE = BIN-STATIC-THREADED
33kWorker_DEFS.debug = K_STRICT
34kWorker_DEFS.release = NASSERT
35kWorker_SOURCES = \
36 kWorker.c \
37 ../kmk/kmkbuiltin/kDepObj.c
38kWorker_INCS = \
39 ../kmk/ \
40 ../kmk/kmkbuiltin
41kWorker_LIBS = \
42 $(kStuff_1_TARGET) \
43 $(kWorkerLib_1_TARGET)
44include $(KBUILD_PATH)/sdks/WINDDK71.kmk
45kWorker_LIBS.win = \
46 $(TEMPLATE_BIN-STATIC-THREADED_LIBS) \
47 $(PATH_SDK_WINDDK71_LIB_WNET)/ntdll.lib \
48 $(PATH_SDK_WINDDK71_LIB_WNET)/psapi.lib
49kWorker_LDFLAGS.win = \
50 /BASE:0x10000 /DYNAMICBASE:NO /FIXED
51#kWorker_LDFLAGS.win.x86 = \
52# /SAFESEH:NO - doesn't help anyone.
53
54
55#
56# Stuff from ../libs. Need to rebuilt it with static CRT.
57#
58LIBRARIES += kWorkerLib
59kWorkerLib_TEMPLATE = LIB-STATIC-THREADED
60kWorkerLib_DEFPATH = ../lib # Need fix from r2837.
61kWorkerLib_DEFPATH := $(PATH_SUB_CURRENT)/../lib
62kWorkerLib_SOURCES = \
63 crc32.c \
64 md5.c \
65 kbuild_version.c \
66 kDep.c
67kWorkerLib_SOURCES.win = \
68 nt_fullpath.c \
69 nt_fullpath_cached.c \
70 quoted_spawn.c \
71 nt/nthlpcore.c \
72 nt/nthlpfs.c \
73 nt/ntdir.c \
74 nt/ntstat.c \
75 nt/ntunlink.c \
76 nt/kFsCache.c \
77 quote_argv.c
78kbuild_version.c_DEFS = KBUILD_SVN_REV=$(KBUILD_SVN_REV)
79
80#
81# kStuff library.
82#
83LIBRARIES += kStuff
84kStuff_TEMPLATE = LIB-STATIC-THREADED
85kStuff_DEFS.debug = K_STRICT
86kStuff_INCS = kStuff/include
87kStuff_DEFPATH = $(PATH_ROOT)/src/lib
88
89# kLdr
90kStuff_SOURCES += \
91 kStuff/kLdr/kLdr.c \
92 kStuff/kLdr/kLdrDyld.c \
93 kStuff/kLdr/kLdrDyldFind.c \
94 kStuff/kLdr/kLdrDyldMod.c \
95 kStuff/kLdr/kLdrDyldOS.c \
96 kStuff/kLdr/kLdrDyLdSem.c \
97 kStuff/kLdr/kLdrMod.c \
98 kStuff/kLdr/kLdrModLX.c \
99 kStuff/kLdr/kLdrModMachO.c \
100 kStuff/kLdr/kLdrModNative.c \
101 kStuff/kLdr/kLdrModPE.c
102kLdr_SOURCES.os2 += \
103 kStuff/kLdr/kLdr-os2.c \
104 kStuff/kLdr/kLdrA-os2.asm
105kLdr_SOURCES.win += \
106 kStuff/kLdr/kLdr-win.c
107
108# kRdr
109kStuff_SOURCES += \
110 kStuff/kRdr/kRdr.cpp \
111 kStuff/kRdr/kRdrFile.cpp \
112 kStuff/kRdr/kRdrBuffered.cpp
113
114# kCpu
115kStuff_SOURCES += \
116 kStuff/kCpu/kCpuCompare.c \
117 kStuff/kCpu/kCpuGetArchAndCpu.c
118
119# kHlp (CRT)
120kStuff_SOURCES += \
121 kStuff/kHlp/Generic/kHlpMemPComp.c \
122 kStuff/kHlp/Generic/kHlpMemICompAscii.c \
123 kStuff/kHlp/Generic/kHlpStrPCat.c \
124 kStuff/kHlp/Generic/kHlpStrNPCat.c \
125 kStuff/kHlp/Generic/kHlpStrPComp.c \
126 kStuff/kHlp/Generic/kHlpStrNPComp.c \
127 kStuff/kHlp/Generic/kHlpStrICompAscii.c \
128 kStuff/kHlp/Generic/kHlpStrIPCompAscii.c \
129 kStuff/kHlp/Generic/kHlpStrNICompAscii.c \
130 kStuff/kHlp/Generic/kHlpStrNIPCompAscii.c \
131 kStuff/kHlp/Generic/kHlpStrPCopy.c \
132 kStuff/kHlp/Generic/kHlpStrNLen.c \
133 kStuff/kHlp/Generic/kHlpInt2Ascii.c \
134 \
135 kStuff/kHlp/Generic/kHlpGetEnvUZ.c \
136 \
137 kStuff/kHlp/Generic/kHlpGetExt.c \
138 kStuff/kHlp/Generic/kHlpGetFilename.c \
139 kStuff/kHlp/Generic/kHlpIsFilenameOnly.c \
140 \
141 kStuff/kHlp/Generic/kHlpPage.c \
142 \
143 kStuff/kHlp/CRT/kHlpCRTAlloc.cpp \
144 kStuff/kHlp/CRT/kHlpCRTEnv.cpp \
145 kStuff/kHlp/CRT/kHlpCRTString.cpp
146kStuff_SOURCES.darwin += \
147 kStuff/kHlp/Bare/kHlpSys-darwin.c
148
149
150
151include $(KBUILD_PATH)/subfooter.kmk
152
Note: See TracBrowser for help on using the repository browser.

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