VirtualBox

source: vbox/trunk/src/libs/xpcom18a4/Makefile.kmk@ 611

Last change on this file since 611 was 611, checked in by vboxsync, 18 years ago

i386 needs to defined everywhere or we'll get big endian mixup in typelib on darwin.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 45.9 KB
Line 
1#
2# Makefile for XPCOM.
3#
4
5#
6# Copyright (C) 2006 InnoTek Systemberatung GmbH
7#
8# This file is part of VirtualBox Open Source Edition (OSE), as
9# available from http://www.virtualbox.org. This file is free software;
10# you can redistribute it and/or modify it under the terms of the GNU
11# General Public License as published by the Free Software Foundation,
12# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
13# distribution. VirtualBox OSE is distributed in the hope that it will
14# be useful, but WITHOUT ANY WARRANTY of any kind.
15#
16# If you received this file as part of a commercial VirtualBox
17# distribution, then only the terms of your commercial VirtualBox
18# license agreement apply instead of the previous paragraph.
19#
20
21DEPTH = ../../..
22include $(PATH_KBUILD)/header.kmk
23
24
25#
26# Template for building the XPCOM libraries (shared).
27#
28TEMPLATE_XPCOM = XPCOM libraries (shared)
29TEMPLATE_XPCOM_EXTENDS = VBOXR3NP
30TEMPLATE_XPCOM_ASTOOL = $(TEMPLATE_VBOXR3NP_TOOL)
31TEMPLATE_XPCOM_ASFLAGS = $(NO_SUCH_VARIABLE)
32TEMPLATE_XPCOM_ASDEFS = $(NO_SUCH_VARIABLE)
33TEMPLATE_XPCOM_CXXFLAGS = -pipe -ansi -Wall -Wno-unused -Wno-non-virtual-dtor \
34 $(VBOX_GCC_Wno-invalid-offsetof) -Wno-sign-compare -Wno-unused -Wno-ctor-dtor-privacy
35
36TEMPLATE_XPCOM_CXXFLAGS.debug = -fno-inline
37TEMPLATE_XPCOM_CXXFLAGS.release = -O
38TEMPLATE_XPCOM_CXXFLAGS.profile = -O
39TEMPLATE_XPCOM_CXXFLAGS.darwin = -fpascal-strings -fshort-wchar -fno-common -fno-rtti
40TEMPLATE_XPCOM_CXXFLAGS.l4 = -fno-exceptions -nostdinc
41TEMPLATE_XPCOM_CXXFLAGS.linux = -pthread
42TEMPLATE_XPCOM_CFLAGS = -pipe -Wall -Wno-unused -Wno-parentheses -Wno-uninitialized
43TEMPLATE_XPCOM_CFLAGS.debug = -fno-inline
44TEMPLATE_XPCOM_CFLAGS.release = -O
45TEMPLATE_XPCOM_CFLAGS.profile = -O
46TEMPLATE_XPCOM_CFLAGS.l4 = -nostdinc
47TEMPLATE_XPCOM_CFLAGS.linux = -pthread -ansi
48TEMPLATE_XPCOM_DEFS = MOZILLA_CLIENT=1 NDEBUG=1
49TEMPLATE_XPCOM_DEFS.x86 = i386=1
50TEMPLATE_XPCOM_DEFS.amd64 = HAVE_VA_LIST_AS_ARRAY HAVE_VA_COPY VA_COPY\(a\,b\)=__builtin_va_copy\(a\,b\)
51TEMPLATE_XPCOM_DEFS.darwin = OSTYPE=\"Darwin8.8.1\" OSARCH=\"Darwin\" MOZ_DLL_SUFFIX=\".dylib\" XP_UNIX=1 XP_MACOSX=1
52TEMPLATE_XPCOM_DEFS.linux = OSTYPE=\"Linux2.6\" OSARCH=\"Linux\" MOZ_DLL_SUFFIX=\".so\" XP_UNIX=1
53TEMPLATE_XPCOM_DEFS.l4 = OSTYPE=\"L4ENV\" OSARCH=\"L4\" MOZ_DLL_SUFFIX=\".s.so\" XP_UNIX=1 L4ENV
54TEMPLATE_XPCOM_DEFS.os2 = OSTYPE=\"OS/2 4.5\" OSARCH=\"OS/2\" MOZ_DLL_SUFFIX=\".dll\" XP_UNIX=1
55TEMPLATE_XPCOM_LDFLAGS.darwin = $(VBOXR3NP_LDFLAGS.darwin) \
56 -fshort-wchar -fno-rtti -fno-exceptions -fpascal-strings \
57 -framework CoreServices -framework CoreFoundation -framework Foundation -framework AppKit -framework Carbon
58ifeq ($(filter os2 win,$(BUILD_TARGET)),)
59 TEMPLATE_XPCOM_CXXFLAGS += -fPIC
60 TEMPLATE_XPCOM_CFLAGS += -fPIC
61 TEMPLATE_XPCOM_LDFLAGS += -fPIC
62 TEMPLATE_XPCOM_DEFS += MOZ_PRESERVE_PIC
63endif
64TEMPLATE_XPCOM_INCS = $(PATH_TARGET) \
65 xpcom/build \
66 xpcom/ds \
67 xpcom/io \
68 xpcom/base \
69 xpcom/components \
70 xpcom/threads \
71 xpcom/proxy/src \
72 xpcom/reflect/xptcall/src \
73 ipc/ipcd/client/src \
74 ipc/ipcd/shared/src \
75 ipc/ipcd/extensions/lock/src \
76 ipc/ipcd/extensions/transmngr/src \
77 ipc/ipcd/extensions/dconnect/src \
78 ipc/ipcd/extensions/transmngr/common \
79 $(PATH_BIN)/sdk/include \
80 $(PATH_BIN)/sdk/include/xpcom \
81 $(PATH_BIN)/sdk/include/xpcom/nsprpub \
82 $(PATH_BIN)/sdk/include/xpcom/string \
83 $(PATH_BIN)/sdk/include/xpcom/xpcom \
84 $(PATH_BIN)/sdk/include/xpcom/ipcd
85TEMPLATE_XPCOM_INCS.darwin = /Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon
86TEMPLATE_XPCOM_INCS.l4 = $(L4_INCDIR) $(VBOX_L4_GCC3_INCS)
87TEMPLATE_XPCOM_LDFLAGS.l4 = $(L4_DIR)/lib/x86_586/crt0.o \
88 -T$(L4_DIR)/lib/x86_586/main_rel.ld -nostdlib \
89 # -Wl,--whole-archive,--no-allow-shlib-undefined
90TEMPLATE_XPCOM_LIBS.l4 = $(VBOX_GCC_LIBGCC)
91TEMPLATE_XPCOM_ORDERDEPS = $(foreach hdrinst, $(filter %-HEADERS, $(INSTALLS)), $(TARGET_$(hdrinst))) \
92 $(PATH_VBox-xpcom-string)/idl_ts
93
94
95#
96# Template for building the XPCOM executables
97#
98TEMPLATE_XPCOMEXE = XPCOM executable files (testcases)
99TEMPLATE_XPCOMEXE_EXTENDS = XPCOM
100## @todo undo -fPIC.
101TEMPLATE_XPCOMEXE_INCS = $(PATH_TARGET) ipc/ipcd/shared/src \
102 $(PATH_BIN)/sdk/include \
103 $(PATH_BIN)/sdk/include/xpcom \
104 $(PATH_BIN)/sdk/include/xpcom/nsprpub \
105 $(PATH_BIN)/sdk/include/xpcom/string \
106 $(PATH_BIN)/sdk/include/xpcom/xpcom \
107 $(PATH_BIN)/sdk/include/xpcom/ipcd
108TEMPLATE_XPCOMEXE_LIBS = \
109 $(TARGET_VBox-xpcom-ipcshared) \
110 $(TARGET_VBoxXPCOM)
111TEMPLATE_XPCOMEXE_LIBS.linux = dl $(LIB_PTHREAD)
112TEMPLATE_XPCOMEXE_LIBS.l4 = $(LIB_RUNTIME) $(VBOX_GCC_LIBGCC)
113TEMPLATE_XPCOMEXE_LDFLAGS.darwin = -bind_at_load $(TEMPLATE_XPCOM_LDFLAGS.darwin)
114TEMPLATE_XPCOMEXE_LDFLAGS.l4 = $(L4_DIR)/lib/x86_586/crt0.o \
115 -T$(L4_DIR)/lib/x86_586/main_dyn.ld -nostdlib -lgcc \
116 -Wl,--export-dynamic,--dynamic-linker=libld-l4.s.so \
117 -Wl,--rpath-link,$(L4_LIBDIR) \
118 # -Wl,--whole-archive,--no-allow-shlib-undefined
119
120#
121# Template for building XPCOM executables for running at build time.
122#
123# It extends the BLDPROG template in config.kmk but overrides CFLAGS
124# and CXXFLAGS completely at the moment.
125#
126TEMPLATE_XPCOMBLDPROG = XPCOM Build programs executables
127TEMPLATE_XPCOMBLDPROG_EXTENDS = BLDPROG
128
129TEMPLATE_XPCOMBLDPROG_DEFS = $(TEMPLATE_BLDPROG_DEFS) $(TEMPLATE_XPCOMEXE_DEFS)
130TEMPLATE_XPCOMBLDPROG_DEFS.$(BUILD_TARGET) = $(TEMPLATE_BLDPROG_DEFS.$(BUILD_TARGET)) $(TEMPLATE_XPCOMEXE_DEFS.$(BUILD_TARGET))
131TEMPLATE_XPCOMBLDPROG_DEFS.$(BUILD_TARGET_ARCH) = $(TEMPLATE_BLDPROG_DEFS.$(BUILD_TARGET_ARCH)) $(TEMPLATE_XPCOMEXE_DEFS.$(BUILD_TARGET_ARCH))
132TEMPLATE_XPCOMBLDPROG_CXXFLAGS = -ansi -Wall -Wno-non-virtual-dtor
133TEMPLATE_XPCOMBLDPROG_CXXFLAGS.linux = -pthread
134TEMPLATE_XPCOMBLDPROG_CXXFLAGS.release = -O
135TEMPLATE_XPCOMBLDPROG_CXXFLAGS.profile = -O
136TEMPLATE_XPCOMBLDPROG_CFLAGS = -pipe -ansi -Wall -Wno-unused
137TEMPLATE_XPCOMBLDPROG_CFLAGS.linux = -pthread
138TEMPLATE_XPCOMBLDPROG_CFLAGS.release = -O
139TEMPLATE_XPCOMBLDPROG_CFLAGS.profile = -O
140TEMPLATE_XPCOMBLDPROG_INCS = $(PATH_BIN)/sdk/include \
141 $(PATH_BIN)/sdk/include/xpcom \
142 $(PATH_BIN)/sdk/include/xpcom/nsprpub \
143 $(PATH_BIN)/sdk/include/xpcom/string \
144 $(PATH_BIN)/sdk/include/xpcom/xpcom \
145 $(PATH_BIN)/sdk/include/xpcom/ipcd
146TEMPLATE_XPCOMBLDPROG_ORDERDEPS = $(foreach hdrinst, $(filter %-HEADERS, $(INSTALLS)), $(TARGET_$(hdrinst)))
147
148
149#
150# Header installs.
151#
152INSTALLS = \
153 NSPRPUB-HEADERS \
154 NSPRPUB-MD-HEADERS \
155 NSPRPUB-OBS-HEADERS \
156 NSPRPUB-PRIV-HEADERS \
157 STRING-HEADERS \
158 XPCOM-HEADERS \
159 IPCD-HEADERS
160
161#
162# The IDL compiler and typelib linker.
163#
164BLDPROGS = \
165 xpidl \
166 xpt_link
167
168#
169# We build several libraries so that any linker command line
170# length restrictions limit will be avoided. (Solaris, Mac?)
171#
172LIBRARIES = \
173 VBox-xpcom-nspr \
174 VBox-xpcom-typelib \
175 VBox-xpcom-string \
176 VBox-xpcom-base \
177 VBox-xpcom-ds \
178 VBox-xpcom-io \
179 VBox-xpcom-components \
180 VBox-xpcom-threads \
181 VBox-xpcom-xptinfo \
182 VBox-xpcom-xptcall \
183 VBox-xpcom-proxy \
184 VBoxXPCOMGlue \
185 VBox-xpcom-ipcutils \
186 VBox-xpcom-ipcshared \
187 VBox-xpcom-ipcdlock \
188 VBox-xpcom-ipctransmgr \
189 VBox-xcpom-ipctmgrcom
190
191DLLS = \
192 VBoxXPCOM \
193 VBoxXPCOMIPCC
194
195ifdef VBOX_WITH_TESTCASES
196PROGRAMS = \
197 tstnsIFileEnumerator \
198 tstnsIFileTest \
199 tstTestArray \
200 tstTestAtoms \
201 tstTestAutoLock \
202 tstTestCallTemplates \
203 tstTestCOMPtr \
204 tstTestCOMPtrEq \
205 tstTestCRT \
206 tstTestFactory \
207 tstTestHashtables \
208 tstTestID \
209 tstTestObserverService \
210 tstTestPipes \
211 tstTestServMgr \
212 tstTestThreads \
213 tstTestXPIDLString \
214 tstTestDeque \
215 tstTestAutoPtr \
216 tstTestMinStringAPI \
217 tstTestStrings \
218 tstPrimitiveTest \
219 tstSimpleTypeLib \
220 tstXptDump \
221 tstXptLink
222# tstTestPermanentAtoms
223endif # VBOX_WITH_TESTCASES
224PROGRAMS += VBoxXPCOMIPCD
225
226OTHERS = \
227 $(PATH_BIN)/VBoxXPCOMBase.xpt
228
229OTHER_CLEAN = \
230 $(PATH_TARGET)/VBox-xpcom-nspr/_pr_bld.h \
231 $(PATH_TARGET)/VBox-xpcom-nspr/_pl_bld.h \
232 $(PATH_BIN)/VBoxXPCOMBase.xpt
233
234
235
236#
237# SDK headers - lot's of files to install...
238#
239# Tip: If you are going to remove files here, you might
240# wish to do a `kmk uninstall' first to avoid have
241# obsoleted files in the $(INST_SDK) directory.
242#
243
244NSPRPUB-HEADERS_INST = $(INST_SDK)/include/xpcom/nsprpub/
245NSPRPUB-HEADERS_IFFLAGS = -p -m 644
246NSPRPUB-HEADERS_SOURCES = \
247 nsprpub/pr/include/nspr.h \
248 nsprpub/lib/ds/plarena.h \
249 nsprpub/lib/ds/plarenas.h \
250 nsprpub/lib/libc/include/plbase64.h \
251 nsprpub/lib/libc/include/plerror.h \
252 nsprpub/lib/libc/include/plgetopt.h \
253 nsprpub/lib/ds/plhash.h \
254 nsprpub/lib/libc/include/plresolv.h \
255 nsprpub/lib/libc/include/plstr.h \
256 nsprpub/pr/include/pratom.h \
257 nsprpub/pr/include/prbit.h \
258 nsprpub/pr/include/prclist.h \
259 nsprpub/pr/include/prcmon.h \
260 nsprpub/pr/include/prcountr.h \
261 nsprpub/pr/include/prcvar.h \
262 nsprpub/pr/include/prdtoa.h \
263 nsprpub/pr/include/prenv.h \
264 nsprpub/pr/include/prerr.h \
265 nsprpub/pr/include/prerror.h \
266 nsprpub/pr/include/prinet.h \
267 nsprpub/pr/include/prinit.h \
268 nsprpub/pr/include/prinrval.h \
269 nsprpub/pr/include/prio.h \
270 nsprpub/pr/include/pripcsem.h \
271 nsprpub/pr/include/prlink.h \
272 nsprpub/pr/include/prlock.h \
273 nsprpub/pr/include/prlog.h \
274 nsprpub/pr/include/prlong.h \
275 nsprpub/pr/include/prmem.h \
276 nsprpub/pr/include/prmon.h \
277 nsprpub/pr/include/prmwait.h \
278 nsprpub/pr/include/prnetdb.h \
279 nsprpub/pr/include/prolock.h \
280 nsprpub/pr/include/prpdce.h \
281 nsprpub/pr/include/prprf.h \
282 nsprpub/pr/include/prproces.h \
283 nsprpub/pr/include/prrng.h \
284 nsprpub/pr/include/prrwlock.h \
285 nsprpub/pr/include/prshm.h \
286 nsprpub/pr/include/prshma.h \
287 nsprpub/pr/include/prsystem.h \
288 nsprpub/pr/include/prthread.h \
289 nsprpub/pr/include/prtime.h \
290 nsprpub/pr/include/prtpool.h \
291 nsprpub/pr/include/prtrace.h \
292 nsprpub/pr/include/prtypes.h \
293 nsprpub/pr/include/prvrsion.h \
294 nsprpub/pr/include/prwin16.h \
295 nsprpub/pr/include/md/_vbox.cfg=>prcpucfg.h \
296
297NSPRPUB-MD-HEADERS_INST = $(INST_SDK)/include/xpcom/nsprpub/md
298NSPRPUB-MD-HEADERS_IFFLAGS = -p -m 644
299NSPRPUB-MD-HEADERS_SOURCES = \
300 nsprpub/pr/include/md/_darwin.h \
301 nsprpub/pr/include/md/_freebsd.h \
302 nsprpub/pr/include/md/_l4v2.h \
303 nsprpub/pr/include/md/_linux.h \
304 nsprpub/pr/include/md/_macos.h \
305 nsprpub/pr/include/md/_netbsd.h \
306 nsprpub/pr/include/md/_openbsd.h \
307 nsprpub/pr/include/md/_os2.h \
308 nsprpub/pr/include/md/_solaris.h \
309 nsprpub/pr/include/md/_unix_errors.h \
310 nsprpub/pr/include/md/_unixos.h \
311 nsprpub/pr/include/md/_pth.h \
312 nsprpub/pr/include/md/prosdep.h \
313 \
314 nsprpub/pr/include/md/_freebsd.cfg \
315 nsprpub/pr/include/md/_linux.cfg \
316 nsprpub/pr/include/md/_darwin.cfg \
317 nsprpub/pr/include/md/_netbsd.cfg \
318 nsprpub/pr/include/md/_openbsd.cfg \
319 nsprpub/pr/include/md/_os2.cfg \
320 nsprpub/pr/include/md/_solaris32.cfg \
321 nsprpub/pr/include/md/_solaris64.cfg \
322 nsprpub/pr/include/md/_l4v2.cfg
323
324NSPRPUB-OBS-HEADERS_INST = $(INST_SDK)/include/xpcom/nsprpub/obsolete
325NSPRPUB-OBS-HEADERS_IFFLAGS = -p -m 644
326NSPRPUB-OBS-HEADERS_SOURCES = \
327 nsprpub/pr/include/obsolete/pralarm.h \
328 nsprpub/pr/include/obsolete/probslet.h \
329 nsprpub/pr/include/obsolete/protypes.h \
330 nsprpub/pr/include/obsolete/prsem.h
331
332NSPRPUB-PRIV-HEADERS_INST = $(INST_SDK)/include/xpcom/nsprpub/private
333NSPRPUB-PRIV-HEADERS_IFFLAGS = -p -m 644
334NSPRPUB-PRIV-HEADERS_SOURCES = \
335 nsprpub/pr/include/private/pprio.h \
336 nsprpub/pr/include/private/pprthred.h \
337 nsprpub/pr/include/private/prpriv.h
338
339STRING-HEADERS_INST = $(INST_SDK)/include/xpcom/string
340STRING-HEADERS_IFFLAGS = -p -m 644
341STRING-HEADERS_SOURCES = \
342 xpcom/string/public/nsAString.h \
343 xpcom/string/public/nsAlgorithm.h \
344 xpcom/string/public/nsCharTraits.h \
345 xpcom/string/public/nsDependentString.h \
346 xpcom/string/public/nsDependentSubstring.h \
347 xpcom/string/public/nsEmbedString.h \
348 xpcom/string/public/nsLiteralString.h \
349 xpcom/string/public/nsObsoleteAString.h \
350 xpcom/string/public/nsPrintfCString.h \
351 xpcom/string/public/nsPromiseFlatString.h \
352 xpcom/string/public/nsReadableUtils.h \
353 xpcom/string/public/nsString.h \
354 xpcom/string/public/nsStringAPI.h \
355 xpcom/string/public/nsStringFwd.h \
356 xpcom/string/public/nsStringIterator.h \
357 xpcom/string/public/nsSubstring.h \
358 xpcom/string/public/nsSubstringTuple.h \
359 xpcom/string/public/nsTAString.h \
360 xpcom/string/public/nsTDependentString.h \
361 xpcom/string/public/nsTDependentSubstring.h \
362 xpcom/string/public/nsTObsoleteAString.h \
363 xpcom/string/public/nsTPromiseFlatString.h \
364 xpcom/string/public/nsTString.h \
365 xpcom/string/public/nsTSubstring.h \
366 xpcom/string/public/nsTSubstringTuple.h \
367 xpcom/string/public/nsUTF8Utils.h \
368 xpcom/string/public/nsXPIDLString.h \
369 xpcom/string/public/string-template-def-char.h \
370 xpcom/string/public/string-template-def-unichar.h \
371 xpcom/string/public/string-template-undef.h
372
373XPCOM-HEADERS_INST = $(INST_SDK)/include/xpcom/xpcom
374XPCOM-HEADERS_IFFLAGS = -p -m 644
375XPCOM-HEADERS_SOURCES = \
376 xpcom/base/nsAgg.h \
377 xpcom/io/nsAppDirectoryServiceDefs.h \
378 xpcom/ds/nsArray.h \
379 xpcom/ds/nsArrayEnumerator.h \
380 xpcom/ds/nsAtomService.h \
381 xpcom/ds/nsAutoBuffer.h \
382 xpcom/threads/nsAutoLock.h \
383 xpcom/base/nsAutoPtr.h \
384 xpcom/ds/nsBaseHashtable.h \
385 xpcom/ds/nsCOMArray.h \
386 xpcom/glue/nsCOMPtr.h \
387 xpcom/ds/nsCRT.h \
388 xpcom/components/nsCategoryManagerUtils.h \
389 xpcom/ds/nsCheapSets.h \
390 xpcom/ds/nsClassHashtable.h \
391 xpcom/base/nsCom.h \
392 xpcom/components/nsComponentManagerObsolete.h \
393 xpcom/components/nsComponentManagerUtils.h \
394 xpcom/ds/nsCppSharedAllocator.h \
395 xpcom/ds/nsDataHashtable.h \
396 xpcom/glue/nsDebug.h \
397 xpcom/base/nsDebugImpl.h \
398 xpcom/ds/nsDeque.h \
399 xpcom/io/nsDirectoryService.h \
400 xpcom/io/nsDirectoryServiceDefs.h \
401 xpcom/io/nsDirectoryServiceUtils.h \
402 xpcom/ds/nsDoubleHashtable.h \
403 xpcom/ds/nsEnumeratorUtils.h \
404 xpcom/base/nsError.h \
405 xpcom/io/nsEscape.h \
406 xpcom/threads/nsEventQueueUtils.h \
407 xpcom/io/nsFastLoadPtr.h \
408 xpcom/io/nsFastLoadService.h \
409 xpcom/ds/nsFixedSizeAllocator.h \
410 xpcom/glue/nsGenericFactory.h \
411 xpcom/ds/nsHashKeys.h \
412 xpcom/ds/nsHashSets.h \
413 xpcom/ds/nsHashtable.h \
414 xpcom/base/nsIAllocator.h \
415 xpcom/ds/nsIByteBuffer.h \
416 xpcom/base/nsID.h \
417 xpcom/glue/nsIGenericFactory.h \
418 xpcom/base/nsIID.h \
419 xpcom/glue/nsIInterfaceRequestorUtils.h \
420 xpcom/components/nsIServiceManagerObsolete.h \
421 xpcom/components/nsIServiceManagerUtils.h \
422 xpcom/base/nsISupportsBase.h \
423 xpcom/glue/nsISupportsImpl.h \
424 xpcom/base/nsISupportsObsolete.h \
425 xpcom/glue/nsISupportsUtils.h \
426 xpcom/ds/nsIUnicharBuffer.h \
427 xpcom/io/nsIUnicharInputStream.h \
428 xpcom/glue/nsIWeakReferenceUtils.h \
429 xpcom/ds/nsInt64.h \
430 xpcom/ds/nsInterfaceHashtable.h \
431 xpcom/io/nsLinebreakConverter.h \
432 xpcom/io/nsLocalFile.h \
433 xpcom/io/nsLocalFileUnix.h \
434 xpcom/io/nsLocalFileOS2.h \
435 xpcom/io/nsLocalFileOSX.h \
436 xpcom/glue/nsMemory.h \
437 xpcom/components/nsModule.h \
438 xpcom/io/nsMultiplexInputStream.h \
439 xpcom/io/nsNativeCharsetUtils.h \
440 xpcom/components/nsNativeComponentLoader.h \
441 xpcom/ds/nsObserverService.h \
442 xpcom/components/nsObsoleteModuleLoading.h \
443 xpcom/threads/nsProcess.h \
444 xpcom/proxy/public/nsProxiedService.h \
445 xpcom/proxy/public/nsProxyEvent.h \
446 xpcom/proxy/public/nsProxyRelease.h \
447 xpcom/ds/nsQuickSort.h \
448 xpcom/ds/nsRecyclingAllocator.h \
449 xpcom/ds/nsRefPtrHashtable.h \
450 xpcom/io/nsScriptableInputStream.h \
451 xpcom/ds/nsStaticAtom.h \
452 xpcom/components/nsStaticComponent.h \
453 xpcom/ds/nsStaticNameTable.h \
454 xpcom/io/nsStorageStream.h \
455 xpcom/io/nsStreamUtils.h \
456 xpcom/ds/nsStringEnumerator.h \
457 xpcom/io/nsStringIO.h \
458 xpcom/io/nsStringStream.h \
459 xpcom/ds/nsSupportsArray.h \
460 xpcom/ds/nsSupportsPrimitives.h \
461 xpcom/ds/nsTHashtable.h \
462 xpcom/ds/nsTextFormatter.h \
463 xpcom/ds/nsTime.h \
464 xpcom/glue/nsTraceRefcnt.h \
465 xpcom/base/nsTraceRefcntImpl.h \
466 xpcom/ds/nsUnitConversion.h \
467 xpcom/ds/nsValueArray.h \
468 xpcom/ds/nsVariant.h \
469 xpcom/ds/nsVoidArray.h \
470 xpcom/base/nsWeakPtr.h \
471 xpcom/glue/nsWeakReference.h \
472 xpcom/build/nsXPCOM.h \
473 xpcom/build/nsXPCOMCID.h \
474 xpcom/glue/standalone/nsXPCOMGlue.h \
475 xpcom/base/nscore.h \
476 xpcom/ds/pldhash.h \
477 xpcom/threads/plevent.h \
478 xpcom/components/xcDll.h \
479 xpcom/typelib/xpt/public/xpt_arena.h \
480 xpcom/typelib/xpt/public/xpt_struct.h \
481 xpcom/typelib/xpt/public/xpt_xdr.h \
482 xpcom/reflect/xptcall/public/xptcall.h \
483 xpcom/reflect/xptcall/public/xptcstubsdecl.inc \
484 xpcom/reflect/xptcall/public/xptcstubsdef.inc \
485 xpcom/reflect/xptinfo/public/xptinfo.h \
486 xpcom-config.h
487
488IPCD-HEADERS_INST = $(INST_SDK)/include/xpcom/ipcd
489IPCD-HEADERS_IFFLAGS = -p -m 644
490IPCD-HEADERS_SOURCES = \
491 ipc/ipcd/client/public/ipcCID.h \
492 ipc/ipcd/extensions/lock/public/ipcLockCID.h \
493 ipc/ipcd/util/public/ipcMessageReader.h \
494 ipc/ipcd/util/public/ipcMessageWriter.h \
495 ipc/ipcd/daemon/public/ipcModule.h \
496 ipc/ipcd/daemon/public/ipcModuleUtil.h \
497 ipc/ipcd/client/public/ipcdclient.h
498
499
500#
501# The IDL compiler.
502#
503# We build it statically because we cannot rely on additional .a files
504# like in the original build
505#
506xpidl_TEMPLATE = XPCOMBLDPROG
507xpidl_DEFS = EXPORT_XPT_API
508## @todo This assumes HOST == TARGET.
509xpidl_INST = bin/ $(INST_SDK)/bin/
510xpidl_SOURCES = \
511 xpcom/typelib/xpidl/xpidl.c \
512 xpcom/typelib/xpidl/xpidl_idl.c \
513 xpcom/typelib/xpidl/xpidl_util.c \
514 xpcom/typelib/xpidl/xpidl_header.c \
515 xpcom/typelib/xpidl/xpidl_typelib.c \
516 xpcom/typelib/xpidl/xpidl_doc.c \
517 xpcom/typelib/xpidl/xpidl_java.c \
518 xpcom/typelib/xpt/src/xpt_arena.c \
519 xpcom/typelib/xpt/src/xpt_struct.c \
520 xpcom/typelib/xpt/src/xpt_xdr.c
521
522# We do these ONCE.
523libIDL_config := $(firstword $(shell which libIDL-config-2 libIDL-config 2> /dev/null))
524libIDL_config_cflags := $(shell $(libIDL_config) --cflags)
525libIDL_config_libs := $(shell $(libIDL_config) --libs)
526xpidl_CFLAGS = \
527 $(libIDL_config_cflags)
528xpidl_LDFLAGS = \
529 $(libIDL_config_libs)
530
531#
532# The XPT linker.
533#
534xpt_link_TEMPLATE = XPCOMBLDPROG
535xpt_link_SOURCES = \
536 xpcom/typelib/xpt/tools/xpt_link.c \
537 xpcom/typelib/xpt/src/xpt_arena.c \
538 xpcom/typelib/xpt/src/xpt_struct.c \
539 xpcom/typelib/xpt/src/xpt_xdr.c
540
541
542#
543# The NSPR Library.
544#
545VBox-xpcom-nspr_TEMPLATE = XPCOM
546VBox-xpcom-nspr_NOINST = 1
547VBox-xpcom-nspr_DEFS = \
548 _NSPR_BUILD_ \
549 HAVE_LCHOWN=1 \
550 HAVE_STRERROR=1 \
551 FORCE_PR_LOG
552VBox-xpcom-nspr_DEFS.darwin = \
553 HAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 \
554 HAVE_BSD_FLOCK=1 \
555 _PR_PTHREADS
556VBox-xpcom-nspr_DEFS.freebsd = \
557 HAVE_CVAR_BUILT_ON_SEM \
558 _PR_PTHREADS
559# FIXME: LINUX should be defined by _linux.cfg
560VBox-xpcom-nspr_DEFS.linux = \
561 LINUX=1 \
562 _POSIX_SOURCE=1 \
563 _BSD_SOURCE=1 \
564 _SVID_SOURCE=1 \
565 _REENTRANT=1 \
566 _LARGEFILE64_SOURCE=1 \
567 HAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 \
568 HAVE_VISIBILITY_PRAGMA=1 \
569 HAVE_FCNTL_FILE_LOCKING=1 \
570 HAVE_CVAR_BUILT_ON_SEM \
571 _PR_PTHREADS
572# _BSD_SOURCE is here to keep the Glibc header files happy and make them include the right things
573# FIXME: L4 should be defined by _linux.cfg
574VBox-xpcom-nspr_DEFS.l4 = \
575 L4=1 \
576 _REENTRANT=1 \
577 _LARGEFILE64_SOURCE=1 \
578 _POSIX_SOURCE=1 \
579 _BSD_SOURCE=1 \
580 HAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 \
581 HAVE_VISIBILITY_PRAGMA=1 \
582 HAVE_FCNTL_FILE_LOCKING=1 \
583 HAVE_CVAR_BUILT_ON_SEM
584VBox-xpcom-nspr_DEFS.netbsd = \
585 _PR_PTHREADS
586VBox-xpcom-nspr_DEFS.openbsd = \
587 _PR_PTHREADS
588VBox-xpcom-nspr_DEFS.os2 =
589VBox-xpcom-nspr_DEFS.solaris = \
590 _PR_PTHREADS
591VBox-xpcom-nspr_INCS = \
592 nsprpub/pr/include/private \
593 $(PATH_TARGET)/VBox-xpcom-nspr
594
595VBox-xpcom-nspr_SOURCES = \
596 nsprpub/pr/src/io/prfdcach.c \
597 nsprpub/pr/src/io/prmwait.c \
598 nsprpub/pr/src/io/priometh.c \
599 nsprpub/pr/src/io/pripv6.c \
600 nsprpub/pr/src/io/prmapopt.c \
601 nsprpub/pr/src/io/prlayer.c \
602 nsprpub/pr/src/io/prlog.c \
603 nsprpub/pr/src/io/prmmap.c \
604 nsprpub/pr/src/io/prpolevt.c \
605 nsprpub/pr/src/io/prprf.c \
606 nsprpub/pr/src/io/prscanf.c \
607 nsprpub/pr/src/io/prstdio.c \
608 nsprpub/pr/src/linking/prlink.c \
609 nsprpub/pr/src/malloc/prmalloc.c \
610 nsprpub/pr/src/malloc/prmem.c \
611 nsprpub/pr/src/md/prosdep.c \
612 nsprpub/pr/src/memory/prseg.c \
613 nsprpub/pr/src/memory/prshm.c \
614 nsprpub/pr/src/memory/prshma.c \
615 nsprpub/pr/src/misc/pralarm.c \
616 nsprpub/pr/src/misc/pratom.c \
617 nsprpub/pr/src/misc/prcountr.c \
618 nsprpub/pr/src/misc/prdtoa.c \
619 nsprpub/pr/src/misc/prenv.c \
620 nsprpub/pr/src/misc/prerr.c \
621 nsprpub/pr/src/misc/prerror.c \
622 nsprpub/pr/src/misc/prerrortable.c \
623 nsprpub/pr/src/misc/prinit.c \
624 nsprpub/pr/src/misc/prinrval.c \
625 nsprpub/pr/src/misc/pripc.c \
626 nsprpub/pr/src/misc/prlog2.c \
627 nsprpub/pr/src/misc/prlong.c \
628 nsprpub/pr/src/misc/prnetdb.c \
629 nsprpub/pr/src/misc/prolock.c \
630 nsprpub/pr/src/misc/prrng.c \
631 nsprpub/pr/src/misc/prsystem.c \
632 nsprpub/pr/src/misc/prtime.c \
633 nsprpub/pr/src/misc/prthinfo.c \
634 nsprpub/pr/src/misc/prtpool.c \
635 nsprpub/pr/src/misc/prtrace.c \
636 nsprpub/pr/src/threads/prcmon.c \
637 nsprpub/pr/src/threads/prrwlock.c \
638 nsprpub/pr/src/threads/prtpd.c \
639 nsprpub/pr/src/prvrsion.c \
640 nsprpub/lib/ds/plarena.c \
641 nsprpub/lib/ds/plhash.c \
642 nsprpub/lib/libc/src/strlen.c \
643 nsprpub/lib/libc/src/strcpy.c \
644 nsprpub/lib/libc/src/strdup.c \
645 nsprpub/lib/libc/src/strcat.c \
646 nsprpub/lib/libc/src/strcmp.c \
647 nsprpub/lib/libc/src/strccmp.c \
648 nsprpub/lib/libc/src/strchr.c \
649 nsprpub/lib/libc/src/strpbrk.c \
650 nsprpub/lib/libc/src/strstr.c \
651 nsprpub/lib/libc/src/strcstr.c \
652 nsprpub/lib/libc/src/strtok.c \
653 nsprpub/lib/libc/src/base64.c \
654 nsprpub/lib/libc/src/plerror.c \
655 nsprpub/lib/libc/src/plgetopt.c
656
657VBox-xpcom-nspr_SOURCES.darwin = \
658 nsprpub/pr/src/md/unix/unix.c \
659 nsprpub/pr/src/md/unix/unix_errors.c \
660 nsprpub/pr/src/md/unix/uxproces.c \
661 nsprpub/pr/src/md/unix/uxrng.c \
662 nsprpub/pr/src/md/unix/uxshm.c \
663 nsprpub/pr/src/md/unix/uxwrap.c \
664 nsprpub/pr/src/md/unix/darwin.c \
665 nsprpub/pr/src/pthreads/ptio.c \
666 nsprpub/pr/src/pthreads/ptsynch.c \
667 nsprpub/pr/src/pthreads/ptthread.c \
668 nsprpub/pr/src/pthreads/ptmisc.c
669VBox-xpcom-nspr_SOURCES.darwin.x86 = nsprpub/pr/src/md/unix/os_Darwin_x86.s
670
671VBox-xpcom-nspr_SOURCES.l4 = \
672 nsprpub/pr/src/io/prfile.c /* why not for Linux? */ \
673 nsprpub/pr/src/io/prio.c /* "" "" "" "" */ \
674 nsprpub/pr/src/io/prsocket.c \
675 nsprpub/pr/src/md/unix/unix.c \
676 nsprpub/pr/src/md/unix/unix_errors.c \
677 nsprpub/pr/src/md/unix/uxpoll.c \
678 nsprpub/pr/src/md/unix/uxproces.c \
679 nsprpub/pr/src/md/unix/uxrng.c \
680 nsprpub/pr/src/md/unix/uxshm.c \
681 nsprpub/pr/src/md/unix/uxwrap.c \
682 nsprpub/pr/src/md/unix/l4env.c \
683 nsprpub/pr/src/threads/prcthr.c \
684 nsprpub/pr/src/threads/prmon.c \
685 nsprpub/pr/src/threads/combined/prucpu.c \
686 nsprpub/pr/src/threads/combined/prucv.c \
687 nsprpub/pr/src/threads/combined/prulock.c \
688 nsprpub/pr/src/threads/combined/prustack.c \
689 nsprpub/pr/src/threads/combined/pruthr.c
690# nsprpub/pr/src/md/l4env/prnetdb.c \
691# nsprpub/pr/src/md/l4env/threads.c
692VBox-xpcom-nspr_SOURCES.l4.x86 = nsprpub/pr/src/md/unix/os_Linux_x86.s
693VBox-xpcom-nspr_SOURCES.l4.amd64 = nsprpub/pr/src/md/unix/os_Linux_x86_64.s
694
695VBox-xpcom-nspr_SOURCES.linux = \
696 nsprpub/pr/src/md/unix/unix.c \
697 nsprpub/pr/src/md/unix/unix_errors.c \
698 nsprpub/pr/src/md/unix/uxproces.c \
699 nsprpub/pr/src/md/unix/uxrng.c \
700 nsprpub/pr/src/md/unix/uxshm.c \
701 nsprpub/pr/src/md/unix/uxwrap.c \
702 nsprpub/pr/src/md/unix/linux.c \
703 nsprpub/pr/src/pthreads/ptio.c \
704 nsprpub/pr/src/pthreads/ptsynch.c \
705 nsprpub/pr/src/pthreads/ptthread.c \
706 nsprpub/pr/src/pthreads/ptmisc.c
707VBox-xpcom-nspr_SOURCES.linux.x86 = nsprpub/pr/src/md/unix/os_Linux_x86.s
708VBox-xpcom-nspr_SOURCES.linux.amd64 = nsprpub/pr/src/md/unix/os_Linux_x86_64.s
709
710
711nsprpub/pr/src/linking/prlink.c_DEFS = _GNU_SOURCE
712nsprpub/pr/src/prvrsion.c_DEPS = $(PATH_VBox-xpcom-nspr)/_pr_bld.h
713nsprpub/lib/ds/plvrsion.c_DEPS = $(PATH_VBox-xpcom-nspr)/_pl_bld.h
714
715
716VBox-xpcom-typelib_TEMPLATE = XPCOM
717VBox-xpcom-typelib_NOINST = 1
718VBox-xpcom-typelib_SOURCES = \
719 xpcom/typelib/xpt/src/xpt_arena.c \
720 xpcom/typelib/xpt/src/xpt_struct.c \
721 xpcom/typelib/xpt/src/xpt_xdr.c
722
723VBox-xpcom-string_TEMPLATE = XPCOM
724VBox-xpcom-string_NOINST = 1
725VBox-xpcom-string_DEFS = _IMPL_NS_COM
726VBox-xpcom-string_SOURCES = \
727 xpcom/string/src/nsAString.cpp \
728 xpcom/string/src/nsDependentSubstring.cpp \
729 xpcom/string/src/nsObsoleteAStringThunk.cpp \
730 xpcom/string/src/nsPrintfCString.cpp \
731 xpcom/string/src/nsPromiseFlatString.cpp \
732 xpcom/string/src/nsReadableUtils.cpp \
733 xpcom/string/src/nsSubstring.cpp \
734 xpcom/string/src/nsSubstringTuple.cpp \
735 xpcom/string/src/nsString.cpp \
736 xpcom/string/src/nsStringComparator.cpp \
737 xpcom/string/src/nsStringObsolete.cpp
738
739VBox-xpcom-base_TEMPLATE = XPCOM
740VBox-xpcom-base_NOINST = 1
741VBox-xpcom-base_SOURCES = \
742 xpcom/base/nsAllocator.cpp \
743 xpcom/base/nsConsoleMessage.cpp \
744 xpcom/base/nsConsoleService.cpp \
745 xpcom/base/nsDebugImpl.cpp \
746 xpcom/base/nsErrorService.cpp \
747 xpcom/base/nsExceptionService.cpp \
748 xpcom/base/nsID.cpp \
749 xpcom/base/nsMemoryImpl.cpp \
750 xpcom/base/nsTraceRefcntImpl.cpp \
751 xpcom/base/nsStackFrameUnix.cpp
752
753VBox-xpcom-ds_TEMPLATE = XPCOM
754VBox-xpcom-ds_NOINST = 1
755VBox-xpcom-ds_SOURCES = \
756 xpcom/ds/pldhash.c \
757 xpcom/ds/nsAtomTable.cpp \
758 xpcom/ds/nsAtomService.cpp \
759 xpcom/ds/nsByteBuffer.cpp \
760 xpcom/ds/nsCheapSets.cpp \
761 xpcom/ds/nsCRT.cpp \
762 xpcom/ds/nsDeque.cpp \
763 xpcom/ds/nsEmptyEnumerator.cpp \
764 xpcom/ds/nsEnumeratorUtils.cpp \
765 xpcom/ds/nsFixedSizeAllocator.cpp \
766 xpcom/ds/nsHashSets.cpp \
767 xpcom/ds/nsHashtable.cpp \
768 xpcom/ds/nsObserverList.cpp \
769 xpcom/ds/nsObserverService.cpp \
770 xpcom/ds/nsProperties.cpp \
771 xpcom/ds/nsPersistentProperties.cpp \
772 xpcom/ds/nsQuickSort.cpp \
773 xpcom/ds/nsRecyclingAllocator.cpp \
774 xpcom/ds/nsStaticNameTable.cpp \
775 xpcom/ds/nsStringEnumerator.cpp \
776 xpcom/ds/nsSupportsArray.cpp \
777 xpcom/ds/nsSupportsArrayEnumerator.cpp \
778 xpcom/ds/nsSupportsPrimitives.cpp \
779 xpcom/ds/nsTHashtable.cpp \
780 xpcom/ds/nsUnicharBuffer.cpp \
781 xpcom/ds/nsVariant.cpp \
782 xpcom/ds/nsVoidArray.cpp \
783 xpcom/ds/nsTextFormatter.cpp \
784 xpcom/ds/nsTimelineService.cpp \
785 xpcom/ds/nsValueArray.cpp \
786 xpcom/ds/nsCOMArray.cpp \
787 xpcom/ds/nsArray.cpp \
788 xpcom/ds/nsArrayEnumerator.cpp
789# xpcom/ds/nsHashPropertyBag.cpp
790
791# @todo what about MOZ_USER_DIR?
792VBox-xpcom-io_TEMPLATE = XPCOM
793VBox-xpcom-io_NOINST = 1
794VBox-xpcom-io_DEFS = MOZ_USER_DIR=\".mozilla\"
795VBox-xpcom-io_INCS.darwin = \
796 xpcom/MoreFiles
797VBox-xpcom-io_SOURCES = \
798 xpcom/io/nsAppFileLocationProvider.cpp \
799 xpcom/io/nsBinaryStream.cpp \
800 xpcom/io/nsByteArrayInputStream.cpp \
801 xpcom/io/nsDirectoryService.cpp \
802 xpcom/io/nsEscape.cpp \
803 xpcom/io/nsFastLoadFile.cpp \
804 xpcom/io/nsFastLoadService.cpp \
805 xpcom/io/nsInputStreamTee.cpp \
806 xpcom/io/nsLinebreakConverter.cpp \
807 xpcom/io/nsLocalFileCommon.cpp \
808 xpcom/io/nsMultiplexInputStream.cpp \
809 xpcom/io/nsPipe3.cpp \
810 xpcom/io/nsStreamUtils.cpp \
811 xpcom/io/nsScriptableInputStream.cpp \
812 xpcom/io/nsSegmentedBuffer.cpp \
813 xpcom/io/SpecialSystemDirectory.cpp \
814 xpcom/io/nsStorageStream.cpp \
815 xpcom/io/nsStringStream.cpp \
816 xpcom/io/nsUnicharInputStream.cpp \
817 xpcom/io/nsNativeCharsetUtils.cpp
818VBox-xpcom-io_SOURCES.darwin = \
819 xpcom/io/nsLocalFileOSX.cpp \
820 xpcom/MoreFiles/FSCopyObject.c \
821 xpcom/MoreFiles/MoreFilesX.c
822VBox-xpcom-io_SOURCES.l4 = \
823 xpcom/io/nsLocalFileL4.cpp
824ifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(BUILD_TARGET)),)
825VBox-xpcom-io_SOURCES += \
826 xpcom/io/nsLocalFileUnix.cpp
827endif
828VBox-xpcom-io_SOURCES.os2 = \
829 xpcom/io/nsLocalFileOS2.cpp
830
831VBox-xpcom-components_TEMPLATE = XPCOM
832VBox-xpcom-components_NOINST = 1
833VBox-xpcom-components_DEFS = EXPORT_XPTI_API
834VBox-xpcom-components_SOURCES = \
835 xpcom/components/nsCategoryManager.cpp \
836 xpcom/components/nsComponentManager.cpp \
837 xpcom/components/nsComponentManagerObsolete.cpp \
838 xpcom/components/nsNativeComponentLoader.cpp \
839 xpcom/components/nsServiceManagerObsolete.cpp \
840 xpcom/components/xcDll.cpp \
841 xpcom/components/nsStaticComponentLoader.cpp
842
843VBox-xpcom-threads_TEMPLATE = XPCOM
844VBox-xpcom-threads_NOINST = 1
845VBox-xpcom-threads_SOURCES = \
846 xpcom/threads/plevent.c \
847 xpcom/threads/nsAutoLock.cpp \
848 xpcom/threads/nsEnvironment.cpp \
849 xpcom/threads/nsEventQueue.cpp \
850 xpcom/threads/nsEventQueueService.cpp \
851 xpcom/threads/nsThread.cpp \
852 xpcom/threads/nsTimerImpl.cpp \
853 xpcom/threads/nsProcessCommon.cpp \
854 xpcom/threads/TimerThread.cpp
855
856VBox-xpcom-xptinfo_TEMPLATE = XPCOM
857VBox-xpcom-xptinfo_NOINST = 1
858VBox-xpcom-xptinfo_DEFS = EXPORT_XPTI_API
859VBox-xpcom-xptinfo_SOURCES = \
860 xpcom/reflect/xptinfo/src/xptiFile.cpp \
861 xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp \
862 xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp \
863 xpcom/reflect/xptinfo/src/xptiManifest.cpp \
864 xpcom/reflect/xptinfo/src/xptiMisc.cpp \
865 xpcom/reflect/xptinfo/src/xptiTypelibGuts.cpp \
866 xpcom/reflect/xptinfo/src/xptiWorkingSet.cpp \
867 xpcom/reflect/xptinfo/src/xptiZipItem.cpp \
868 xpcom/reflect/xptinfo/src/xptiZipLoader.cpp
869
870
871VBox-xpcom-xptcall_TEMPLATE = XPCOM
872VBox-xpcom-xptcall_NOINST = 1
873VBox-xpcom-xptcall_DEFS = EXPORT_XPTC_API
874VBox-xpcom-xptcall_DEFS.darwin = KEEP_STACK_16_BYTE_ALIGNED
875VBox-xpcom-xptcall_DEFS.l4 = L4
876VBox-xpcom-xptcall_SOURCES = xpcom/reflect/xptcall/src/xptcall.cpp
877VBox-xpcom-xptcall_SOURCES.darwin.x86 = xpcom/reflect/xptcall/src/md/unix/xptcinvoke_unixish_x86.cpp \
878 xpcom/reflect/xptcall/src/md/unix/xptcstubs_unixish_x86.cpp
879VBox-xpcom-xptcall_SOURCES.linux.x86 = xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp \
880 xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp
881VBox-xpcom-xptcall_SOURCES.linux.amd64 = xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_linux.cpp \
882 xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_linux.cpp
883
884VBox-xpcom-proxy_TEMPLATE = XPCOM
885VBox-xpcom-proxy_NOINST = 1
886VBox-xpcom-proxy_SOURCES = xpcom/proxy/src/nsProxyEvent.cpp \
887 xpcom/proxy/src/nsProxyEventClass.cpp \
888 xpcom/proxy/src/nsProxyEventObject.cpp \
889 xpcom/proxy/src/nsProxyObjectManager.cpp \
890 xpcom/proxy/src/nsProxyRelease.cpp
891
892# glue library which all client apps will link with
893VBoxXPCOMGlue_TEMPLATE = XPCOM
894VBoxXPCOMGlue_DEFS = XPCOM_GLUE
895VBoxXPCOMGlue_SOURCES = xpcom/glue/nsCOMPtr.cpp \
896 xpcom/glue/nsComponentManagerUtils.cpp \
897 xpcom/glue/nsDebug.cpp \
898 xpcom/glue/nsGenericFactory.cpp \
899 xpcom/glue/nsIInterfaceRequestorUtils.cpp \
900 xpcom/glue/nsMemory.cpp \
901 xpcom/glue/nsTraceRefcnt.cpp \
902 xpcom/glue/nsWeakReference.cpp \
903 xpcom/glue/standalone/nsXPCOMGlue.cpp \
904 xpcom/glue/standalone/nsGREDirServiceProvider.cpp
905VBoxXPCOMGlue_INST = lib/ $(INST_SDK)/lib/
906
907
908#
909# The VBoxXPCOM Shared Object, assembling all lib files.
910#
911VBoxXPCOM_TEMPLATE = XPCOM
912VBoxXPCOM_DEFS = BUILD_DCONNECT="1"
913VBoxXPCOM_SOURCES = \
914 xpcom/glue/nsCOMPtr.cpp \
915 xpcom/glue/nsComponentManagerUtils.cpp \
916 xpcom/glue/nsDebug.cpp \
917 xpcom/glue/nsGenericFactory.cpp \
918 xpcom/glue/nsIInterfaceRequestorUtils.cpp \
919 xpcom/glue/nsMemory.cpp \
920 xpcom/glue/nsTraceRefcnt.cpp \
921 xpcom/glue/nsWeakReference.cpp \
922 xpcom/build/nsXPComInit.cpp \
923 xpcom/build/nsStringAPI.cpp
924VBoxXPCOM_SOURCES.darwin = \
925 darwindeps.cpp
926VBoxXPCOM_LIBS = \
927 $(TARGET_VBox-xpcom-typelib) \
928 $(TARGET_VBox-xpcom-string) \
929 $(TARGET_VBox-xpcom-base) \
930 $(TARGET_VBox-xpcom-ds) \
931 $(TARGET_VBox-xpcom-io) \
932 $(TARGET_VBox-xpcom-components) \
933 $(TARGET_VBox-xpcom-threads) \
934 $(TARGET_VBox-xpcom-xptinfo) \
935 $(TARGET_VBox-xpcom-xptcall) \
936 $(TARGET_VBox-xpcom-proxy) \
937 $(TARGET_VBox-xpcom-nspr)
938
939VBoxXPCOM_LDFLAGS.linux = -Wl,--whole-archive \
940 $(TARGET_VBox-xpcom-typelib) \
941 $(TARGET_VBox-xpcom-string) \
942 $(TARGET_VBox-xpcom-base) \
943 $(TARGET_VBox-xpcom-ds) \
944 $(TARGET_VBox-xpcom-io) \
945 $(TARGET_VBox-xpcom-components) \
946 $(TARGET_VBox-xpcom-threads) \
947 $(TARGET_VBox-xpcom-xptinfo) \
948 $(TARGET_VBox-xpcom-xptcall) \
949 $(TARGET_VBox-xpcom-proxy) \
950 $(TARGET_VBox-xpcom-nspr) \
951 -Wl,--no-whole-archive
952#VBoxXPCOM_LIBS.l4 = $(L4_LIBDIR)/libxpcomstubs.a $(L4_LIBDIR)/../libuc_c++.a \
953# $(VBOX_PATH_L4_GCC3_INSTALL)/libsupc++.a $(VBOX_PATH_L4_GCC3_INSTALL)/libgcc_eh.a
954# EF heap
955#VBoxXPCOM_LIBS += $(LIB_RUNTIME_EF)
956#VBoxXPCOM_LDFLAGS = -Wl,--whole-archive $(VBoxXPCOM_LIBS) -Wl,--no-whole-archive $(LIB_RUNTIME)
957
958ifdef VBOX_IPC_RELEASE_LOG
959IPC_LOGGING = 1
960else ifneq ($(BUILD_TYPE),release)
961IPC_LOGGING = 1
962endif
963
964TEMPLATE_XPCOMIPC = XPCOM IPC libraries
965TEMPLATE_XPCOMIPC_EXTENDS = XPCOM
966TEMPLATE_XPCOMIPC_DEFS = $(TEMPLATE_XPCOM_DEFS) BUILD_DCONNECT="1"
967ifdef IPC_LOGGING
968 TEMPLATE_XPCOMIPC_DEFS += IN_RING3 IPC_LOGGING
969 TEMPLATE_XPCOMIPC_LIBS = $(TEMPLATE_XPCOM_LIBS) $(LIB_RUNTIME)
970endif
971TEMPLATE_XPCOMIPC_LIBS.darwin = $(TARGET_VBoxXPCOM)
972
973TEMPLATE_XPCOMIPCEXE = XPCOM IPC executables
974TEMPLATE_XPCOMIPCEXE_EXTENDS = XPCOMEXE
975TEMPLATE_XPCOMIPCEXE_DEFS = $(TEMPLATE_XPCOMEXE_DEFS) BUILD_DCONNECT="1"
976ifdef IPC_LOGGING
977 TEMPLATE_XPCOMIPCEXE_DEFS += IN_RING3 IPC_LOGGING
978 TEMPLATE_XPCOMIPCEXE_LIBS = $(TEMPLATE_XPCOMEXE_LIBS) $(LIB_RUNTIME)
979endif
980
981VBox-xpcom-ipcutils_TEMPLATE = XPCOMIPC
982VBox-xpcom-ipcutils_NOINST = 1
983VBox-xpcom-ipcutils_SOURCES = \
984 ipc/ipcd/util/src/ipcMessageReader.cpp \
985 ipc/ipcd/util/src/ipcMessageWriter.cpp
986
987VBox-xpcom-ipcshared_TEMPLATE = XPCOMIPC
988VBox-xpcom-ipcshared_NOINST = 1
989VBox-xpcom-ipcshared_SOURCES = \
990 ipc/ipcd/shared/src/ipcLog.cpp \
991 ipc/ipcd/shared/src/ipcConfig.cpp \
992 ipc/ipcd/shared/src/ipcMessage.cpp \
993 ipc/ipcd/shared/src/ipcMessagePrimitives.cpp \
994 ipc/ipcd/shared/src/ipcStringList.cpp \
995 ipc/ipcd/shared/src/ipcIDList.cpp \
996 ipc/ipcd/shared/src/ipcm.cpp
997
998VBox-xpcom-ipcdlock_TEMPLATE = XPCOMIPC
999VBox-xpcom-ipcdlock_NOINST = 1
1000VBox-xpcom-ipcdlock_SOURCES = \
1001 ipc/ipcd/extensions/lock/src/ipcLockProtocol.cpp \
1002 ipc/ipcd/extensions/lock/src/ipcLockService.cpp
1003
1004VBox-xpcom-ipctransmgr_TEMPLATE = XPCOMIPC
1005VBox-xpcom-ipctransmgr_NOINST = 1
1006VBox-xpcom-ipctransmgr_SOURCES = \
1007 ipc/ipcd/extensions/transmngr/src/tmTransactionService.cpp
1008
1009VBox-xcpom-ipctmgrcom_TEMPLATE = XPCOMIPC
1010VBox-xcpom-ipctmgrcom_NOINST = 1
1011VBox-xcpom-ipctmgrcom_SOURCES = \
1012 ipc/ipcd/extensions/transmngr/common/tmTransaction.cpp \
1013 ipc/ipcd/extensions/transmngr/common/tmVector.cpp
1014
1015
1016# DCONNECT client shared object
1017VBoxXPCOMIPCC_TEMPLATE = XPCOMIPC
1018VBoxXPCOMIPCC_DEFS = HAVE_DEPENDENT_LIBS
1019VBoxXPCOMIPCC_SOURCES = \
1020 ipc/ipcd/client/src/ipcdclient.cpp \
1021 ipc/ipcd/client/src/ipcService.cpp \
1022 ipc/ipcd/client/src/ipcModuleFactory.cpp \
1023 ipc/ipcd/client/src/ipcConnectionUnix.cpp \
1024 ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp
1025VBoxXPCOMIPCC_LIBS = \
1026 $(TARGET_VBox-xpcom-ipcutils) \
1027 $(TARGET_VBox-xpcom-ipcshared) \
1028 $(TARGET_VBox-xpcom-ipcdlock) \
1029 $(TARGET_VBox-xpcom-ipctransmgr) \
1030 $(TARGET_VBox-xcpom-ipctmgrcom)
1031# EF
1032#VBoxXPCOMIPCC_LIBS += $(LIB_RUNTIME)
1033
1034# DCONNECT daemon executable
1035VBoxXPCOMIPCD_TEMPLATE = XPCOMIPCEXE
1036VBoxXPCOMIPCD_SOURCES = \
1037 ipc/ipcd/daemon/src/ipcd.cpp \
1038 ipc/ipcd/daemon/src/ipcClient.cpp \
1039 ipc/ipcd/daemon/src/ipcModuleReg.cpp \
1040 ipc/ipcd/daemon/src/ipcCommandModule.cpp \
1041 ipc/ipcd/daemon/src/ipcdUnix.cpp
1042
1043#
1044# testcases
1045#
1046tstnsIFileEnumerator_TEMPLATE = XPCOMEXE
1047tstnsIFileEnumerator_SOURCES = xpcom/tests/nsIFileEnumerator.cpp
1048tstnsIFileTest_TEMPLATE = XPCOMEXE
1049tstnsIFileTest_SOURCES = xpcom/tests/nsIFileTest.cpp
1050tstTestArray_TEMPLATE = XPCOMEXE
1051tstTestArray_SOURCES = xpcom/tests/TestArray.cpp
1052tstTestAtoms_TEMPLATE = XPCOMEXE
1053tstTestAtoms_SOURCES = xpcom/tests/TestAtoms.cpp
1054tstTestAutoLock_TEMPLATE = XPCOMEXE
1055tstTestAutoLock_SOURCES = xpcom/tests/TestAutoLock.cpp
1056tstTestCallTemplates_TEMPLATE = XPCOMEXE
1057tstTestCallTemplates_SOURCES = xpcom/tests/TestCallTemplates.cpp
1058tstTestCOMPtr_TEMPLATE = XPCOMEXE
1059tstTestCOMPtr_SOURCES = xpcom/tests/TestCOMPtr.cpp
1060tstTestCOMPtrEq_TEMPLATE = XPCOMEXE
1061tstTestCOMPtrEq_SOURCES = xpcom/tests/TestCOMPtrEq.cpp
1062tstTestCRT_TEMPLATE = XPCOMEXE
1063tstTestCRT_SOURCES = xpcom/tests/TestCRT.cpp
1064tstTestFactory_TEMPLATE = XPCOMEXE
1065tstTestFactory_SOURCES = xpcom/tests/TestFactory.cpp
1066tstTestHashtables_TEMPLATE = XPCOMEXE
1067tstTestHashtables_SOURCES = xpcom/tests/TestHashtables.cpp
1068tstTestID_TEMPLATE = XPCOMEXE
1069tstTestID_SOURCES = xpcom/tests/TestID.cpp
1070tstTestObserverService_TEMPLATE= XPCOMEXE
1071tstTestObserverService_SOURCES = xpcom/tests/TestObserverService.cpp
1072tstTestPermanentAtoms_TEMPLATE = XPCOMEXE
1073tstTestPermanentAtoms_SOURCES = xpcom/tests/TestPermanentAtoms.cpp
1074tstTestPipes_TEMPLATE = XPCOMEXE
1075tstTestPipes_SOURCES = xpcom/tests/TestPipes.cpp
1076tstTestServMgr_TEMPLATE = XPCOMEXE
1077tstTestServMgr_SOURCES = xpcom/tests/TestServMgr.cpp
1078tstTestServMgr_INCS = xpcom/tests/services
1079tstTestThreads_TEMPLATE = XPCOMEXE
1080tstTestThreads_SOURCES = xpcom/tests/TestThreads.cpp
1081tstTestXPIDLString_TEMPLATE = XPCOMEXE
1082tstTestXPIDLString_SOURCES = xpcom/tests/TestXPIDLString.cpp
1083tstTestDeque_TEMPLATE = XPCOMEXE
1084tstTestDeque_SOURCES = xpcom/tests/TestDeque.cpp
1085tstTestAutoPtr_TEMPLATE = XPCOMEXE
1086tstTestAutoPtr_SOURCES = xpcom/tests/TestAutoPtr.cpp
1087tstTestMinStringAPI_TEMPLATE = XPCOMEXE
1088tstTestMinStringAPI_SOURCES = xpcom/tests/TestMinStringAPI.cpp
1089tstTestStrings_TEMPLATE = XPCOMEXE
1090tstTestStrings_SOURCES = xpcom/tests/TestStrings.cpp
1091tstPrimitiveTest_TEMPLATE = XPCOMEXE
1092tstPrimitiveTest_SOURCES = xpcom/typelib/xpt/tests/PrimitiveTest.c
1093tstSimpleTypeLib_TEMPLATE = XPCOMEXE
1094tstSimpleTypeLib_SOURCES = xpcom/typelib/xpt/tests/SimpleTypeLib.c
1095tstXptDump_TEMPLATE = XPCOMEXE
1096tstXptDump_SOURCES = xpcom/typelib/xpt/tools/xpt_dump.c
1097tstXptLink_TEMPLATE = XPCOMEXE
1098tstXptLink_SOURCES = xpcom/typelib/xpt/tools/xpt_link.c
1099
1100
1101
1102
1103IDLFILES = \
1104 xpcom/base/nsIDebug.idl \
1105 xpcom/base/nsIInterfaceRequestor.idl \
1106 xpcom/base/nsIMemory.idl \
1107 xpcom/base/nsIProgrammingLanguage.idl \
1108 xpcom/base/nsISupports.idl \
1109 xpcom/base/nsITraceRefcnt.idl \
1110 xpcom/base/nsIWeakReference.idl \
1111 xpcom/base/nsIConsoleMessage.idl \
1112 xpcom/base/nsIConsoleService.idl \
1113 xpcom/base/nsIConsoleListener.idl \
1114 xpcom/base/nsIErrorService.idl \
1115 xpcom/base/nsIException.idl \
1116 xpcom/base/nsIExceptionService.idl \
1117 xpcom/base/nsrootidl.idl \
1118 xpcom/components/nsIClassInfo.idl \
1119 xpcom/components/nsIComponentRegistrar.idl \
1120 xpcom/components/nsIFactory.idl \
1121 xpcom/components/nsIModule.idl \
1122 xpcom/components/nsIServiceManager.idl \
1123 xpcom/components/nsIComponentManager.idl \
1124 xpcom/components/nsICategoryManager.idl \
1125 xpcom/components/nsIComponentLoader.idl \
1126 xpcom/components/nsINativeComponentLoader.idl \
1127 xpcom/components/nsIComponentManagerObsolete.idl \
1128 xpcom/components/nsIComponentLoaderManager.idl \
1129 xpcom/ds/nsISupportsArray.idl \
1130 xpcom/ds/nsICollection.idl \
1131 xpcom/ds/nsISerializable.idl \
1132 xpcom/ds/nsIEnumerator.idl \
1133 xpcom/ds/nsISimpleEnumerator.idl \
1134 xpcom/ds/nsIObserverService.idl \
1135 xpcom/ds/nsIObserver.idl \
1136 xpcom/ds/nsIAtom.idl \
1137 xpcom/ds/nsIAtomService.idl \
1138 xpcom/ds/nsIProperties.idl \
1139 xpcom/ds/nsIPersistentProperties2.idl \
1140 xpcom/ds/nsIRecyclingAllocator.idl \
1141 xpcom/ds/nsIStringEnumerator.idl \
1142 xpcom/ds/nsISupportsPrimitives.idl \
1143 xpcom/ds/nsISupportsIterators.idl \
1144 xpcom/ds/nsIVariant.idl \
1145 xpcom/ds/nsITimelineService.idl \
1146 xpcom/ds/nsIArray.idl \
1147 xpcom/ds/nsIPropertyBag.idl \
1148 xpcom/ds/nsIHashable.idl \
1149 xpcom/io/nsIDirectoryService.idl \
1150 xpcom/io/nsIDirectoryEnumerator.idl \
1151 xpcom/io/nsIFile.idl \
1152 xpcom/io/nsILocalFile.idl \
1153 xpcom/io/nsILocalFileMac.idl \
1154 xpcom/io/nsIInputStream.idl \
1155 xpcom/io/nsIObjectInputStream.idl \
1156 xpcom/io/nsIBinaryInputStream.idl \
1157 xpcom/io/nsIObjectOutputStream.idl \
1158 xpcom/io/nsIBinaryOutputStream.idl \
1159 xpcom/io/nsIOutputStream.idl \
1160 xpcom/io/nsIStreamBufferAccess.idl \
1161 xpcom/io/nsIByteArrayInputStream.idl \
1162 xpcom/io/nsISeekableStream.idl \
1163 xpcom/io/nsIFastLoadFileControl.idl \
1164 xpcom/io/nsIFastLoadService.idl \
1165 xpcom/io/nsIInputStreamTee.idl \
1166 xpcom/io/nsIMultiplexInputStream.idl \
1167 xpcom/io/nsIPipe.idl \
1168 xpcom/io/nsIAsyncInputStream.idl \
1169 xpcom/io/nsIAsyncOutputStream.idl \
1170 xpcom/io/nsIScriptableInputStream.idl \
1171 xpcom/io/nsIStorageStream.idl \
1172 xpcom/io/nsIStringStream.idl \
1173 xpcom/io/nsILineInputStream.idl \
1174 xpcom/proxy/public/nsIProxyObjectManager.idl \
1175 xpcom/threads/nsIEventQueueService.idl \
1176 xpcom/threads/nsIEventQueue.idl \
1177 xpcom/threads/nsIEventTarget.idl \
1178 xpcom/threads/nsIRunnable.idl \
1179 xpcom/threads/nsIThread.idl \
1180 xpcom/threads/nsITimer.idl \
1181 xpcom/threads/nsIEnvironment.idl \
1182 xpcom/threads/nsITimerInternal.idl \
1183 xpcom/threads/nsITimerManager.idl \
1184 xpcom/threads/nsIProcess.idl \
1185 xpcom/reflect/xptinfo/public/nsIInterfaceInfo.idl \
1186 xpcom/reflect/xptinfo/public/nsIInterfaceInfoManager.idl \
1187 xpcom/reflect/xptinfo/public/nsIXPTLoader.idl \
1188 ipc/ipcd/client/public/ipcIService.idl \
1189 ipc/ipcd/client/public/ipcIMessageObserver.idl \
1190 ipc/ipcd/client/public/ipcIClientObserver.idl \
1191 ipc/ipcd/extensions/lock/public/ipcILockService.idl \
1192 ipc/ipcd/extensions/transmngr/public/ipcITransactionService.idl \
1193 ipc/ipcd/extensions/dconnect/public/ipcIDConnectService.idl \
1194 ipc/ipcd/extensions/transmngr/public/ipcITransactionObserver.idl
1195
1196
1197OTHER_CLEAN += \
1198 $(PATH_VBox-xpcom-string)/idl_ts \
1199 $(addprefix $(PATH_BIN)/sdk/include/,$(notdir $(subst .idl,.h,$(IDLFILES)))) \
1200 $(addprefix $(PATH_BIN)/sdk/include/,$(notdir $(subst .idl,.xpt,$(IDLFILES)))) \
1201 $(addprefix $(PATH_BIN)/sdk/idl/,$(notdir $(IDLFILES)))
1202
1203
1204# generate rules
1205include $(PATH_KBUILD)/footer.kmk
1206
1207
1208
1209XPTFILES = $(addprefix $(PATH_TARGET)/, \
1210 nsIConsoleListener.xpt \
1211 nsIConsoleMessage.xpt \
1212 nsIConsoleService.xpt \
1213 nsIErrorService.xpt \
1214 nsIException.xpt \
1215 nsIExceptionService.xpt \
1216 nsIDebug.xpt \
1217 nsIInterfaceRequestor.xpt \
1218 nsIMemory.xpt \
1219 nsIProgrammingLanguage.xpt \
1220 nsISupports.xpt \
1221 nsITraceRefcnt.xpt \
1222 nsIWeakReference.xpt \
1223 nsrootidl.xpt \
1224 nsIAtom.xpt \
1225 nsIAtomService.xpt \
1226 nsICollection.xpt \
1227 nsIEnumerator.xpt \
1228 nsIPersistentProperties2.xpt \
1229 nsIPropertyBag.xpt \
1230 nsIRecyclingAllocator.xpt \
1231 nsIVariant.xpt \
1232 nsISerializable.xpt \
1233 nsIStringEnumerator.xpt \
1234 nsISupportsArray.xpt \
1235 nsISupportsIterators.xpt \
1236 nsITimelineService.xpt \
1237 nsIArray.xpt \
1238 nsIObserverService.xpt \
1239 nsIObserver.xpt \
1240 nsIProperties.xpt \
1241 nsISimpleEnumerator.xpt \
1242 nsISupportsPrimitives.xpt \
1243 nsIBinaryInputStream.xpt \
1244 nsIBinaryOutputStream.xpt \
1245 nsIByteArrayInputStream.xpt \
1246 nsIFastLoadFileControl.xpt \
1247 nsIFastLoadService.xpt \
1248 nsIInputStreamTee.xpt \
1249 nsILineInputStream.xpt \
1250 nsIMultiplexInputStream.xpt \
1251 nsIObjectInputStream.xpt \
1252 nsIObjectOutputStream.xpt \
1253 nsIPipe.xpt \
1254 nsISeekableStream.xpt \
1255 nsIStorageStream.xpt \
1256 nsIStringStream.xpt \
1257 nsIStreamBufferAccess.xpt \
1258 nsIAsyncInputStream.xpt \
1259 nsIAsyncOutputStream.xpt \
1260 nsIDirectoryService.xpt \
1261 nsIFile.xpt \
1262 nsILocalFile.xpt \
1263 nsIInputStream.xpt \
1264 nsIOutputStream.xpt \
1265 nsIScriptableInputStream.xpt \
1266 nsIComponentLoader.xpt \
1267 nsIComponentLoaderManager.xpt \
1268 nsIComponentManagerObsolete.xpt \
1269 nsINativeComponentLoader.xpt \
1270 nsIClassInfo.xpt \
1271 nsIComponentRegistrar.xpt \
1272 nsIFactory.xpt \
1273 nsIModule.xpt \
1274 nsIServiceManager.xpt \
1275 nsIComponentManager.xpt \
1276 nsICategoryManager.xpt \
1277 nsIThread.xpt \
1278 nsITimer.xpt \
1279 nsITimerInternal.xpt \
1280 nsITimerManager.xpt \
1281 nsIRunnable.xpt \
1282 nsIEventTarget.xpt \
1283 nsIEventQueue.xpt \
1284 nsIEventQueueService.xpt \
1285 nsIEnvironment.xpt \
1286 nsIProcess.xpt \
1287 nsIInterfaceInfo.xpt \
1288 nsIInterfaceInfoManager.xpt \
1289 nsIXPTLoader.xpt)
1290
1291OTHER_CLEAN += \
1292 $(XPTFILES)
1293
1294# combined typelib library
1295$(PATH_BIN)/VBoxXPCOMBase.xpt: $(XPTFILES) | $(TARGET_xp_link)
1296 $(call MSG_L1,Linking $@)
1297 $(QUIET)$(TARGET_xpt_link) $@ $^
1298
1299# generate build stamps
1300$(PATH_VBox-xpcom-nspr)/_pr_bld.h:
1301 $(call MSG_L1,Generating $@)
1302 $(QUIET)echo '#define _BUILD_STRING "$(shell date "+%Y-%m-%d %T")"' > $@
1303
1304$(PATH_VBox-xpcom-nspr)/_pl_bld.h:
1305 $(call MSG_L1,Generating $@)
1306 $(QUIET)echo '#define _BUILD_STRING "$(shell date "+%Y-%m-%d %T")"' > $@
1307
1308#
1309# Generate IDL rules.
1310#
1311
1312##
1313# Define for compiling one IDL into a header and a typelib
1314# @param idl The filename with everything.
1315XPIDL_INCS = -I xpcom/base/ -I xpcom/ds/ -I xpcom/components/ -I xpcom/io/ -I xpcom/threads/ -I xpcom/reflect/xptinfo/public/
1316define def_IDL
1317$(addprefix $(PATH_BIN)/sdk/include/,$(notdir $(subst .idl,.h,$(idl)))) \
1318 $(PATH_TARGET)/$(notdir $(subst .idl,.xpt,$(idl))): $(idl) | $(TARGET_xpidl)
1319 $$(call MSG_L1,xpidl $$<)
1320 $$(QUIET)$(MKDIR) -p $(PATH_BIN)/sdk/include $(PATH_BIN)/sdk/idl
1321 $$(QUIET)$$(TARGET_xpidl) -m header $(XPIDL_INCS) -e $$@ $$<
1322 $$(QUIET)$$(TARGET_xpidl) -m typelib $(XPIDL_INCS) -e $(addprefix $(PATH_TARGET)/,$(notdir $(subst .idl,.xpt,$(idl)))) $$<
1323 $$(QUIET)$(CP) $$< $$(PATH_BIN)/sdk/idl
1324endef
1325
1326$(foreach idl, $(IDLFILES), $(eval $(def_IDL)))
1327
1328# dummy target.
1329$(PATH_VBox-xpcom-string)/idl_ts: $(addprefix $(PATH_BIN)/sdk/include/,$(notdir $(subst .idl,.h,$(IDLFILES))))
1330 $(call MSG_L1,IDL processing completed.)
1331 $(QUIET)$(MKDIR) -p $(dir $@)
1332 $(QUIET)$(ECHO_EXT) > $@
1333
1334# Manual dependency...
1335xpcom/string/src/nsAString.cpp: $(PATH_VBox-xpcom-string)/idl_ts
1336
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