VirtualBox

source: vbox/trunk/src/libs/xpcom18a4/Config.kmk@ 49482

Last change on this file since 49482 was 49116, checked in by vboxsync, 11 years ago

*.kmk: Some template cleanup, adding VBoxR3Tool for dev tools (bin/tools/).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 19.8 KB
Line 
1# $Id: Config.kmk 49116 2013-10-15 12:50:23Z vboxsync $
2## @file
3# XPCOM kBuild Configuration file.
4#
5
6#
7# Copyright (C) 2006-2013 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18# Include the top-level configure file.
19ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
20 include $(PATH_ROOT)/Config.kmk
21endif
22
23#
24# Globals.
25#
26VBOX_PATH_XPCOM_SRC := $(PATH_ROOT)/src/libs/xpcom18a4
27
28
29#
30# Template for building the XPCOM libraries (shared).
31#
32TEMPLATE_XPCOM = XPCOM libraries (shared)
33TEMPLATE_XPCOM_EXTENDS = VBOXR3NP
34## @todo correct inheritance here to make it use all the VBOXR3NP settings instead of overriding all of them.
35TEMPLATE_XPCOM_ASTOOL = $(TEMPLATE_VBOXR3NP_TOOL)
36TEMPLATE_XPCOM_ASFLAGS = $(NO_SUCH_VARIABLE)
37TEMPLATE_XPCOM_ASFLAGS.x86 = -m32
38TEMPLATE_XPCOM_ASFLAGS.amd64 = -m64
39TEMPLATE_XPCOM_ASDEFS = $(NO_SUCH_VARIABLE)
40TEMPLATE_XPCOM_CXXFLAGS = -g -pipe -ansi -Wall -Wno-unused -Wno-non-virtual-dtor \
41 $(VBOX_GCC_Wno-invalid-offsetof) -Wno-sign-compare -Wno-unused -Wno-ctor-dtor-privacy \
42 $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \
43 $(VBOX_GCC_fdiagnostics-show-option) $(VBOX_GCC_Wno-delete-non-virtual-dtor)
44TEMPLATE_XPCOM_CXXFLAGS.x86 = -m32
45TEMPLATE_XPCOM_CXXFLAGS.amd64 = -m64
46TEMPLATE_XPCOM_CXXFLAGS.release = -O
47TEMPLATE_XPCOM_CXXFLAGS.profile = -O
48TEMPLATE_XPCOM_CXXFLAGS.darwin = -fpascal-strings -fshort-wchar -fno-common -fno-rtti $(VBOX_DARWIN_DEF_SDK_CXXFLAGS)
49TEMPLATE_XPCOM_CXXFLAGS.freebsd = -pthread
50TEMPLATE_XPCOM_CXXFLAGS.linux = -pthread
51TEMPLATE_XPCOM_CXXFLAGS.solaris = -fno-omit-frame-pointer # for now anyway.
52TEMPLATE_XPCOM_CFLAGS = -g -pipe -Wall -Wno-unused -Wno-parentheses -Wno-uninitialized $(VBOX_GCC_fvisibility-hidden) \
53 $(VBOX_GCC_fdiagnostics-show-option)
54TEMPLATE_XPCOM_CFLAGS.x86 = -m32
55TEMPLATE_XPCOM_CFLAGS.amd64 = -m64
56TEMPLATE_XPCOM_CFLAGS.release = -O
57TEMPLATE_XPCOM_CFLAGS.profile = -O
58TEMPLATE_XPCOM_CFLAGS.freebsd = -pthread
59TEMPLATE_XPCOM_CFLAGS.linux = -pthread -ansi
60TEMPLATE_XPCOM_CFLAGS.solaris = -fno-omit-frame-pointer # for now anyway.
61TEMPLATE_XPCOM_DEFS = \
62 MOZILLA_CLIENT=1 \
63 NDEBUG=1 \
64 _IMPL_NS_COM \
65 XPCOM_DLL_BASE=\"$(basename $(notdir $(LIB_XPCOM)))\" \
66 MOZ_DLL_SUFFIX=\"$(suffix $(LIB_XPCOM))\" \
67 IN_RING3 \
68 VBOX_USE_IPRT_IN_XPCOM
69ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
70 TEMPLATE_XPCOM_DEFS += VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
71endif
72TEMPLATE_XPCOM_DEFS.x86 = i386=1
73TEMPLATE_XPCOM_DEFS.amd64 = HAVE_VA_LIST_AS_ARRAY HAVE_VA_COPY VA_COPY\(a\,b\)=__builtin_va_copy\(a\,b\)
74TEMPLATE_XPCOM_DEFS.darwin = OSTYPE=\"Darwin8.8.1\" OSARCH=\"Darwin\" XP_UNIX=1 XP_MACOSX=1 TARGET_CARBON=1 HAVE_VISIBILITY_ATTRIBUTE=1 DARWIN=1 $(TEMPLATE_VBOXR3NP_DEFS.darwin)
75TEMPLATE_XPCOM_DEFS.darwin.amd64 = VBOX_MACOSX_FOLLOWS_UNIX_IO
76TEMPLATE_XPCOM_DEFS.freebsd = OSTYPE=\"FreeBSD5+\" OSARCH=\"FreeBSD\" XP_UNIX=1 FREEBSD=1 HAVE_VISIBILITY_ATTRIBUTE=1
77TEMPLATE_XPCOM_DEFS.linux = OSTYPE=\"Linux2.6\" OSARCH=\"Linux\" XP_UNIX=1 _GNU_SOURCE HAVE_VISIBILITY_ATTRIBUTE=1 ## @todo LINUX=1
78# Don't define BSD_SELECT because bsdselect() from kLIBC <= 0.6.3 has problems on SMP
79TEMPLATE_XPCOM_DEFS.os2 = OSTYPE=\"OS/2_4.5\" OSARCH=\"OS/2\" XP_OS2 XP_PC OS2=4
80TEMPLATE_XPCOM_DEFS.solaris = OSTYPE=\"Solaris10\" OSARCH=\"Solaris\" XP_UNIX=1 XP_SOLARIS=1 HAVE_LIBDL=1 HAVE_SENDFILEV=1 SOLARIS=1 _REENTRANT
81## @todo The LDFLAGS inheriting is being hidden here and below where -fPIC is added.
82ifdef VBOX_WITH_RUNPATH
83TEMPLATE_XPCOM_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)'
84else ifdef VBOX_WITH_RELATIVE_RUNPATH
85TEMPLATE_XPCOM_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
86endif
87TEMPLATE_XPCOM_LDFLAGS.x86 = -m32
88TEMPLATE_XPCOM_LDFLAGS.amd64 = -m64
89TEMPLATE_XPCOM_LDFLAGS.darwin = $(TEMPLATE_VBOXR3NP_LDFLAGS.darwin) \
90 -fshort-wchar -fno-rtti -fno-exceptions -fpascal-strings \
91 -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \
92 -compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \
93 -framework CoreServices \
94 -framework CoreFoundation \
95 -framework Foundation \
96 -framework AppKit \
97 -framework Carbon
98## @todo why is -fno-exceptions here.
99ifn1of ($(KBUILD_TARGET), os2 win)
100 TEMPLATE_XPCOM_CXXFLAGS += -fPIC
101 TEMPLATE_XPCOM_CFLAGS += -fPIC
102 TEMPLATE_XPCOM_LDFLAGS += -fPIC
103 TEMPLATE_XPCOM_DEFS += MOZ_PRESERVE_PIC
104endif
105TEMPLATE_XPCOM_INCS = $(VBOX_PATH_XPCOM_SRC)/xpcom/build \
106 $(VBOX_PATH_XPCOM_SRC)/xpcom/ds \
107 $(VBOX_PATH_XPCOM_SRC)/xpcom/io \
108 $(VBOX_PATH_XPCOM_SRC)/xpcom/base \
109 $(VBOX_PATH_XPCOM_SRC)/xpcom/components \
110 $(VBOX_PATH_XPCOM_SRC)/xpcom/threads \
111 $(VBOX_PATH_XPCOM_SRC)/xpcom/proxy/src \
112 $(VBOX_PATH_XPCOM_SRC)/xpcom/reflect/xptcall/src \
113 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/client/src \
114 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/shared/src \
115 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/extensions/lock/src \
116 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/extensions/transmngr/src \
117 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/extensions/dconnect/src \
118 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/extensions/transmngr/common \
119 $(VBOX_PATH_SDK)/bindings/xpcom/include \
120 $(VBOX_PATH_SDK)/bindings/xpcom/include/nsprpub \
121 $(VBOX_PATH_SDK)/bindings/xpcom/include/string \
122 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom \
123 $(VBOX_PATH_SDK)/bindings/xpcom/include/ipcd \
124 .
125TEMPLATE_XPCOM_INCS.darwin = $(VBOX_PATH_MACOSX_SDK)/Developer/Headers/FlatCarbon
126TEMPLATE_XPCOM_LIBS.solaris = sendfile
127TEMPLATE_XPCOM_ORDERDEPS = $(foreach hdrinst, $(filter %-HEADERS, $(INSTALLS)), $($(hdrinst)_1_TARGET)) \
128 $(PATH_TARGET)/VBox-xpcom-idl-timestamp
129ifeq ($(KBUILD_TARGET),os2)
130 ifndef USE_OS2_TOOLKIT_HEADERS
131 TEMPLATE_XPCOM_DEFS.os2 += OS2EMX_PLAIN_CHAR
132 endif
133 TEMPLATE_XPCOM_DEFS.os2 += XP_OS2_EMX OS2=4
134 # this is at least for strnicmp()
135 TEMPLATE_XPCOM_DEFS.os2 += _EMX_SOURCE
136 # @@todo shouldn't this be somehow default for ASTOOL?
137 TEMPLATE_XPCOM_ASFLAGS.os2 += -Zomf
138endif
139
140# When using IPRT in NSRP or/and using IPRT for logging, link with IPRT.
141TEMPLATE_XPCOM_LIBS += $(LIB_RUNTIME)
142
143#
144# Template for building the XPCOM executables.
145# Used as a base template by XPCOMTSTEXE and XPCOMIPCEXE.
146#
147TEMPLATE_XPCOMEXE = XPCOM executable files
148TEMPLATE_XPCOMEXE_EXTENDS = XPCOM
149## @todo undo -fPIC.
150TEMPLATE_XPCOMEXE_INCS = ipc/ipcd/shared/src \
151 $(VBOX_PATH_SDK)/bindings/xpcom/include \
152 $(VBOX_PATH_SDK)/bindings/xpcom/include/nsprpub \
153 $(VBOX_PATH_SDK)/bindings/xpcom/include/string \
154 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom \
155 $(VBOX_PATH_SDK)/bindings/xpcom/include/ipcd \
156 .
157TEMPLATE_XPCOMEXE_LIBS = \
158 $(VBox-xpcom-ipcshared_1_TARGET) \
159 $(VBoxXPCOM_1_TARGET) \
160 $(TEMPLATE_XPCOM_LIBS)
161TEMPLATE_XPCOMEXE_LIBS.freebsd = $(LIB_PTHREAD)
162TEMPLATE_XPCOMEXE_LIBS.linux = dl $(LIB_PTHREAD)
163TEMPLATE_XPCOMEXE_LDFLAGS.darwin = -bind_at_load $(filter-out -current_version -compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD),$(TEMPLATE_XPCOM_LDFLAGS.darwin))
164
165
166#
167# Template for building the XPCOM testcase executables
168#
169TEMPLATE_XPCOMTSTEXE = XPCOM executable files (testcases)
170TEMPLATE_XPCOMTSTEXE_EXTENDS = XPCOMEXE
171TEMPLATE_XPCOMTSTEXE_CXXFLAGS = $(TEMPLATE_XPCOMEXE_CXXFLAGS) -Wno-format
172TEMPLATE_XPCOMTSTEXE_CFLAGS = $(TEMPLATE_XPCOMEXE_CFLAGS) -Wno-format
173TEMPLATE_XPCOMTSTEXE_INST = $(INST_TESTCASE)
174ifdef VBOX_WITH_RUNPATH
175 TEMPLATE_XPCOMTSTEXE_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' $(TEMPLATE_XPCOMEXE_LDFLAGS)
176else ifdef VBOX_WITH_RELATIVE_RUNPATH
177 TEMPLATE_XPCOMTSTEXE_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/..' $(TEMPLATE_XPCOMEXE_LDFLAGS)
178endif
179if "$(KBUILD_TARGET)" == "win" && defined(VBOX_SIGNING_MODE)
180 TEMPLATE_XPCOMTSTEXE_POST_CMDS =
181endif
182
183
184#
185# Template for building XPCOM executables for running at build time.
186#
187# It extends the BLDPROG template in config.kmk but overrides CFLAGS
188# and CXXFLAGS completely at the moment.
189#
190TEMPLATE_XPCOMBLDPROG = XPCOM Build programs executables
191TEMPLATE_XPCOMBLDPROG_EXTENDS = VBoxBldProg
192## @todo Verify that this doesn't blow up because of template inheriance ordering. (we're assuming XPCOMEXE is expanded when this is being used.)
193TEMPLATE_XPCOMBLDPROG_DEFS = \
194 $(TEMPLATE_VBoxBldProg_DEFS) \
195 $(filter-out VBOX_USE_IPRT_IN_XPCOM, $(TEMPLATE_XPCOMEXE_DEFS))
196TEMPLATE_XPCOMBLDPROG_DEFS.$(KBUILD_HOST) = $(TEMPLATE_VBoxBldProg_DEFS.$(KBUILD_HOST)) $(TEMPLATE_XPCOMEXE_DEFS.$(KBUILD_HOST))
197TEMPLATE_XPCOMBLDPROG_DEFS.x86 = $(TEMPLATE_VBoxBldProg_DEFS.x86) $(TEMPLATE_XPCOMEXE_DEFS.x86)
198TEMPLATE_XPCOMBLDPROG_DEFS.amd64 = $(TEMPLATE_VBoxBldProg_DEFS.amd64) $(TEMPLATE_XPCOMEXE_DEFS.amd64)
199TEMPLATE_XPCOMBLDPROG_INCS = \
200 $(VBOX_PATH_SDK)/bindings/xpcom/include \
201 $(VBOX_PATH_SDK)/bindings/xpcom/include/nsprpub \
202 $(VBOX_PATH_SDK)/bindings/xpcom/include/string \
203 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom \
204 $(VBOX_PATH_SDK)/bindings/xpcom/include/ipcd
205TEMPLATE_XPCOMBLDPROG_CFLAGS = $(filter-out -pedantic -Wshadow, $(TEMPLATE_VBOX_BLDPROG_CFLAGS)) $(VBOX_GCC_Wno-int-to-pointer-cast) $(VBOX_GCC_Wno-pointer-to-int-cast) -Wno-format
206TEMPLATE_XPCOMBLDPROG_CXXFLAGS.darwin = $(TEMPLATE_VBoxBldProg_CXXFLAGS.darwin) -fpascal-strings -fshort-wchar -fno-common -fno-rtti
207TEMPLATE_XPCOMBLDPROG_CXXFLAGS.solaris = $(TEMPLATE_VBoxBldProg_CXXFLAGS.solaris) -fno-omit-frame-pointer # for now anyway.
208TEMPLATE_XPCOMBLDPROG_LDFLAGS.darwin = $(TEMPLATE_VBoxBldProg_LDFLAGS.darwin) -fpascal-strings -fshort-wchar -fno-rtti -fno-exceptions
209TEMPLATE_XPCOMBLDPROG_ORDERDEPS = $(foreach hdrinst, $(filter %-HEADERS, $(INSTALLS)), $($(hdrinst)_1_TARGET))
210
211
212ifeq ($(VBOX_DEF_MACOSX_VERSION_MIN),10.4)
213 #
214 # Template for building VBoxPython against the Mac OS X 10.4 SDK.
215 # ASSUMES that the SDK bits are in the .darwin properties we're overriding below.
216 #
217 TEMPLATE_XPCOMOSX104 = XPCOM libraries (shared) built against the Mac OS X 10.4 SDK
218 TEMPLATE_XPCOMOSX104_EXTENDS = XPCOM
219 TEMPLATE_XPCOMOSX104_CXXFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CXXFLAGS),$(TEMPLATE_XPCOM_CXXFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_4_CXXFLAGS)
220 TEMPLATE_XPCOMOSX104_CFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CFLAGS),$(TEMPLATE_XPCOM_CFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_4_CFLAGS)
221 TEMPLATE_XPCOMOSX104_LDFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_LDFLAGS),$(TEMPLATE_XPCOM_LDFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_4_LDFLAGS)
222 TEMPLATE_XPCOMOSX104_DEFS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_XPCOM_DEFS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_4_DEFS)
223 TEMPLATE_XPCOMOSX104_INCS.darwin = $(VBOX_PATH_MACOSX_SDK_10_4)/Developer/Headers/FlatCarbon
224endif
225
226#
227# Template for building VBoxPython against the Mac OS X 10.5 SDK.
228# ASSUMES that the SDK bits are in the .darwin properties we're overriding below.
229#
230TEMPLATE_XPCOMOSX105 = XPCOM libraries (shared) built against the Mac OS X 10.5 SDK
231TEMPLATE_XPCOMOSX105_EXTENDS = XPCOM
232TEMPLATE_XPCOMOSX105_CXXFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CXXFLAGS),$(TEMPLATE_XPCOM_CXXFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_5_CXXFLAGS)
233TEMPLATE_XPCOMOSX105_CFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CFLAGS),$(TEMPLATE_XPCOM_CFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_5_CFLAGS)
234TEMPLATE_XPCOMOSX105_LDFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_LDFLAGS),$(TEMPLATE_XPCOM_LDFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_5_LDFLAGS)
235TEMPLATE_XPCOMOSX105_DEFS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_XPCOM_DEFS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_5_DEFS)
236TEMPLATE_XPCOMOSX105_INCS.darwin = $(VBOX_PATH_MACOSX_SDK_10_5)/Developer/Headers/FlatCarbon
237
238#
239# Template for building VBoxPhython against the Mac OS X 10.6 SDK.
240# ASSUMES that the SDK bits are in the .darwin properties we're overriding below.
241#
242TEMPLATE_XPCOMOSX106 = XPCOM libraries (shared) built against the Mac OS X 10.6 SDK
243TEMPLATE_XPCOMOSX106_EXTENDS = XPCOM
244TEMPLATE_XPCOMOSX106_CXXFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CXXFLAGS),$(TEMPLATE_XPCOM_CXXFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_6_CXXFLAGS)
245TEMPLATE_XPCOMOSX106_CFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CFLAGS),$(TEMPLATE_XPCOM_CFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_6_CFLAGS)
246TEMPLATE_XPCOMOSX106_LDFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_LDFLAGS),$(TEMPLATE_XPCOM_LDFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_6_LDFLAGS)
247TEMPLATE_XPCOMOSX106_DEFS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_XPCOM_DEFS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_6_DEFS)
248TEMPLATE_XPCOMOSX106_INCS.darwin = $(VBOX_PATH_MACOSX_SDK_10_6)/Developer/Headers/FlatCarbon
249
250#
251# Template for building VBoxPhython against the Mac OS X 10.7 SDK.
252# ASSUMES that the SDK bits are in the .darwin properties we're overriding below.
253#
254TEMPLATE_XPCOMOSX107 = XPCOM libraries (shared) built against the Mac OS X 10.7 SDK
255TEMPLATE_XPCOMOSX107_EXTENDS = XPCOM
256TEMPLATE_XPCOMOSX107_TOOL = LLVMGXX42MACHO
257TEMPLATE_XPCOMOSX107_CXXFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CXXFLAGS),$(TEMPLATE_XPCOM_CXXFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_7_CXXFLAGS)
258TEMPLATE_XPCOMOSX107_CFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CFLAGS),$(TEMPLATE_XPCOM_CFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_7_CFLAGS)
259TEMPLATE_XPCOMOSX107_LDFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_LDFLAGS),$(TEMPLATE_XPCOM_LDFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_7_LDFLAGS)
260TEMPLATE_XPCOMOSX107_DEFS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_XPCOM_DEFS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_7_DEFS)
261TEMPLATE_XPCOMOSX107_INCS.darwin = $(VBOX_PATH_MACOSX_SDK_10_7)/Developer/Headers/FlatCarbon
262
263
264#
265# Creates a x86 target for an XPCOM target if so desired.
266# The target is specified as the first argument: $(evalcall VBOX_XPCOM_X86,target).
267#
268ifdef VBOX_WITH_32_ON_64_MAIN_API
269 define VBOX_XPCOM_X86
270 $(1)-x86_TEMPLATE := $(strip $($(1)_TEMPLATE))-x86
271 $(1)-x86_EXTENDS := $(1)
272 endef
273else
274 define VBOX_XPCOM_X86
275 endef
276endif
277
278# Corresponding 32-bit template(s).
279TEMPLATE_XPCOM-x86 = 32-bit XPCOM libraries (shared)
280TEMPLATE_XPCOM-x86_EXTENDS = XPCOM
281TEMPLATE_XPCOM-x86_BLD_TRG_ARCH = x86
282TEMPLATE_XPCOM-x86_DEFS = $(TEMPLATE_XPCOM_DEFS) VBOX_IN_32_ON_64_MAIN_API
283TEMPLATE_XPCOM-x86_LIBS = $(subst $(LIB_RUNTIME),$(VBOX_LIB_RUNTIME_X86),$(TEMPLATE_XPCOM_LIBS))
284
285
286#
287# The list of XPCOM's IDL files.
288# This is used by the java bindings as well as the XPCOM build.
289#
290XPCOM_IDLFILES = \
291 xpcom/base/nsIDebug.idl \
292 xpcom/base/nsIInterfaceRequestor.idl \
293 xpcom/base/nsIMemory.idl \
294 xpcom/base/nsIProgrammingLanguage.idl \
295 xpcom/base/nsISupports.idl \
296 xpcom/base/nsITraceRefcnt.idl \
297 xpcom/base/nsIWeakReference.idl \
298 xpcom/base/nsIConsoleMessage.idl \
299 xpcom/base/nsIConsoleService.idl \
300 xpcom/base/nsIConsoleListener.idl \
301 xpcom/base/nsIErrorService.idl \
302 xpcom/base/nsIException.idl \
303 xpcom/base/nsIExceptionService.idl \
304 xpcom/base/nsrootidl.idl \
305 xpcom/components/nsIClassInfo.idl \
306 xpcom/components/nsIComponentRegistrar.idl \
307 xpcom/components/nsIFactory.idl \
308 xpcom/components/nsIModule.idl \
309 xpcom/components/nsIServiceManager.idl \
310 xpcom/components/nsIComponentManager.idl \
311 xpcom/components/nsICategoryManager.idl \
312 xpcom/components/nsIComponentLoader.idl \
313 xpcom/components/nsINativeComponentLoader.idl \
314 xpcom/components/nsIComponentManagerObsolete.idl \
315 xpcom/components/nsIComponentLoaderManager.idl \
316 xpcom/ds/nsISupportsArray.idl \
317 xpcom/ds/nsICollection.idl \
318 xpcom/ds/nsISerializable.idl \
319 xpcom/ds/nsIEnumerator.idl \
320 xpcom/ds/nsISimpleEnumerator.idl \
321 xpcom/ds/nsIObserverService.idl \
322 xpcom/ds/nsIObserver.idl \
323 xpcom/ds/nsIAtom.idl \
324 xpcom/ds/nsIAtomService.idl \
325 xpcom/ds/nsIProperties.idl \
326 xpcom/ds/nsIPersistentProperties2.idl \
327 xpcom/ds/nsIRecyclingAllocator.idl \
328 xpcom/ds/nsIStringEnumerator.idl \
329 xpcom/ds/nsISupportsPrimitives.idl \
330 xpcom/ds/nsISupportsIterators.idl \
331 xpcom/ds/nsIVariant.idl \
332 xpcom/ds/nsITimelineService.idl \
333 xpcom/ds/nsIArray.idl \
334 xpcom/ds/nsIPropertyBag.idl \
335 xpcom/ds/nsIHashable.idl \
336 xpcom/io/nsIDirectoryService.idl \
337 xpcom/io/nsIDirectoryEnumerator.idl \
338 xpcom/io/nsIFile.idl \
339 xpcom/io/nsILocalFile.idl \
340 xpcom/io/nsILocalFileMac.idl \
341 xpcom/io/nsIInputStream.idl \
342 xpcom/io/nsIObjectInputStream.idl \
343 xpcom/io/nsIBinaryInputStream.idl \
344 xpcom/io/nsIObjectOutputStream.idl \
345 xpcom/io/nsIBinaryOutputStream.idl \
346 xpcom/io/nsIOutputStream.idl \
347 xpcom/io/nsIStreamBufferAccess.idl \
348 xpcom/io/nsIByteArrayInputStream.idl \
349 xpcom/io/nsISeekableStream.idl \
350 xpcom/io/nsIFastLoadFileControl.idl \
351 xpcom/io/nsIFastLoadService.idl \
352 xpcom/io/nsIInputStreamTee.idl \
353 xpcom/io/nsIMultiplexInputStream.idl \
354 xpcom/io/nsIPipe.idl \
355 xpcom/io/nsIAsyncInputStream.idl \
356 xpcom/io/nsIAsyncOutputStream.idl \
357 xpcom/io/nsIScriptableInputStream.idl \
358 xpcom/io/nsIStorageStream.idl \
359 xpcom/io/nsIStringStream.idl \
360 xpcom/io/nsILineInputStream.idl \
361 xpcom/proxy/public/nsIProxyObjectManager.idl \
362 xpcom/threads/nsIEventQueueService.idl \
363 xpcom/threads/nsIEventQueue.idl \
364 xpcom/threads/nsIEventTarget.idl \
365 xpcom/threads/nsIRunnable.idl \
366 xpcom/threads/nsIThread.idl \
367 xpcom/threads/nsITimer.idl \
368 xpcom/threads/nsIEnvironment.idl \
369 xpcom/threads/nsITimerInternal.idl \
370 xpcom/threads/nsITimerManager.idl \
371 xpcom/threads/nsIProcess.idl \
372 xpcom/reflect/xptinfo/public/nsIInterfaceInfo.idl \
373 xpcom/reflect/xptinfo/public/nsIInterfaceInfoManager.idl \
374 xpcom/reflect/xptinfo/public/nsIXPTLoader.idl \
375 ipc/ipcd/client/public/ipcIService.idl \
376 ipc/ipcd/client/public/ipcIMessageObserver.idl \
377 ipc/ipcd/client/public/ipcIClientObserver.idl \
378 ipc/ipcd/extensions/lock/public/ipcILockService.idl \
379 ipc/ipcd/extensions/transmngr/public/ipcITransactionService.idl \
380 ipc/ipcd/extensions/dconnect/public/ipcIDConnectService.idl \
381 ipc/ipcd/extensions/transmngr/public/ipcITransactionObserver.idl
382
383#
384# The include path for the XPCOM IDL files above.
385#
386XPIDL_INCS = \
387 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/base/ \
388 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/ds/ \
389 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/components/ \
390 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/io/ \
391 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/threads/ \
392 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/reflect/xptinfo/public/
393
Note: See TracBrowser for help on using the repository browser.

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