Changeset 29064 in vbox for trunk/src/libs/xpcom18a4
- Timestamp:
- May 5, 2010 11:41:08 AM (15 years ago)
- Location:
- trunk/src/libs/xpcom18a4
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/libs/xpcom18a4/Config.kmk
r29062 r29064 1 1 # $Id$ 2 2 ## @file 3 # Sub-Makefile for XPCOM.4 # 5 6 # 7 # Copyright (C) 2006-20 07Oracle Corporation3 # XPCOM kBuild Configuration file. 4 # 5 6 # 7 # Copyright (C) 2006-2010 Oracle Corporation 8 8 # 9 9 # This file is part of VirtualBox Open Source Edition (OSE), as … … 16 16 # 17 17 18 SUB_DEPTH = ../../.. 19 include $(KBUILD_PATH)/subheader.kmk 20 21 # File for filtering out C symbols from the XPCOM library. Used to avoid 22 # symbol namespace pollution, causing trouble with system libraries. 23 XPCOM_C_NAMESPACE_MAP = $(VBOX_PATH_XPCOM_SRC)/xpcom-namespace-cleanup.map 24 ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP 25 VBOX_NM = nm$(HOSTSUFF_EXE) 26 # At the moment, only Solaris uses the generated map file. GNU ld is smart 27 # enough to handle symbol wildcards itself. 28 if1of ($(KBUILD_TARGET), solaris) 29 XPCOM_C_NAMESPACE_MAP = $(PATH_TARGET)/xpcom-namespace-cleanup.map 30 OTHER_CLEAN += $(XPCOM_C_NAMESPACE_MAP) 31 endif 32 endif 33 34 # @todo check whether VBoxXPCOMIPCC.so or VBoxXPCOMIPCD contain undefined 35 # symbols starting with NS_, PL_, PR_ or XPT. Would move the test time failure 36 # when missing a symbol renaming to a build time failure. Likewise, there 37 # should be a check whether VBoxXPCOM.so contains global C symbols (at least 38 # where the whitelisting of symbols via the map file is not used). 18 # Include the top-level configure file. 19 ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED 20 include $(PATH_ROOT)/Config.kmk 21 endif 39 22 40 23 # 41 24 # Globals. 42 25 # 43 VBOX_PATH_XPCOM_SRC := $(PATH_SUB_CURRENT) 44 45 BLDDIRS += $(PATH_TARGET)/VBox-xpcom-xpt-files/ 46 26 VBOX_PATH_XPCOM_SRC := $(PATH_ROOT)/src/libs/xpcom18a4 47 27 48 28 # … … 120 100 TEMPLATE_XPCOM_DEFS += MOZ_PRESERVE_PIC 121 101 endif 122 TEMPLATE_XPCOM_INCS = xpcom/build \123 xpcom/ds \124 xpcom/io \125 xpcom/base \126 xpcom/components \127 xpcom/threads \128 xpcom/proxy/src \129 xpcom/reflect/xptcall/src \130 ipc/ipcd/client/src \131 ipc/ipcd/shared/src \132 ipc/ipcd/extensions/lock/src \133 ipc/ipcd/extensions/transmngr/src \134 ipc/ipcd/extensions/dconnect/src \135 ipc/ipcd/extensions/transmngr/common \102 TEMPLATE_XPCOM_INCS = $(VBOX_PATH_XPCOM_SRC)/xpcom/build \ 103 $(VBOX_PATH_XPCOM_SRC)/xpcom/ds \ 104 $(VBOX_PATH_XPCOM_SRC)/xpcom/io \ 105 $(VBOX_PATH_XPCOM_SRC)/xpcom/base \ 106 $(VBOX_PATH_XPCOM_SRC)/xpcom/components \ 107 $(VBOX_PATH_XPCOM_SRC)/xpcom/threads \ 108 $(VBOX_PATH_XPCOM_SRC)/xpcom/proxy/src \ 109 $(VBOX_PATH_XPCOM_SRC)/xpcom/reflect/xptcall/src \ 110 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/client/src \ 111 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/shared/src \ 112 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/extensions/lock/src \ 113 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/extensions/transmngr/src \ 114 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/extensions/dconnect/src \ 115 $(VBOX_PATH_XPCOM_SRC)/ipc/ipcd/extensions/transmngr/common \ 136 116 $(VBOX_PATH_SDK)/bindings/xpcom/include \ 137 117 $(VBOX_PATH_SDK)/bindings/xpcom/include/nsprpub \ … … 148 128 TEMPLATE_XPCOM_LIBS.solaris = sendfile 149 129 TEMPLATE_XPCOM_ORDERDEPS = $(foreach hdrinst, $(filter %-HEADERS, $(INSTALLS)), $(TARGET_$(hdrinst))) \ 150 $( PATH_VBox-xpcom-string)/idl_ts130 $(if $(PATH_VBox-xpcom-string),$(PATH_VBox-xpcom-string)/idl_ts,) 151 131 ifeq ($(KBUILD_TARGET),os2) 152 132 ifndef USE_OS2_TOOLKIT_HEADERS … … 267 247 268 248 269 #270 # Header installs.271 #272 INSTALLS += \273 NSPRPUB-HEADERS \274 NSPRPUB-MD-HEADERS \275 NSPRPUB-OBS-HEADERS \276 NSPRPUB-PRIV-HEADERS \277 STRING-HEADERS \278 XPCOM-HEADERS \279 IPCD-HEADERS280 281 #282 # The IDL compiler and typelib linker.283 #284 BLDPROGS += \285 xpidl \286 xpt_link287 288 #289 # We build several libraries so that any linker command line290 # length restrictions limit will be avoided. (Solaris, Mac?)291 #292 293 ifndef VBOX_ONLY_SDK294 LIBRARIES += \295 VBox-xpcom-nspr \296 VBox-xpcom-typelib \297 VBox-xpcom-string \298 VBox-xpcom-base \299 VBox-xpcom-ds \300 VBox-xpcom-io \301 VBox-xpcom-components \302 VBox-xpcom-threads \303 VBox-xpcom-xptinfo \304 VBox-xpcom-xptcall \305 VBox-xpcom-proxy \306 VBoxXPCOMGlue_s \307 VBoxXPCOMGlue \308 VBox-xpcom-ipcutils \309 VBox-xpcom-ipcshared \310 VBox-xpcom-ipcdlock \311 VBox-xpcom-ipctransmgr \312 VBox-xpcom-ipctmgrcom313 314 DLLS += \315 VBoxXPCOM \316 VBoxXPCOMIPCC317 318 ifdef VBOX_WITH_TESTCASES319 PROGRAMS += \320 tstnsIFileEnumerator \321 tstnsIFileTest \322 tstTestArray \323 tstTestAtoms \324 tstTestAutoLock \325 tstTestCallTemplates \326 tstTestCOMPtr \327 tstTestCOMPtrEq \328 tstTestCRT \329 tstTestFactory \330 tstTestHashtables \331 tstTestID \332 tstTestObserverService \333 tstTestPipes \334 tstTestServMgr \335 tstTestThreads \336 tstTestXPIDLString \337 tstTestDeque \338 tstTestAutoPtr \339 tstTestMinStringAPI \340 tstTestStrings \341 tstPrimitiveTest \342 tstSimpleTypeLib \343 tstXptDump \344 tstXptLink345 # tstTestPermanentAtoms346 endif # VBOX_WITH_TESTCASES347 PROGRAMS += VBoxXPCOMIPCD348 349 350 else351 352 PATH_VBox-xpcom-string=$(PATH_BIN)353 354 endif # !VBOX_ONLY_SDK355 356 357 358 359 #360 # SDK headers - lot's of files to install...361 #362 # Tip: If you are going to remove files here, you might363 # wish to do a `kmk uninstall' first to avoid have364 # obsoleted files in the $(INST_SDK) directory.365 #366 NSPRPUB-HEADERS_INST = $(INST_SDK)bindings/xpcom/include/nsprpub/367 NSPRPUB-HEADERS_IFFLAGS = -m 644368 NSPRPUB-HEADERS_SOURCES = \369 nsprpub/pr/include/nspr.h \370 nsprpub/lib/ds/plarena.h \371 nsprpub/lib/ds/plarenas.h \372 nsprpub/lib/libc/include/plbase64.h \373 nsprpub/lib/libc/include/plerror.h \374 nsprpub/lib/libc/include/plgetopt.h \375 nsprpub/lib/ds/plhash.h \376 nsprpub/lib/libc/include/plresolv.h \377 nsprpub/lib/libc/include/plstr.h \378 nsprpub/pr/include/pratom.h \379 nsprpub/pr/include/prbit.h \380 nsprpub/pr/include/prclist.h \381 nsprpub/pr/include/prcmon.h \382 nsprpub/pr/include/prcountr.h \383 nsprpub/pr/include/prcvar.h \384 nsprpub/pr/include/prdtoa.h \385 nsprpub/pr/include/prenv.h \386 nsprpub/pr/include/prerr.h \387 nsprpub/pr/include/prerror.h \388 nsprpub/pr/include/prinet.h \389 nsprpub/pr/include/prinit.h \390 nsprpub/pr/include/prinrval.h \391 nsprpub/pr/include/prio.h \392 nsprpub/pr/include/pripcsem.h \393 nsprpub/pr/include/prlink.h \394 nsprpub/pr/include/prlock.h \395 nsprpub/pr/include/prlog.h \396 nsprpub/pr/include/prlong.h \397 nsprpub/pr/include/prmem.h \398 nsprpub/pr/include/prmon.h \399 nsprpub/pr/include/prmwait.h \400 nsprpub/pr/include/prnetdb.h \401 nsprpub/pr/include/prolock.h \402 nsprpub/pr/include/prpdce.h \403 nsprpub/pr/include/prprf.h \404 nsprpub/pr/include/prproces.h \405 nsprpub/pr/include/prrng.h \406 nsprpub/pr/include/prrwlock.h \407 nsprpub/pr/include/prshm.h \408 nsprpub/pr/include/prshma.h \409 nsprpub/pr/include/prsystem.h \410 nsprpub/pr/include/prthread.h \411 nsprpub/pr/include/prtime.h \412 nsprpub/pr/include/prtpool.h \413 nsprpub/pr/include/prtrace.h \414 nsprpub/pr/include/prtypes.h \415 nsprpub/pr/include/prvrsion.h \416 nsprpub/pr/include/prwin16.h \417 nsprpub/pr/include/md/_vbox.cfg=>prcpucfg.h \418 419 NSPRPUB-MD-HEADERS_INST = $(INST_SDK)bindings/xpcom/include/nsprpub/md/420 NSPRPUB-MD-HEADERS_IFFLAGS = -m 644421 NSPRPUB-MD-HEADERS_SOURCES = \422 nsprpub/pr/include/md/_iprt_atomic.h \423 nsprpub/pr/include/md/_darwin.h \424 nsprpub/pr/include/md/_freebsd.h \425 nsprpub/pr/include/md/_l4v2.h \426 nsprpub/pr/include/md/_linux.h \427 nsprpub/pr/include/md/_macos.h \428 nsprpub/pr/include/md/_netbsd.h \429 nsprpub/pr/include/md/_openbsd.h \430 nsprpub/pr/include/md/_os2_errors.h \431 nsprpub/pr/include/md/_os2.h \432 nsprpub/pr/include/md/_pcos.h \433 nsprpub/pr/include/md/_solaris.h \434 nsprpub/pr/include/md/_unix_errors.h \435 nsprpub/pr/include/md/_unixos.h \436 nsprpub/pr/include/md/_pth.h \437 nsprpub/pr/include/md/prosdep.h \438 \439 nsprpub/pr/include/md/_freebsd.cfg \440 nsprpub/pr/include/md/_linux.cfg \441 nsprpub/pr/include/md/_darwin.cfg \442 nsprpub/pr/include/md/_netbsd.cfg \443 nsprpub/pr/include/md/_openbsd.cfg \444 nsprpub/pr/include/md/_os2.cfg \445 nsprpub/pr/include/md/_solaris32.cfg \446 nsprpub/pr/include/md/_solaris64.cfg \447 nsprpub/pr/include/md/_l4v2.cfg448 449 NSPRPUB-OBS-HEADERS_INST = $(INST_SDK)bindings/xpcom/include/nsprpub/obsolete/450 NSPRPUB-OBS-HEADERS_IFFLAGS = -m 644451 NSPRPUB-OBS-HEADERS_SOURCES = \452 nsprpub/pr/include/obsolete/pralarm.h \453 nsprpub/pr/include/obsolete/probslet.h \454 nsprpub/pr/include/obsolete/protypes.h \455 nsprpub/pr/include/obsolete/prsem.h456 457 NSPRPUB-PRIV-HEADERS_INST = $(INST_SDK)bindings/xpcom/include/nsprpub/private/458 NSPRPUB-PRIV-HEADERS_IFFLAGS = -m 644459 NSPRPUB-PRIV-HEADERS_SOURCES = \460 nsprpub/pr/include/private/pprio.h \461 nsprpub/pr/include/private/pprthred.h \462 nsprpub/pr/include/private/prpriv.h463 464 STRING-HEADERS_INST = $(INST_SDK)bindings/xpcom/include/string465 STRING-HEADERS_IFFLAGS = -m 644466 STRING-HEADERS_SOURCES = \467 xpcom/string/public/nsAString.h \468 xpcom/string/public/nsAlgorithm.h \469 xpcom/string/public/nsCharTraits.h \470 xpcom/string/public/nsDependentString.h \471 xpcom/string/public/nsDependentSubstring.h \472 xpcom/string/public/nsEmbedString.h \473 xpcom/string/public/nsLiteralString.h \474 xpcom/string/public/nsObsoleteAString.h \475 xpcom/string/public/nsPrintfCString.h \476 xpcom/string/public/nsPromiseFlatString.h \477 xpcom/string/public/nsReadableUtils.h \478 xpcom/string/public/nsString.h \479 xpcom/string/public/nsStringAPI.h \480 xpcom/string/public/nsStringFwd.h \481 xpcom/string/public/nsStringIterator.h \482 xpcom/string/public/nsSubstring.h \483 xpcom/string/public/nsSubstringTuple.h \484 xpcom/string/public/nsTAString.h \485 xpcom/string/public/nsTDependentString.h \486 xpcom/string/public/nsTDependentSubstring.h \487 xpcom/string/public/nsTObsoleteAString.h \488 xpcom/string/public/nsTPromiseFlatString.h \489 xpcom/string/public/nsTString.h \490 xpcom/string/public/nsTSubstring.h \491 xpcom/string/public/nsTSubstringTuple.h \492 xpcom/string/public/nsUTF8Utils.h \493 xpcom/string/public/nsXPIDLString.h \494 xpcom/string/public/string-template-def-char.h \495 xpcom/string/public/string-template-def-unichar.h \496 xpcom/string/public/string-template-undef.h497 498 XPCOM-HEADERS_INST = $(INST_SDK)bindings/xpcom/include/xpcom499 XPCOM-HEADERS_IFFLAGS = -m 644500 XPCOM-HEADERS_SOURCES = \501 xpcom/base/nsAgg.h \502 xpcom/io/nsAppDirectoryServiceDefs.h \503 xpcom/ds/nsArray.h \504 xpcom/ds/nsArrayEnumerator.h \505 xpcom/ds/nsAtomService.h \506 xpcom/ds/nsAutoBuffer.h \507 xpcom/threads/nsAutoLock.h \508 xpcom/base/nsAutoPtr.h \509 xpcom/ds/nsBaseHashtable.h \510 xpcom/ds/nsCOMArray.h \511 xpcom/ds/nsCRT.h \512 xpcom/components/nsCategoryManagerUtils.h \513 xpcom/ds/nsCheapSets.h \514 xpcom/ds/nsClassHashtable.h \515 xpcom/base/nsCom.h \516 xpcom/components/nsComponentManagerObsolete.h \517 xpcom/components/nsComponentManagerUtils.h \518 xpcom/ds/nsCppSharedAllocator.h \519 xpcom/ds/nsDataHashtable.h \520 xpcom/base/nsDebugImpl.h \521 xpcom/ds/nsDeque.h \522 xpcom/io/nsDirectoryService.h \523 xpcom/io/nsDirectoryServiceDefs.h \524 xpcom/io/nsDirectoryServiceUtils.h \525 xpcom/ds/nsDoubleHashtable.h \526 xpcom/ds/nsEnumeratorUtils.h \527 xpcom/base/nsError.h \528 xpcom/io/nsEscape.h \529 xpcom/threads/nsEventQueueUtils.h \530 xpcom/io/nsFastLoadPtr.h \531 xpcom/io/nsFastLoadService.h \532 xpcom/ds/nsFixedSizeAllocator.h \533 xpcom/ds/nsHashKeys.h \534 xpcom/ds/nsHashSets.h \535 xpcom/ds/nsHashtable.h \536 xpcom/base/nsIAllocator.h \537 xpcom/ds/nsIByteBuffer.h \538 xpcom/base/nsID.h \539 xpcom/base/nsIID.h \540 xpcom/components/nsIServiceManagerObsolete.h \541 xpcom/components/nsIServiceManagerUtils.h \542 xpcom/base/nsISupportsBase.h \543 xpcom/base/nsISupportsObsolete.h \544 xpcom/ds/nsIUnicharBuffer.h \545 xpcom/io/nsIUnicharInputStream.h \546 xpcom/ds/nsInt64.h \547 xpcom/ds/nsInterfaceHashtable.h \548 xpcom/io/nsLinebreakConverter.h \549 xpcom/io/nsLocalFile.h \550 xpcom/io/nsLocalFileUnix.h \551 xpcom/io/nsLocalFileOS2.h \552 xpcom/io/nsLocalFileOSX.h \553 xpcom/components/nsModule.h \554 xpcom/io/nsMultiplexInputStream.h \555 xpcom/io/nsNativeCharsetUtils.h \556 xpcom/components/nsNativeComponentLoader.h \557 xpcom/ds/nsObserverService.h \558 xpcom/components/nsObsoleteModuleLoading.h \559 xpcom/threads/nsProcess.h \560 xpcom/proxy/public/nsProxiedService.h \561 xpcom/proxy/public/nsProxyEvent.h \562 xpcom/proxy/public/nsProxyRelease.h \563 xpcom/ds/nsQuickSort.h \564 xpcom/ds/nsRecyclingAllocator.h \565 xpcom/ds/nsRefPtrHashtable.h \566 xpcom/io/nsScriptableInputStream.h \567 xpcom/ds/nsStaticAtom.h \568 xpcom/components/nsStaticComponent.h \569 xpcom/ds/nsStaticNameTable.h \570 xpcom/io/nsStorageStream.h \571 xpcom/io/nsStreamUtils.h \572 xpcom/ds/nsStringEnumerator.h \573 xpcom/io/nsStringIO.h \574 xpcom/io/nsStringStream.h \575 xpcom/ds/nsSupportsArray.h \576 xpcom/ds/nsSupportsPrimitives.h \577 xpcom/ds/nsTHashtable.h \578 xpcom/ds/nsTextFormatter.h \579 xpcom/ds/nsTime.h \580 xpcom/base/nsTraceRefcntImpl.h \581 xpcom/ds/nsUnitConversion.h \582 xpcom/ds/nsValueArray.h \583 xpcom/ds/nsVariant.h \584 xpcom/ds/nsVoidArray.h \585 xpcom/base/nsWeakPtr.h \586 xpcom/build/nsXPCOM.h \587 xpcom/build/nsXPCOMCID.h \588 xpcom/base/nscore.h \589 xpcom/ds/pldhash.h \590 xpcom/threads/plevent.h \591 xpcom/components/xcDll.h \592 xpcom/typelib/xpt/public/xpt_arena.h \593 xpcom/typelib/xpt/public/xpt_struct.h \594 xpcom/typelib/xpt/public/xpt_xdr.h \595 xpcom/reflect/xptcall/public/xptcall.h \596 xpcom/reflect/xptcall/public/xptcstubsdecl.inc \597 xpcom/reflect/xptcall/public/xptcstubsdef.inc \598 xpcom/reflect/xptinfo/public/xptinfo.h \599 \600 xpcom/glue/nsIInterfaceRequestorUtils.h \601 xpcom/glue/nsISupportsImpl.h \602 xpcom/glue/nsISupportsUtils.h \603 xpcom/glue/nsIWeakReferenceUtils.h \604 \605 xpcom/glue/nsCOMPtr.h \606 xpcom/glue/nsDebug.h \607 xpcom/glue/nsGenericFactory.h \608 xpcom/glue/nsIGenericFactory.h \609 xpcom/glue/nsMemory.h \610 xpcom/glue/nsTraceRefcnt.h \611 xpcom/glue/nsWeakReference.h \612 \613 xpcom/glue/standalone/nsXPCOMGlue.h \614 \615 xpcom-config.h616 617 IPCD-HEADERS_INST = $(INST_SDK)bindings/xpcom/include/ipcd/618 IPCD-HEADERS_IFFLAGS = -m 644619 IPCD-HEADERS_SOURCES = \620 ipc/ipcd/client/public/ipcCID.h \621 ipc/ipcd/extensions/lock/public/ipcLockCID.h \622 ipc/ipcd/util/public/ipcMessageReader.h \623 ipc/ipcd/util/public/ipcMessageWriter.h \624 ipc/ipcd/daemon/public/ipcModule.h \625 ipc/ipcd/daemon/public/ipcModuleUtil.h \626 ipc/ipcd/client/public/ipcdclient.h627 628 629 #630 # The IDL compiler.631 #632 # We build it statically because we cannot rely on additional .a files633 # like in the original build634 #635 xpidl_TEMPLATE = XPCOMBLDPROG636 xpidl_DEFS = EXPORT_XPT_API637 ## @todo This assumes HOST == TARGET.638 xpidl_INST = $(INST_BIN)639 ## Obsolete hack: MacPorts is 32-bit on 10.5 and 64-bit on 10.6. Set your KBUILD_HOST_ARCH env.vars. accordingly.640 #if "$(KBUILD_HOST).$(KBUILD_HOST_ARCH)" == "darwin.amd64" && defined(VBOX_MACOS_10_5_WORKAROUND)641 # xpidl_BLD_TRG_ARCH = x86642 # ## @todo kBuild ticket 84 workarounds:643 # xpidl_DEFS.x86 = $(TEMPLATE_XPCOMBLDPROG_DEFS.x86)644 # xpidl_CFLAGS.x86 = $(TEMPLATE_XPCOMBLDPROG_CFLAGS.x86)645 # xpidl_CXXFLAGS.x86 = $(TEMPLATE_XPCOMBLDPROG_CXXFLAGS.x86)646 # xpidl_LDFLAGS.x86 = $(TEMPLATE_XPCOMBLDPROG_LDFLAGS.x86)647 #endif648 xpidl_SOURCES = \649 xpcom/typelib/xpidl/xpidl.c \650 xpcom/typelib/xpidl/xpidl_idl.c \651 xpcom/typelib/xpidl/xpidl_util.c \652 xpcom/typelib/xpidl/xpidl_header.c \653 xpcom/typelib/xpidl/xpidl_typelib.c \654 xpcom/typelib/xpidl/xpidl_doc.c \655 xpcom/typelib/xpidl/xpidl_java.c \656 xpcom/typelib/xpt/src/xpt_arena.c \657 xpcom/typelib/xpt/src/xpt_struct.c \658 xpcom/typelib/xpt/src/xpt_xdr.c659 660 ifeq ($(KBUILD_TARGET),os2)661 # glib and libIDL needed by XPCOM on OS/2.662 ifeq ($(VBOX_PATH_GLIB),)663 VBOX_PATH_GLIB := $(lastword $(sort $(wildcard $(PATH_DEVTOOLS_TRG)/glibidl/*/glibidl/gcc335)))664 endif665 VBOX_PATH_LIBIDL ?= $(VBOX_PATH_GLIB)666 ifeq ($(wildcard $(VBOX_PATH_GLIB)),)667 $(warning VBOX_PATH_GLIB is "$(VBOX_PATH_GLIB)" which is not a valid directory!)668 endif669 ifeq ($(wildcard $(VBOX_PATH_LIBIDL)),)670 $(warning VBOX_PATH_LIBIDL is "$(VBOX_PATH_LIBIDL)" which is not a valid directory!)671 endif672 xpidl_INCS = \673 $(VBOX_PATH_LIBIDL)/include \674 $(VBOX_PATH_GLIB)/include675 xpidl_LIBS = \676 $(VBOX_PATH_LIBIDL)/lib/libidl.lib \677 $(VBOX_PATH_LIBIDL)/lib/glib.lib678 # install necessary DLLs to the same place where xpidl goes679 INSTALLS += xpidl-DLLS680 xpidl_ORDERDEPS = $(TARGET_xpidl-DLLS)681 xpidl-DLLS_INST = $(xpidl_INST)682 # static libraries of these may be provided instead,683 # so copy DLLs only when they are present684 xpidl-DLLS_SOURCES += $(wildcard $(VBOX_PATH_GLIB)/lib/glib.dll)685 xpidl-DLLS_SOURCES += $(wildcard $(VBOX_PATH_LIBIDL)/lib/libIDL.dll)686 else687 # We do these ONCE.688 libIDL_config_cflags := $(shell $(VBOX_LIBIDL_CONFIG) --cflags)689 libIDL_config_libs := $(shell $(VBOX_LIBIDL_CONFIG) --libs)690 xpidl_CFLAGS = \691 $(libIDL_config_cflags)692 xpidl_LDFLAGS = \693 $(libIDL_config_libs)694 endif695 696 #697 # The XPT linker.698 #699 xpt_link_TEMPLATE = XPCOMBLDPROG700 xpt_link_SOURCES = \701 xpcom/typelib/xpt/tools/xpt_link.c \702 xpcom/typelib/xpt/src/xpt_arena.c \703 xpcom/typelib/xpt/src/xpt_struct.c \704 xpcom/typelib/xpt/src/xpt_xdr.c705 706 707 #708 # The NSPR Library.709 #710 VBox-xpcom-nspr_TEMPLATE = XPCOM711 VBox-xpcom-nspr_NOINST = 1712 VBox-xpcom-nspr_DEFS = \713 _NSPR_BUILD_ \714 HAVE_LCHOWN=1 \715 HAVE_STRERROR=1 \716 FORCE_PR_LOG717 VBox-xpcom-nspr_DEFS += \718 VBOX_USE_IPRT_IN_NSPR719 VBox-xpcom-nspr_DEFS.darwin.amd64 = \720 VBOX_USE_MORE_IPRT_IN_NSPR721 VBox-xpcom-nspr_DEFS.darwin = \722 HAVE_BSD_FLOCK=1 \723 _PR_PTHREADS724 VBox-xpcom-nspr_DEFS.freebsd = \725 FREEBSD=1 \726 HAVE_CVAR_BUILT_ON_SEM \727 _PR_PTHREADS728 ## @todo filling in the missing stuff, please don't just copy it from linux.729 # FIXME: LINUX should be defined by _linux.cfg730 VBox-xpcom-nspr_DEFS.linux = \731 LINUX=1 \732 _POSIX_SOURCE=1 \733 _BSD_SOURCE=1 \734 _SVID_SOURCE=1 \735 _REENTRANT=1 \736 _LARGEFILE64_SOURCE=1 \737 HAVE_FCNTL_FILE_LOCKING=1 \738 HAVE_CVAR_BUILT_ON_SEM \739 _PR_PTHREADS740 # _BSD_SOURCE is here to keep the Glibc header files happy and make them include the right things741 # FIXME: L4 should be defined by _linux.cfg742 VBox-xpcom-nspr_DEFS.l4 = \743 L4=1 \744 _REENTRANT=1 \745 _LARGEFILE64_SOURCE=1 \746 _POSIX_SOURCE=1 \747 _BSD_SOURCE=1 \748 HAVE_FCNTL_FILE_LOCKING=1 \749 HAVE_CVAR_BUILT_ON_SEM750 VBox-xpcom-nspr_DEFS.netbsd = \751 _PR_PTHREADS752 VBox-xpcom-nspr_DEFS.openbsd = \753 _PR_PTHREADS754 VBox-xpcom-nspr_DEFS.os2 =755 VBox-xpcom-nspr_DEFS.solaris = \756 HAVE_FCNTL_FILE_LOCKING=1 \757 _PR_PTHREADS758 VBox-xpcom-nspr_INCS = \759 nsprpub/pr/include/private \760 $(PATH_VBox-xpcom-nspr)761 762 VBox-xpcom-nspr_SOURCES = \763 nsprpub/pr/src/io/prfdcach.c \764 nsprpub/pr/src/io/prmwait.c \765 nsprpub/pr/src/io/priometh.c \766 nsprpub/pr/src/io/pripv6.c \767 nsprpub/pr/src/io/prmapopt.c \768 nsprpub/pr/src/io/prlayer.c \769 nsprpub/pr/src/io/prlog.c \770 nsprpub/pr/src/io/prmmap.c \771 nsprpub/pr/src/io/prpolevt.c \772 nsprpub/pr/src/io/prprf.c \773 nsprpub/pr/src/io/prscanf.c \774 nsprpub/pr/src/io/prstdio.c \775 nsprpub/pr/src/linking/prlink.c \776 nsprpub/pr/src/malloc/prmalloc.c \777 nsprpub/pr/src/malloc/prmem.c \778 nsprpub/pr/src/md/prosdep.c \779 nsprpub/pr/src/memory/prseg.c \780 nsprpub/pr/src/memory/prshm.c \781 nsprpub/pr/src/memory/prshma.c \782 nsprpub/pr/src/misc/pralarm.c \783 nsprpub/pr/src/misc/pratom.c \784 nsprpub/pr/src/misc/prcountr.c \785 nsprpub/pr/src/misc/prdtoa.c \786 nsprpub/pr/src/misc/prenv.c \787 nsprpub/pr/src/misc/prerr.c \788 nsprpub/pr/src/misc/prerror.c \789 nsprpub/pr/src/misc/prerrortable.c \790 nsprpub/pr/src/misc/prinit.c \791 nsprpub/pr/src/misc/prinrval.c \792 nsprpub/pr/src/misc/pripc.c \793 nsprpub/pr/src/misc/prlog2.c \794 nsprpub/pr/src/misc/prlong.c \795 nsprpub/pr/src/misc/prnetdb.c \796 nsprpub/pr/src/misc/prolock.c \797 nsprpub/pr/src/misc/prrng.c \798 nsprpub/pr/src/misc/prsystem.c \799 nsprpub/pr/src/misc/prtime.c \800 nsprpub/pr/src/misc/prthinfo.c \801 nsprpub/pr/src/misc/prtpool.c \802 nsprpub/pr/src/misc/prtrace.c \803 nsprpub/pr/src/threads/prcmon.c \804 nsprpub/pr/src/threads/prrwlock.c \805 nsprpub/pr/src/threads/prtpd.c \806 nsprpub/pr/src/prvrsion.c \807 nsprpub/lib/ds/plarena.c \808 nsprpub/lib/ds/plhash.c \809 nsprpub/lib/libc/src/strlen.c \810 nsprpub/lib/libc/src/strcpy.c \811 nsprpub/lib/libc/src/strdup.c \812 nsprpub/lib/libc/src/strcat.c \813 nsprpub/lib/libc/src/strcmp.c \814 nsprpub/lib/libc/src/strccmp.c \815 nsprpub/lib/libc/src/strchr.c \816 nsprpub/lib/libc/src/strpbrk.c \817 nsprpub/lib/libc/src/strstr.c \818 nsprpub/lib/libc/src/strcstr.c \819 nsprpub/lib/libc/src/strtok.c \820 nsprpub/lib/libc/src/base64.c \821 nsprpub/lib/libc/src/plerror.c \822 nsprpub/lib/libc/src/plgetopt.c823 824 ifeq ($(filter-out darwin freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # unixish825 VBox-xpcom-nspr_SOURCES += \826 nsprpub/pr/src/md/unix/unix.c \827 nsprpub/pr/src/md/unix/unix_errors.c \828 nsprpub/pr/src/md/unix/uxproces.c \829 nsprpub/pr/src/md/unix/uxrng.c \830 nsprpub/pr/src/md/unix/uxshm.c \831 nsprpub/pr/src/md/unix/uxwrap.c \832 nsprpub/pr/src/pthreads/ptio.c \833 nsprpub/pr/src/pthreads/ptsynch.c \834 nsprpub/pr/src/pthreads/ptthread.c \835 nsprpub/pr/src/pthreads/ptmisc.c836 endif837 838 VBox-xpcom-nspr_SOURCES.darwin = nsprpub/pr/src/md/unix/darwin.c839 VBox-xpcom-nspr_SOURCES.darwin.x86 = nsprpub/pr/src/md/unix/os_Darwin_x86.s840 841 VBox-xpcom-nspr_SOURCES.freebsd = nsprpub/pr/src/md/unix/freebsd.c842 843 VBox-xpcom-nspr_SOURCES.l4 = \844 nsprpub/pr/src/io/prfile.c /* why not for Linux? */ \845 nsprpub/pr/src/io/prio.c /* "" "" "" "" */ \846 nsprpub/pr/src/io/prsocket.c \847 nsprpub/pr/src/md/unix/unix.c \848 nsprpub/pr/src/md/unix/unix_errors.c \849 nsprpub/pr/src/md/unix/uxpoll.c \850 nsprpub/pr/src/md/unix/uxproces.c \851 nsprpub/pr/src/md/unix/uxrng.c \852 nsprpub/pr/src/md/unix/uxshm.c \853 nsprpub/pr/src/md/unix/uxwrap.c \854 nsprpub/pr/src/md/unix/l4env.c \855 nsprpub/pr/src/threads/prcthr.c \856 nsprpub/pr/src/threads/prmon.c \857 nsprpub/pr/src/threads/combined/prucpu.c \858 nsprpub/pr/src/threads/combined/prucv.c \859 nsprpub/pr/src/threads/combined/prulock.c \860 nsprpub/pr/src/threads/combined/prustack.c \861 nsprpub/pr/src/threads/combined/pruthr.c862 # nsprpub/pr/src/md/l4env/prnetdb.c \863 # nsprpub/pr/src/md/l4env/threads.c864 VBox-xpcom-nspr_SOURCES.l4.x86 = nsprpub/pr/src/md/unix/os_Linux_x86.s865 VBox-xpcom-nspr_SOURCES.l4.amd64 = nsprpub/pr/src/md/unix/os_Linux_x86_64.s866 867 VBox-xpcom-nspr_SOURCES.linux = nsprpub/pr/src/md/unix/linux.c868 VBox-xpcom-nspr_SOURCES.linux.x86 = nsprpub/pr/src/md/unix/os_Linux_x86.s869 VBox-xpcom-nspr_SOURCES.linux.amd64 = nsprpub/pr/src/md/unix/os_Linux_x86_64.s870 871 VBox-xpcom-nspr_SOURCES.os2 = \872 nsprpub/pr/src/io/prdir.c \873 nsprpub/pr/src/io/prfile.c \874 nsprpub/pr/src/io/prio.c \875 nsprpub/pr/src/io/prsocket.c \876 nsprpub/pr/src/md/os2/os2misc.c \877 nsprpub/pr/src/md/os2/os2sem.c \878 nsprpub/pr/src/md/os2/os2inrval.c \879 nsprpub/pr/src/md/os2/os2gc.c \880 nsprpub/pr/src/md/os2/os2thred.c \881 nsprpub/pr/src/md/os2/os2io.c \882 nsprpub/pr/src/md/os2/os2cv.c \883 nsprpub/pr/src/md/os2/os2sock.c \884 nsprpub/pr/src/md/os2/os2_errors.c \885 nsprpub/pr/src/md/os2/os2poll.c \886 nsprpub/pr/src/md/os2/os2rng.c \887 nsprpub/pr/src/threads/prdump.c \888 nsprpub/pr/src/threads/prmon.c \889 nsprpub/pr/src/threads/prsem.c \890 nsprpub/pr/src/threads/prcthr.c \891 nsprpub/pr/src/threads/combined/prucpu.c \892 nsprpub/pr/src/threads/combined/prucv.c \893 nsprpub/pr/src/threads/combined/prulock.c \894 nsprpub/pr/src/threads/combined/prustack.c \895 nsprpub/pr/src/threads/combined/pruthr.c896 # gcc/emx sources897 VBox-xpcom-nspr_SOURCES.os2 += \898 nsprpub/pr/src/md/os2/os2emx.s \899 nsprpub/pr/src/md/os2/os2vaclegacy.s900 # IBM VAC sources (not used)901 #VBox-xpcom-nspr_SOURCES.os2 += \902 # nsprpub/pr/src/md/os2/os2vacpp.asm903 904 VBox-xpcom-nspr_SOURCES.solaris = nsprpub/pr/src/md/unix/solaris.c905 VBox-xpcom-nspr_SOURCES.solaris.x86 = nsprpub/pr/src/md/unix/os_SunOS_x86.s906 VBox-xpcom-nspr_SOURCES.solaris.amd64 = nsprpub/pr/src/md/unix/os_SunOS_x86_64.s907 908 # generate build stamps909 nsprpub/pr/src/prvrsion.c_DEPS = $(PATH_VBox-xpcom-nspr)/_pr_bld.h910 nsprpub/lib/ds/plvrsion.c_DEPS = $(PATH_VBox-xpcom-nspr)/_pl_bld.h911 VBox-xpcom-nspr_CLEAN += \912 $(PATH_VBox-xpcom-nspr)/_pr_bld.h \913 $(PATH_VBox-xpcom-nspr)/_pl_bld.h914 915 $$(PATH_VBox-xpcom-nspr)/_pr_bld.h: | $$(PATH_VBox-xpcom-nspr)/916 $(call MSG_GENERATE,,$@)917 $(QUIET)$(APPEND) -t $@ '#define _BUILD_STRING "$(date +%Y-%m-%d %T)"'918 919 $$(PATH_VBox-xpcom-nspr)/_pl_bld.h: | $$(PATH_VBox-xpcom-nspr)/920 $(call MSG_GENERATE,,$@)921 $(QUIET)$(APPEND) -t $@ '#define _BUILD_STRING "$(date +%Y-%m-%d %T)"'922 923 924 VBox-xpcom-typelib_TEMPLATE = XPCOM925 VBox-xpcom-typelib_NOINST = 1926 VBox-xpcom-typelib_SOURCES = \927 xpcom/typelib/xpt/src/xpt_arena.c \928 xpcom/typelib/xpt/src/xpt_struct.c \929 xpcom/typelib/xpt/src/xpt_xdr.c930 931 VBox-xpcom-string_TEMPLATE = XPCOM932 VBox-xpcom-string_NOINST = 1933 VBox-xpcom-string_SOURCES = \934 xpcom/string/src/nsAString.cpp \935 xpcom/string/src/nsDependentSubstring.cpp \936 xpcom/string/src/nsObsoleteAStringThunk.cpp \937 xpcom/string/src/nsPrintfCString.cpp \938 xpcom/string/src/nsPromiseFlatString.cpp \939 xpcom/string/src/nsReadableUtils.cpp \940 xpcom/string/src/nsSubstring.cpp \941 xpcom/string/src/nsSubstringTuple.cpp \942 xpcom/string/src/nsString.cpp \943 xpcom/string/src/nsStringComparator.cpp \944 xpcom/string/src/nsStringObsolete.cpp945 946 VBox-xpcom-base_TEMPLATE = XPCOM947 VBox-xpcom-base_NOINST = 1948 VBox-xpcom-base_DEFS = _IMPL_NS_COM949 VBox-xpcom-base_SOURCES = \950 xpcom/base/nsAllocator.cpp \951 xpcom/base/nsConsoleMessage.cpp \952 xpcom/base/nsConsoleService.cpp \953 xpcom/base/nsDebugImpl.cpp \954 xpcom/base/nsErrorService.cpp \955 xpcom/base/nsExceptionService.cpp \956 xpcom/base/nsID.cpp \957 xpcom/base/nsMemoryImpl.cpp \958 xpcom/base/nsTraceRefcntImpl.cpp \959 xpcom/base/nsStackFrameUnix.cpp960 961 VBox-xpcom-ds_TEMPLATE = XPCOM962 VBox-xpcom-ds_NOINST = 1963 VBox-xpcom-ds_DEFS = _IMPL_NS_COM964 VBox-xpcom-ds_SOURCES = \965 xpcom/ds/pldhash.c \966 xpcom/ds/nsAtomTable.cpp \967 xpcom/ds/nsAtomService.cpp \968 xpcom/ds/nsByteBuffer.cpp \969 xpcom/ds/nsCheapSets.cpp \970 xpcom/ds/nsCRT.cpp \971 xpcom/ds/nsDeque.cpp \972 xpcom/ds/nsEmptyEnumerator.cpp \973 xpcom/ds/nsEnumeratorUtils.cpp \974 xpcom/ds/nsFixedSizeAllocator.cpp \975 xpcom/ds/nsHashSets.cpp \976 xpcom/ds/nsHashtable.cpp \977 xpcom/ds/nsObserverList.cpp \978 xpcom/ds/nsObserverService.cpp \979 xpcom/ds/nsProperties.cpp \980 xpcom/ds/nsPersistentProperties.cpp \981 xpcom/ds/nsQuickSort.cpp \982 xpcom/ds/nsRecyclingAllocator.cpp \983 xpcom/ds/nsStaticNameTable.cpp \984 xpcom/ds/nsStringEnumerator.cpp \985 xpcom/ds/nsSupportsArray.cpp \986 xpcom/ds/nsSupportsArrayEnumerator.cpp \987 xpcom/ds/nsSupportsPrimitives.cpp \988 xpcom/ds/nsTHashtable.cpp \989 xpcom/ds/nsUnicharBuffer.cpp \990 xpcom/ds/nsVariant.cpp \991 xpcom/ds/nsVoidArray.cpp \992 xpcom/ds/nsTextFormatter.cpp \993 xpcom/ds/nsTimelineService.cpp \994 xpcom/ds/nsValueArray.cpp \995 xpcom/ds/nsCOMArray.cpp \996 xpcom/ds/nsArray.cpp \997 xpcom/ds/nsArrayEnumerator.cpp998 # xpcom/ds/nsHashPropertyBag.cpp999 1000 # @todo what about MOZ_USER_DIR?1001 VBox-xpcom-io_TEMPLATE = XPCOM1002 VBox-xpcom-io_NOINST = 11003 VBox-xpcom-io_DEFS = _IMPL_NS_COM MOZ_USER_DIR=\".mozilla\"1004 VBox-xpcom-io_INCS.darwin = \1005 xpcom/MoreFiles1006 VBox-xpcom-io_SOURCES = \1007 xpcom/io/nsAppFileLocationProvider.cpp \1008 xpcom/io/nsBinaryStream.cpp \1009 xpcom/io/nsByteArrayInputStream.cpp \1010 xpcom/io/nsDirectoryService.cpp \1011 xpcom/io/nsEscape.cpp \1012 xpcom/io/nsFastLoadFile.cpp \1013 xpcom/io/nsFastLoadService.cpp \1014 xpcom/io/nsInputStreamTee.cpp \1015 xpcom/io/nsLinebreakConverter.cpp \1016 xpcom/io/nsLocalFileCommon.cpp \1017 xpcom/io/nsMultiplexInputStream.cpp \1018 xpcom/io/nsPipe3.cpp \1019 xpcom/io/nsStreamUtils.cpp \1020 xpcom/io/nsScriptableInputStream.cpp \1021 xpcom/io/nsSegmentedBuffer.cpp \1022 xpcom/io/SpecialSystemDirectory.cpp \1023 xpcom/io/nsStorageStream.cpp \1024 xpcom/io/nsStringStream.cpp \1025 xpcom/io/nsUnicharInputStream.cpp \1026 xpcom/io/nsNativeCharsetUtils.cpp1027 VBox-xpcom-io_SOURCES.darwin.x86 = \1028 xpcom/io/nsLocalFileOSX.cpp \1029 xpcom/MoreFiles/FSCopyObject.c \1030 xpcom/MoreFiles/MoreFilesX.c1031 VBox-xpcom-io_SOURCES.l4 = \1032 xpcom/io/nsLocalFileL4.cpp1033 if1of ($(KBUILD_TARGET) $(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), freebsd linux netbsd openbsd solaris darwin.amd64)1034 VBox-xpcom-io_SOURCES += \1035 xpcom/io/nsLocalFileUnix.cpp1036 endif1037 VBox-xpcom-io_SOURCES.os2 = \1038 xpcom/io/nsLocalFileOS2.cpp1039 1040 VBox-xpcom-components_TEMPLATE = XPCOM1041 VBox-xpcom-components_NOINST = 11042 VBox-xpcom-components_DEFS = _IMPL_NS_COM EXPORT_XPTI_API1043 VBox-xpcom-components_SOURCES = \1044 xpcom/components/nsCategoryManager.cpp \1045 xpcom/components/nsComponentManager.cpp \1046 xpcom/components/nsComponentManagerObsolete.cpp \1047 xpcom/components/nsNativeComponentLoader.cpp \1048 xpcom/components/nsServiceManagerObsolete.cpp \1049 xpcom/components/xcDll.cpp \1050 xpcom/components/nsStaticComponentLoader.cpp1051 1052 VBox-xpcom-threads_TEMPLATE = XPCOM1053 VBox-xpcom-threads_NOINST = 11054 VBox-xpcom-threads_DEFS = _IMPL_NS_COM1055 VBox-xpcom-threads_SOURCES = \1056 xpcom/threads/plevent.c \1057 xpcom/threads/nsAutoLock.cpp \1058 xpcom/threads/nsEnvironment.cpp \1059 xpcom/threads/nsEventQueue.cpp \1060 xpcom/threads/nsEventQueueService.cpp \1061 xpcom/threads/nsThread.cpp \1062 xpcom/threads/nsTimerImpl.cpp \1063 xpcom/threads/nsProcessCommon.cpp \1064 xpcom/threads/TimerThread.cpp1065 1066 VBox-xpcom-xptinfo_TEMPLATE = XPCOM1067 VBox-xpcom-xptinfo_NOINST = 11068 VBox-xpcom-xptinfo_DEFS = _IMPL_NS_COM _IMPL_NS_BASE EXPORT_XPTI_API EXPORT_XPT_API1069 VBox-xpcom-xptinfo_SOURCES = \1070 xpcom/reflect/xptinfo/src/xptiFile.cpp \1071 xpcom/reflect/xptinfo/src/xptiInterfaceInfo.cpp \1072 xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp \1073 xpcom/reflect/xptinfo/src/xptiManifest.cpp \1074 xpcom/reflect/xptinfo/src/xptiMisc.cpp \1075 xpcom/reflect/xptinfo/src/xptiTypelibGuts.cpp \1076 xpcom/reflect/xptinfo/src/xptiWorkingSet.cpp \1077 xpcom/reflect/xptinfo/src/xptiZipItem.cpp \1078 xpcom/reflect/xptinfo/src/xptiZipLoader.cpp1079 1080 1081 VBox-xpcom-xptcall_TEMPLATE = XPCOM1082 VBox-xpcom-xptcall_NOINST = 11083 VBox-xpcom-xptcall_DEFS = _IMPL_NS_COM _IMPL_NS_BASE EXPORT_XPTC_API1084 VBox-xpcom-xptcall_DEFS.darwin = KEEP_STACK_16_BYTE_ALIGNED1085 VBox-xpcom-xptcall_DEFS.l4 = L41086 VBox-xpcom-xptcall_DEFS.os2 = MOZ_NEED_LEADING_UNDERSCORE1087 VBox-xpcom-xptcall_INCS.os2 = xpcom/reflect/xptcall/src/md/unix1088 VBox-xpcom-xptcall_SOURCES = xpcom/reflect/xptcall/src/xptcall.cpp1089 VBox-xpcom-xptcall_SOURCES.darwin.x86 = xpcom/reflect/xptcall/src/md/unix/xptcinvoke_unixish_x86.cpp \1090 xpcom/reflect/xptcall/src/md/unix/xptcstubs_unixish_x86.cpp1091 VBox-xpcom-xptcall_SOURCES.darwin.amd64= xpcom/reflect/xptcall/src/md/unix/xptcinvoke_amd64_darwin.cpp \1092 xpcom/reflect/xptcall/src/md/unix/xptcstubs_amd64_darwin.cpp1093 VBox-xpcom-xptcall_SOURCES.freebsd.x86 = xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp \1094 xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp1095 VBox-xpcom-xptcall_SOURCES.freebsd.amd64=xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_linux.cpp \1096 xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_linux.cpp1097 VBox-xpcom-xptcall_SOURCES.linux.x86 = xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp \1098 xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp1099 VBox-xpcom-xptcall_SOURCES.linux.amd64 = xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_linux.cpp \1100 xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_linux.cpp1101 VBox-xpcom-xptcall_SOURCES.os2 = xpcom/reflect/xptcall/src/md/os2/xptcinvoke_gcc_x86_os2.cpp \1102 xpcom/reflect/xptcall/src/md/os2/xptcstubs_gcc_x86_os2.cpp1103 VBox-xpcom-xptcall_SOURCES.solaris.x86 = xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_solaris.cpp \1104 xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_solaris.cpp1105 VBox-xpcom-xptcall_SOURCES.solaris.amd64 = xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_linux.cpp \1106 xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_linux.cpp1107 1108 xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_solaris.cpp_CXXFLAGS = -O01109 # -O0 works fine, while -O1 doesn't. The gcc man page can't be listing all the -f*1110 # stuff that -O1 enables, because when using the options without -O1, it's -fomit-frame-pointer1111 # that triggers is, while -O1 -fno-omit-frame-pointer does not work. Anyway, it's probably a gcc/mozila1112 # bug and it's not worth investigating as I'm not the maintainger of the solaris gcc port. [bird, 2007-09-17]1113 1114 1115 VBox-xpcom-proxy_TEMPLATE = XPCOM1116 VBox-xpcom-proxy_NOINST = 11117 VBox-xpcom-proxy_DEFS = _IMPL_NS_COM EXPORT_XPTC_API EXPORT_XPTI_API1118 VBox-xpcom-proxy_SOURCES = xpcom/proxy/src/nsProxyEvent.cpp \1119 xpcom/proxy/src/nsProxyEventClass.cpp \1120 xpcom/proxy/src/nsProxyEventObject.cpp \1121 xpcom/proxy/src/nsProxyObjectManager.cpp \1122 xpcom/proxy/src/nsProxyRelease.cpp1123 1124 1125 #1126 # The VBoxXPCOM Glue static libraries.1127 #1128 # See http://developer.mozilla.org/en/docs/XPCOM_Glue for details about the1129 # original XPCOM glue library purpose and usage.1130 #1131 # We don't really use the glue library in the described way because we don't1132 # provide frozen APIs (yet), so all VBox XPCOM client applications are1133 # dependent on the given version of both the VBox XPCOM runtime (binary1134 # dependency) and VirtualBox component library (COM interface dependency). For1135 # this reason, VBox client applications link to the VBox XPCOM shared library1136 # directly (instead of linking to the standalone XPCOM glue library that would1137 # dynamically search for and load the installed XPCOM runtime). For the same1138 # reason, we link all parts of XPCOM into a single shared XPCOM library below1139 # (as opposed to the original XPCOM where e.g. NSPR lives in a separate DLL).1140 #1141 VBoxXPCOMGlue_COMMON_SOURCES = \1142 xpcom/glue/nsCOMPtr.cpp \1143 xpcom/glue/nsComponentManagerUtils.cpp \1144 xpcom/glue/nsDebug.cpp \1145 xpcom/glue/nsGenericFactory.cpp \1146 xpcom/glue/nsIInterfaceRequestorUtils.cpp \1147 xpcom/glue/nsMemory.cpp \1148 xpcom/glue/nsTraceRefcnt.cpp \1149 xpcom/glue/nsWeakReference.cpp1150 1151 # dependent glue library which goes in to the VBoxXPCOM shared library1152 VBoxXPCOMGlue_s_TEMPLATE = XPCOM1153 VBoxXPCOMGlue_s_NOINST = 11154 VBoxXPCOMGlue_s_DEFS = _IMPL_NS_COM1155 VBoxXPCOMGlue_s_SOURCES = $(VBoxXPCOMGlue_COMMON_SOURCES)1156 1157 # standalone glue library which all third-party client apps (if any) will link with1158 # (currently not used anywhere (see above) but still built to make sure1159 # the code inside #ifdef XPCOM_GLUE compiles)1160 VBoxXPCOMGlue_TEMPLATE = XPCOM1161 VBoxXPCOMGlue_DEFS = XPCOM_GLUE1162 VBoxXPCOMGlue_SOURCES = $(VBoxXPCOMGlue_COMMON_SOURCES) \1163 xpcom/glue/standalone/nsXPCOMGlue.cpp \1164 xpcom/glue/standalone/nsGREDirServiceProvider.cpp1165 VBoxXPCOMGlue_SOURCES += \1166 $(TARGET_VBox-xpcom-string)1167 #VBoxXPCOMGlue_INST = lib/ $(INST_SDK)lib/1168 1169 1170 #1171 # The VBoxXPCOM Shared Object, assembling all lib files.1172 #1173 VBoxXPCOM_TEMPLATE = XPCOM1174 VBoxXPCOM_NAME = $(basename $(notdir $(LIB_XPCOM)))1175 VBoxXPCOM_DEFS = BUILD_DCONNECT="1" _IMPL_NS_COM1176 ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP1177 VBoxXPCOM_LDFLAGS.linux = -Wl,--version-script=$(XPCOM_C_NAMESPACE_MAP)1178 VBoxXPCOM_LNK_DEPS.linux += $(XPCOM_C_NAMESPACE_MAP)1179 VBoxXPCOM_LDFLAGS.solaris = -Wl,-M,$(XPCOM_C_NAMESPACE_MAP)1180 VBoxXPCOM_LNK_DEPS.solaris+= $(XPCOM_C_NAMESPACE_MAP)1181 endif1182 VBoxXPCOM_SOURCES = \1183 xpcom/build/nsXPComInit.cpp \1184 xpcom/build/nsStringAPI.cpp1185 VBoxXPCOM_SOURCES.darwin = \1186 vboxdeps.cpp1187 VBoxXPCOM_SOURCES.os2 = \1188 vboxdeps.cpp1189 VBoxXPCOM_SOURCES.solaris = \1190 vboxdeps.cpp1191 VBoxXPCOM_LIBS = \1192 $(TARGET_VBox-xpcom-typelib) \1193 $(TARGET_VBox-xpcom-string) \1194 $(TARGET_VBox-xpcom-base) \1195 $(TARGET_VBox-xpcom-ds) \1196 $(TARGET_VBox-xpcom-io) \1197 $(TARGET_VBox-xpcom-components) \1198 $(TARGET_VBox-xpcom-threads) \1199 $(TARGET_VBox-xpcom-xptinfo) \1200 $(TARGET_VBox-xpcom-xptcall) \1201 $(TARGET_VBox-xpcom-proxy) \1202 $(TARGET_VBox-xpcom-nspr) \1203 $(TARGET_VBoxXPCOMGlue_s)1204 VBoxXPCOM_LIBS.linux = \1205 pthread dl1206 1207 ifeq ($(filter-out freebsd l4 linux netbsd openbsd,$(KBUILD_TARGET)),) # gnu ld.1208 VBoxXPCOM_LDFLAGS = -Wl,--whole-archive \1209 $(TARGET_VBox-xpcom-typelib) \1210 $(TARGET_VBox-xpcom-string) \1211 $(TARGET_VBox-xpcom-base) \1212 $(TARGET_VBox-xpcom-ds) \1213 $(TARGET_VBox-xpcom-io) \1214 $(TARGET_VBox-xpcom-components) \1215 $(TARGET_VBox-xpcom-threads) \1216 $(TARGET_VBox-xpcom-xptinfo) \1217 $(TARGET_VBox-xpcom-xptcall) \1218 $(TARGET_VBox-xpcom-proxy) \1219 $(TARGET_VBox-xpcom-nspr) \1220 $(TARGET_VBoxXPCOMGlue_s) \1221 -Wl,--no-whole-archive1222 endif1223 1224 VBoxXPCOM_LDFLAGS.solaris += -Wl,-z,allextract \1225 $(TARGET_VBox-xpcom-typelib) \1226 $(TARGET_VBox-xpcom-string) \1227 $(TARGET_VBox-xpcom-base) \1228 $(TARGET_VBox-xpcom-ds) \1229 $(TARGET_VBox-xpcom-io) \1230 $(TARGET_VBox-xpcom-components) \1231 $(TARGET_VBox-xpcom-threads) \1232 $(TARGET_VBox-xpcom-xptinfo) \1233 $(TARGET_VBox-xpcom-xptcall) \1234 $(TARGET_VBox-xpcom-proxy) \1235 $(TARGET_VBox-xpcom-nspr) \1236 $(TARGET_VBoxXPCOMGlue_s) \1237 -Wl,-z,defaultextract1238 1239 #VBoxXPCOM_LIBS.l4 = $(L4_LIBDIR)/libxpcomstubs.a $(L4_LIBDIR)/../libuc_c++.a \1240 # $(VBOX_PATH_L4_GCC3_INSTALL)/libsupc++.a $(VBOX_PATH_L4_GCC3_INSTALL)/libgcc_eh.a1241 # EF heap1242 #VBoxXPCOM_LIBS += $(LIB_RUNTIME_EF)1243 #VBoxXPCOM_LDFLAGS = -Wl,--whole-archive $(VBoxXPCOM_LIBS) -Wl,--no-whole-archive $(LIB_RUNTIME)1244 VBoxXPCOM_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxXPCOM.dylib1245 1246 ifdef VBOX_IPC_RELEASE_LOG1247 IPC_LOGGING = 11248 else ifneq ($(KBUILD_TYPE),release)1249 IPC_LOGGING = 11250 endif1251 1252 TEMPLATE_XPCOMIPC = XPCOM IPC libraries1253 TEMPLATE_XPCOMIPC_EXTENDS = XPCOM1254 TEMPLATE_XPCOMIPC_DEFS = \1255 $(TEMPLATE_XPCOM_DEFS) BUILD_DCONNECT="1" \1256 IPC_DAEMON_APP_NAME=\"VBoxXPCOMIPCD$(SUFF_EXE)\"1257 ifdef IPC_LOGGING1258 TEMPLATE_XPCOMIPC_DEFS += IPC_LOGGING1259 endif1260 1261 TEMPLATE_XPCOMIPC_LIBS = $(TARGET_VBoxXPCOM) $(TEMPLATE_XPCOM_LIBS)1262 1263 TEMPLATE_XPCOMIPCEXE = XPCOM IPC executables1264 TEMPLATE_XPCOMIPCEXE_EXTENDS = XPCOMEXE1265 TEMPLATE_XPCOMIPCEXE_DEFS = $(TEMPLATE_XPCOMEXE_DEFS) BUILD_DCONNECT="1"1266 ifdef IPC_LOGGING1267 TEMPLATE_XPCOMIPCEXE_DEFS += IPC_LOGGING1268 endif1269 1270 VBox-xpcom-ipcutils_TEMPLATE = XPCOMIPC1271 VBox-xpcom-ipcutils_NOINST = 11272 VBox-xpcom-ipcutils_SOURCES = \1273 ipc/ipcd/util/src/ipcMessageReader.cpp \1274 ipc/ipcd/util/src/ipcMessageWriter.cpp1275 1276 VBox-xpcom-ipcshared_TEMPLATE = XPCOMIPC1277 VBox-xpcom-ipcshared_NOINST = 11278 VBox-xpcom-ipcshared_SOURCES = \1279 ipc/ipcd/shared/src/ipcLog.cpp \1280 ipc/ipcd/shared/src/ipcConfig.cpp \1281 ipc/ipcd/shared/src/ipcMessage.cpp \1282 ipc/ipcd/shared/src/ipcMessagePrimitives.cpp \1283 ipc/ipcd/shared/src/ipcStringList.cpp \1284 ipc/ipcd/shared/src/ipcIDList.cpp \1285 ipc/ipcd/shared/src/ipcm.cpp1286 1287 VBox-xpcom-ipcdlock_TEMPLATE = XPCOMIPC1288 VBox-xpcom-ipcdlock_NOINST = 11289 VBox-xpcom-ipcdlock_SOURCES = \1290 ipc/ipcd/extensions/lock/src/ipcLockProtocol.cpp \1291 ipc/ipcd/extensions/lock/src/ipcLockService.cpp1292 1293 VBox-xpcom-ipctransmgr_TEMPLATE = XPCOMIPC1294 VBox-xpcom-ipctransmgr_NOINST = 11295 VBox-xpcom-ipctransmgr_SOURCES = \1296 ipc/ipcd/extensions/transmngr/src/tmTransactionService.cpp1297 1298 VBox-xpcom-ipctmgrcom_TEMPLATE = XPCOMIPC1299 VBox-xpcom-ipctmgrcom_NOINST = 11300 VBox-xpcom-ipctmgrcom_SOURCES = \1301 ipc/ipcd/extensions/transmngr/common/tmTransaction.cpp \1302 ipc/ipcd/extensions/transmngr/common/tmVector.cpp1303 1304 1305 #1306 # DCONNECT client shared object1307 #1308 VBoxXPCOMIPCC_TEMPLATE = XPCOMIPC1309 VBoxXPCOMIPCC_NAME.os2 = VBoxIPCC1310 VBoxXPCOMIPCC_INST = $(INST_BIN)components/1311 #VBoxXPCOMIPCC_DEFS = HAVE_DEPENDENT_LIBS - dependentLibs.h is linux specific, so this cannot be required.1312 VBoxXPCOMIPCC_SOURCES = \1313 ipc/ipcd/client/src/ipcdclient.cpp \1314 ipc/ipcd/client/src/ipcService.cpp \1315 ipc/ipcd/client/src/ipcModuleFactory.cpp \1316 ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp1317 ifeq ($(KBUILD_TARGET),win)1318 VBoxXPCOMIPCC_SOURCES += \1319 ipc/ipcd/client/src/ipcConnectionWin.cpp1320 else1321 VBoxXPCOMIPCC_SOURCES += \1322 ipc/ipcd/client/src/ipcConnectionUnix.cpp1323 endif1324 VBoxXPCOMIPCC_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxXPCOMIPCC.dylib1325 VBoxXPCOMIPCC_LIBS = \1326 $(TARGET_VBox-xpcom-ipcutils) \1327 $(TARGET_VBox-xpcom-ipcshared) \1328 $(TARGET_VBox-xpcom-ipcdlock) \1329 $(TARGET_VBox-xpcom-ipctransmgr) \1330 $(TARGET_VBox-xpcom-ipctmgrcom)1331 # EF1332 #VBoxXPCOMIPCC_LIBS += $(LIB_RUNTIME)1333 1334 1335 #1336 # DCONNECT daemon executable1337 #1338 VBoxXPCOMIPCD_TEMPLATE = XPCOMIPCEXE1339 VBoxXPCOMIPCD_SOURCES = \1340 ipc/ipcd/daemon/src/ipcd.cpp \1341 ipc/ipcd/daemon/src/ipcClient.cpp \1342 ipc/ipcd/daemon/src/ipcModuleReg.cpp \1343 ipc/ipcd/daemon/src/ipcCommandModule.cpp1344 ifeq ($(KBUILD_TARGET),win)1345 VBoxXPCOMIPCD_SOURCES += \1346 ipc/ipcd/daemon/src/ipcdWin.cpp1347 else1348 VBoxXPCOMIPCD_SOURCES += \1349 ipc/ipcd/daemon/src/ipcdUnix.cpp1350 endif1351 1352 1353 #1354 # Python<->XPCOM bridge.1355 #1356 1357 # Find the Python headers for the Python<->XPCOM bridge if enabled.1358 ifdef VBOX_WITH_PYTHON1359 include $(PATH_SUB_CURRENT)/python/Makefile.kmk1360 endif # VBOX_WITH_PYTHON1361 1362 ifdef VBOX_WITH_JXPCOM1363 include $(PATH_SUB_CURRENT)/java/Makefile.kmk1364 endif # VBOX_WITH_JXPCOM1365 1366 #1367 # testcases1368 #1369 tstnsIFileEnumerator_TEMPLATE = XPCOMTSTEXE1370 tstnsIFileEnumerator_SOURCES = xpcom/tests/nsIFileEnumerator.cpp1371 tstnsIFileTest_TEMPLATE = XPCOMTSTEXE1372 tstnsIFileTest_SOURCES = xpcom/tests/nsIFileTest.cpp1373 tstTestArray_TEMPLATE = XPCOMTSTEXE1374 tstTestArray_SOURCES = xpcom/tests/TestArray.cpp1375 tstTestAtoms_TEMPLATE = XPCOMTSTEXE1376 tstTestAtoms_SOURCES = xpcom/tests/TestAtoms.cpp1377 tstTestAutoLock_TEMPLATE = XPCOMTSTEXE1378 tstTestAutoLock_SOURCES = xpcom/tests/TestAutoLock.cpp1379 tstTestCallTemplates_TEMPLATE = XPCOMTSTEXE1380 tstTestCallTemplates_SOURCES = xpcom/tests/TestCallTemplates.cpp1381 tstTestCOMPtr_TEMPLATE = XPCOMTSTEXE1382 tstTestCOMPtr_SOURCES = xpcom/tests/TestCOMPtr.cpp1383 tstTestCOMPtrEq_TEMPLATE = XPCOMTSTEXE1384 tstTestCOMPtrEq_SOURCES = xpcom/tests/TestCOMPtrEq.cpp1385 tstTestCRT_TEMPLATE = XPCOMTSTEXE1386 tstTestCRT_SOURCES = xpcom/tests/TestCRT.cpp1387 tstTestFactory_TEMPLATE = XPCOMTSTEXE1388 tstTestFactory_SOURCES = xpcom/tests/TestFactory.cpp1389 tstTestHashtables_TEMPLATE = XPCOMTSTEXE1390 tstTestHashtables_SOURCES = xpcom/tests/TestHashtables.cpp1391 tstTestID_TEMPLATE = XPCOMTSTEXE1392 tstTestID_SOURCES = xpcom/tests/TestID.cpp1393 tstTestObserverService_TEMPLATE= XPCOMTSTEXE1394 tstTestObserverService_SOURCES = xpcom/tests/TestObserverService.cpp1395 tstTestPermanentAtoms_TEMPLATE = XPCOMTSTEXE1396 tstTestPermanentAtoms_SOURCES = xpcom/tests/TestPermanentAtoms.cpp1397 tstTestPipes_TEMPLATE = XPCOMTSTEXE1398 tstTestPipes_SOURCES = xpcom/tests/TestPipes.cpp1399 tstTestServMgr_TEMPLATE = XPCOMTSTEXE1400 tstTestServMgr_SOURCES = xpcom/tests/TestServMgr.cpp1401 tstTestServMgr_INCS = xpcom/tests/services1402 tstTestThreads_TEMPLATE = XPCOMTSTEXE1403 tstTestThreads_SOURCES = xpcom/tests/TestThreads.cpp1404 tstTestXPIDLString_TEMPLATE = XPCOMTSTEXE1405 tstTestXPIDLString_SOURCES = xpcom/tests/TestXPIDLString.cpp1406 tstTestDeque_TEMPLATE = XPCOMTSTEXE1407 tstTestDeque_SOURCES = xpcom/tests/TestDeque.cpp1408 tstTestAutoPtr_TEMPLATE = XPCOMTSTEXE1409 tstTestAutoPtr_SOURCES = xpcom/tests/TestAutoPtr.cpp1410 tstTestMinStringAPI_TEMPLATE = XPCOMTSTEXE1411 tstTestMinStringAPI_SOURCES = xpcom/tests/TestMinStringAPI.cpp1412 tstTestStrings_TEMPLATE = XPCOMTSTEXE1413 tstTestStrings_SOURCES = xpcom/tests/TestStrings.cpp1414 tstPrimitiveTest_TEMPLATE = XPCOMTSTEXE1415 tstPrimitiveTest_SOURCES = xpcom/typelib/xpt/tests/PrimitiveTest.c1416 tstSimpleTypeLib_TEMPLATE = XPCOMTSTEXE1417 tstSimpleTypeLib_SOURCES = xpcom/typelib/xpt/tests/SimpleTypeLib.c1418 tstXptDump_TEMPLATE = XPCOMTSTEXE1419 tstXptDump_SOURCES = xpcom/typelib/xpt/tools/xpt_dump.c1420 tstXptLink_TEMPLATE = XPCOMTSTEXE1421 tstXptLink_SOURCES = xpcom/typelib/xpt/tools/xpt_link.c1422 1423 1424 1425 1426 XPCOM_IDLFILES = \1427 xpcom/base/nsIDebug.idl \1428 xpcom/base/nsIInterfaceRequestor.idl \1429 xpcom/base/nsIMemory.idl \1430 xpcom/base/nsIProgrammingLanguage.idl \1431 xpcom/base/nsISupports.idl \1432 xpcom/base/nsITraceRefcnt.idl \1433 xpcom/base/nsIWeakReference.idl \1434 xpcom/base/nsIConsoleMessage.idl \1435 xpcom/base/nsIConsoleService.idl \1436 xpcom/base/nsIConsoleListener.idl \1437 xpcom/base/nsIErrorService.idl \1438 xpcom/base/nsIException.idl \1439 xpcom/base/nsIExceptionService.idl \1440 xpcom/base/nsrootidl.idl \1441 xpcom/components/nsIClassInfo.idl \1442 xpcom/components/nsIComponentRegistrar.idl \1443 xpcom/components/nsIFactory.idl \1444 xpcom/components/nsIModule.idl \1445 xpcom/components/nsIServiceManager.idl \1446 xpcom/components/nsIComponentManager.idl \1447 xpcom/components/nsICategoryManager.idl \1448 xpcom/components/nsIComponentLoader.idl \1449 xpcom/components/nsINativeComponentLoader.idl \1450 xpcom/components/nsIComponentManagerObsolete.idl \1451 xpcom/components/nsIComponentLoaderManager.idl \1452 xpcom/ds/nsISupportsArray.idl \1453 xpcom/ds/nsICollection.idl \1454 xpcom/ds/nsISerializable.idl \1455 xpcom/ds/nsIEnumerator.idl \1456 xpcom/ds/nsISimpleEnumerator.idl \1457 xpcom/ds/nsIObserverService.idl \1458 xpcom/ds/nsIObserver.idl \1459 xpcom/ds/nsIAtom.idl \1460 xpcom/ds/nsIAtomService.idl \1461 xpcom/ds/nsIProperties.idl \1462 xpcom/ds/nsIPersistentProperties2.idl \1463 xpcom/ds/nsIRecyclingAllocator.idl \1464 xpcom/ds/nsIStringEnumerator.idl \1465 xpcom/ds/nsISupportsPrimitives.idl \1466 xpcom/ds/nsISupportsIterators.idl \1467 xpcom/ds/nsIVariant.idl \1468 xpcom/ds/nsITimelineService.idl \1469 xpcom/ds/nsIArray.idl \1470 xpcom/ds/nsIPropertyBag.idl \1471 xpcom/ds/nsIHashable.idl \1472 xpcom/io/nsIDirectoryService.idl \1473 xpcom/io/nsIDirectoryEnumerator.idl \1474 xpcom/io/nsIFile.idl \1475 xpcom/io/nsILocalFile.idl \1476 xpcom/io/nsILocalFileMac.idl \1477 xpcom/io/nsIInputStream.idl \1478 xpcom/io/nsIObjectInputStream.idl \1479 xpcom/io/nsIBinaryInputStream.idl \1480 xpcom/io/nsIObjectOutputStream.idl \1481 xpcom/io/nsIBinaryOutputStream.idl \1482 xpcom/io/nsIOutputStream.idl \1483 xpcom/io/nsIStreamBufferAccess.idl \1484 xpcom/io/nsIByteArrayInputStream.idl \1485 xpcom/io/nsISeekableStream.idl \1486 xpcom/io/nsIFastLoadFileControl.idl \1487 xpcom/io/nsIFastLoadService.idl \1488 xpcom/io/nsIInputStreamTee.idl \1489 xpcom/io/nsIMultiplexInputStream.idl \1490 xpcom/io/nsIPipe.idl \1491 xpcom/io/nsIAsyncInputStream.idl \1492 xpcom/io/nsIAsyncOutputStream.idl \1493 xpcom/io/nsIScriptableInputStream.idl \1494 xpcom/io/nsIStorageStream.idl \1495 xpcom/io/nsIStringStream.idl \1496 xpcom/io/nsILineInputStream.idl \1497 xpcom/proxy/public/nsIProxyObjectManager.idl \1498 xpcom/threads/nsIEventQueueService.idl \1499 xpcom/threads/nsIEventQueue.idl \1500 xpcom/threads/nsIEventTarget.idl \1501 xpcom/threads/nsIRunnable.idl \1502 xpcom/threads/nsIThread.idl \1503 xpcom/threads/nsITimer.idl \1504 xpcom/threads/nsIEnvironment.idl \1505 xpcom/threads/nsITimerInternal.idl \1506 xpcom/threads/nsITimerManager.idl \1507 xpcom/threads/nsIProcess.idl \1508 xpcom/reflect/xptinfo/public/nsIInterfaceInfo.idl \1509 xpcom/reflect/xptinfo/public/nsIInterfaceInfoManager.idl \1510 xpcom/reflect/xptinfo/public/nsIXPTLoader.idl \1511 ipc/ipcd/client/public/ipcIService.idl \1512 ipc/ipcd/client/public/ipcIMessageObserver.idl \1513 ipc/ipcd/client/public/ipcIClientObserver.idl \1514 ipc/ipcd/extensions/lock/public/ipcILockService.idl \1515 ipc/ipcd/extensions/transmngr/public/ipcITransactionService.idl \1516 ipc/ipcd/extensions/dconnect/public/ipcIDConnectService.idl \1517 ipc/ipcd/extensions/transmngr/public/ipcITransactionObserver.idl1518 1519 1520 OTHER_CLEAN += \1521 $(PATH_VBox-xpcom-string)/idl_ts \1522 $(addprefix $(VBOX_PATH_SDK)/bindings/xpcom/include,$(notdir $(subst .idl,.h,$(XPCOM_IDLFILES)))) \1523 $(addprefix $(VBOX_PATH_SDK)/bindings/xpcom/include,$(notdir $(subst .idl,.xpt,$(XPCOM_IDLFILES)))) \1524 $(addprefix $(VBOX_PATH_SDK)/bindings/xpcom/idl/,$(notdir $(XPCOM_IDLFILES))) \1525 $(addprefix $(PATH_TARGET)/VBox-xpcom-xpt-files/,$(notdir $(subst .idl,.xpt,$(XPCOM_IDLFILES))))1526 1527 1528 #1529 # Create and install VBoxXPCOMBase.xpt1530 #1531 INSTALLS += VBoxXPCOMBase-xpt-inst1532 VBOX_XPTFILES = $(addprefix $(PATH_TARGET)/VBox-xpcom-xpt-files/, \1533 nsIConsoleListener.xpt \1534 nsIConsoleMessage.xpt \1535 nsIConsoleService.xpt \1536 nsIErrorService.xpt \1537 nsIException.xpt \1538 nsIExceptionService.xpt \1539 nsIDebug.xpt \1540 nsIInterfaceRequestor.xpt \1541 nsIMemory.xpt \1542 nsIProgrammingLanguage.xpt \1543 nsISupports.xpt \1544 nsITraceRefcnt.xpt \1545 nsIWeakReference.xpt \1546 nsrootidl.xpt \1547 nsIAtom.xpt \1548 nsIAtomService.xpt \1549 nsICollection.xpt \1550 nsIEnumerator.xpt \1551 nsIPersistentProperties2.xpt \1552 nsIPropertyBag.xpt \1553 nsIRecyclingAllocator.xpt \1554 nsIVariant.xpt \1555 nsISerializable.xpt \1556 nsIStringEnumerator.xpt \1557 nsISupportsArray.xpt \1558 nsISupportsIterators.xpt \1559 nsITimelineService.xpt \1560 nsIArray.xpt \1561 nsIObserverService.xpt \1562 nsIObserver.xpt \1563 nsIProperties.xpt \1564 nsISimpleEnumerator.xpt \1565 nsISupportsPrimitives.xpt \1566 nsIBinaryInputStream.xpt \1567 nsIBinaryOutputStream.xpt \1568 nsIByteArrayInputStream.xpt \1569 nsIFastLoadFileControl.xpt \1570 nsIFastLoadService.xpt \1571 nsIInputStreamTee.xpt \1572 nsILineInputStream.xpt \1573 nsIMultiplexInputStream.xpt \1574 nsIObjectInputStream.xpt \1575 nsIObjectOutputStream.xpt \1576 nsIPipe.xpt \1577 nsISeekableStream.xpt \1578 nsIStorageStream.xpt \1579 nsIStringStream.xpt \1580 nsIStreamBufferAccess.xpt \1581 nsIAsyncInputStream.xpt \1582 nsIAsyncOutputStream.xpt \1583 nsIDirectoryService.xpt \1584 nsIFile.xpt \1585 nsILocalFile.xpt \1586 nsIInputStream.xpt \1587 nsIOutputStream.xpt \1588 nsIScriptableInputStream.xpt \1589 nsIComponentLoader.xpt \1590 nsIComponentLoaderManager.xpt \1591 nsIComponentManagerObsolete.xpt \1592 nsINativeComponentLoader.xpt \1593 nsIClassInfo.xpt \1594 nsIComponentRegistrar.xpt \1595 nsIFactory.xpt \1596 nsIModule.xpt \1597 nsIServiceManager.xpt \1598 nsIComponentManager.xpt \1599 nsICategoryManager.xpt \1600 nsIThread.xpt \1601 nsITimer.xpt \1602 nsITimerInternal.xpt \1603 nsITimerManager.xpt \1604 nsIRunnable.xpt \1605 nsIEventTarget.xpt \1606 nsIEventQueue.xpt \1607 nsIEventQueueService.xpt \1608 nsIEnvironment.xpt \1609 nsIProcess.xpt \1610 nsIInterfaceInfo.xpt \1611 nsIInterfaceInfoManager.xpt \1612 nsIXPTLoader.xpt)1613 1614 VBoxXPCOMBase-xpt-inst_INST = $(INST_BIN)components/1615 VBoxXPCOMBase-xpt-inst_MODE = 06441616 VBoxXPCOMBase-xpt-inst_SOURCES = \1617 $(PATH_TARGET)/VBox-xpcom-xpt-files/VBoxXPCOMBase.xpt1618 VBoxXPCOMBase-xpt-inst_CLEAN = \1619 $(VBOX_XPTFILES) \1620 $(PATH_TARGET)/VBox-xpcom-xpt-files/VBoxXPCOMBase.xpt1621 1622 # combined typelib library1623 $(PATH_TARGET)/VBox-xpcom-xpt-files/VBoxXPCOMBase.xpt: $$(VBOX_XPTFILES) | $$(TARGET_xpt_link) $(PATH_TARGET)/VBox-xpcom-xpt-files/1624 $(call MSG_LINK,XPCOM_TYPELIB,$@)1625 $(QUIET)$(MKDIR) -p -- $(PATH_BIN)/components1626 $(QUIET)$(TARGET_xpt_link) $@ $^1627 1628 1629 1630 # generate rules1631 include $(KBUILD_PATH)/subfooter.kmk1632 1633 1634 1635 #1636 # Generate IDL rules.1637 #1638 1639 ##1640 # Define for compiling one IDL into a header and a typelib1641 # @param idl The filename with everything.1642 XPIDL_INCS = \1643 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/base/ \1644 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/ds/ \1645 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/components/ \1646 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/io/ \1647 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/threads/ \1648 -I $(VBOX_PATH_XPCOM_SRC)/xpcom/reflect/xptinfo/public/1649 define def_IDL1650 $(VBOX_PATH_SDK)/bindings/xpcom/include/$(notdir $(subst .idl,.h,$(idl))) \1651 + $(PATH_TARGET)/VBox-xpcom-xpt-files/$(notdir $(subst .idl,.xpt,$(idl))): \1652 $(VBOX_PATH_XPCOM_SRC)/$(idl) \1653 | $$$$(TARGET_xpidl) \1654 $(PATH_TARGET)/VBox-xpcom-xpt-files/1655 $$(call MSG_TOOL,xpidl,XPCOM,$$<,$$@)1656 $$(QUIET)$(MKDIR) -p $(VBOX_PATH_SDK)/bindings/xpcom/include $(VBOX_PATH_SDK)/bindings/xpcom/idl1657 $$(QUIET)$$(TARGET_xpidl) -m header $(XPIDL_INCS) -e $$@ $$<1658 $$(QUIET)$$(TARGET_xpidl) -m typelib $(XPIDL_INCS) -e $(addprefix $(PATH_TARGET)/VBox-xpcom-xpt-files/,$(notdir $(subst .idl,.xpt,$(idl)))) $$<1659 $$(QUIET)$(CP) $$< $$(VBOX_PATH_SDK)/bindings/xpcom/idl1660 endef1661 1662 $(foreach idl, $(XPCOM_IDLFILES), $(eval $(def_IDL)))1663 1664 # dummy target.1665 $(PATH_VBox-xpcom-string)/idl_ts: $$(addprefix $$(VBOX_PATH_SDK)/bindings/xpcom/include/,$$(notdir $$(subst .idl,.h,$$(XPCOM_IDLFILES))))1666 $(call MSG_L1,IDL processing completed.)1667 $(QUIET)$(MKDIR) -p $(dir $@)1668 $(QUIET)$(APPEND) -t $@1669 1670 #1671 # HACK ALERT! Make sure main doesn't start using xpidl before we're done1672 # with the idl files here. The trick here is that we're using TARGET_xpidl,1673 # i.e. the copy residing in obj/, while VBOX_XPIDL is pointing to1674 # INSTARGET_xpidl which is the one in bin/.1675 #1676 $(VBOX_XPIDL): $$(PATH_VBox-xpcom-string)/idl_ts1677 1678 1679 #1680 # Generate linker map file filtering out unwanted global symbols.1681 #1682 $(PATH_TARGET)/xpcom-namespace-cleanup.map foo.map: $$(VBoxXPCOM_LIBS) $$(VBoxXPCOM_OBJS_)1683 $(call MSG_L1, Creating linker map $@ for scrubbing the symbol namespace)1684 $(QUIET)$(APPEND) -t $@ '{ local: *; global: '1685 $(QUIET)$(VBOX_NM) -p -g $^ \1686 | $(SED) -n \1687 -e '/^$$/b' \1688 -e '/:$$/b' \1689 -e '/ U /b' \1690 -e 's/^[^ ]* [A-Z] \(.*\)$$/\1/' \1691 -e 's/\<_Z[^ ]*$$/&;/p' \1692 -e 's/\<VBoxNs[^ ]*$$/&;/p' \1693 -e 's/\<_edata$$/&;/p' \1694 -e 's/\<_end$$/&;/p' \1695 -e 's/\<_etext$$/&;/p'\1696 -e 's/\<_fini$$/&;/p' \1697 -e 's/\<_init$$/&;/p' \1698 --append $@1699 $(QUIET)$(APPEND) $@ '};'1700 -
trunk/src/libs/xpcom18a4/Makefile.kmk
r28913 r29064 39 39 40 40 # 41 # Globals.42 #43 VBOX_PATH_XPCOM_SRC := $(PATH_SUB_CURRENT)44 45 BLDDIRS += $(PATH_TARGET)/VBox-xpcom-xpt-files/46 47 48 #49 # Template for building the XPCOM libraries (shared).50 #51 TEMPLATE_XPCOM = XPCOM libraries (shared)52 TEMPLATE_XPCOM_EXTENDS = VBOXR3NP53 ## @todo correct inheritance here to make it use all the VBOXR3NP settings instead of overriding all of them.54 TEMPLATE_XPCOM_ASTOOL = $(TEMPLATE_VBOXR3NP_TOOL)55 TEMPLATE_XPCOM_ASFLAGS = $(NO_SUCH_VARIABLE)56 TEMPLATE_XPCOM_ASFLAGS.x86 = -m3257 TEMPLATE_XPCOM_ASFLAGS.amd64 = -m6458 TEMPLATE_XPCOM_ASDEFS = $(NO_SUCH_VARIABLE)59 TEMPLATE_XPCOM_CXXFLAGS = -g -pipe -ansi -Wall -Wno-unused -Wno-non-virtual-dtor \60 $(VBOX_GCC_Wno-invalid-offsetof) -Wno-sign-compare -Wno-unused -Wno-ctor-dtor-privacy \61 $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fdiagnostics-show-option)62 TEMPLATE_XPCOM_CXXFLAGS.x86 = -m3263 TEMPLATE_XPCOM_CXXFLAGS.amd64 = -m6464 TEMPLATE_XPCOM_CXXFLAGS.release = -O65 TEMPLATE_XPCOM_CXXFLAGS.profile = -O66 TEMPLATE_XPCOM_CXXFLAGS.darwin = -fpascal-strings -fshort-wchar -fno-common -fno-rtti $(VBOX_DARWIN_DEF_SDK_CXXFLAGS)67 TEMPLATE_XPCOM_CXXFLAGS.freebsd = -pthread68 TEMPLATE_XPCOM_CXXFLAGS.l4 = -fno-exceptions -nostdinc69 TEMPLATE_XPCOM_CXXFLAGS.linux = -pthread70 TEMPLATE_XPCOM_CXXFLAGS.solaris = -fno-omit-frame-pointer # for now anyway.71 TEMPLATE_XPCOM_CFLAGS = -g -pipe -Wall -Wno-unused -Wno-parentheses -Wno-uninitialized $(VBOX_GCC_fvisibility-hidden) \72 $(VBOX_GCC_fdiagnostics-show-option)73 TEMPLATE_XPCOM_CFLAGS.x86 = -m3274 TEMPLATE_XPCOM_CFLAGS.amd64 = -m6475 TEMPLATE_XPCOM_CFLAGS.release = -O76 TEMPLATE_XPCOM_CFLAGS.profile = -O77 TEMPLATE_XPCOM_CFLAGS.freebsd = -pthread78 TEMPLATE_XPCOM_CFLAGS.l4 = -nostdinc79 TEMPLATE_XPCOM_CFLAGS.linux = -pthread -ansi80 TEMPLATE_XPCOM_CFLAGS.solaris = -fno-omit-frame-pointer # for now anyway.81 TEMPLATE_XPCOM_DEFS = MOZILLA_CLIENT=1 NDEBUG=1 _IMPL_NS_COM \82 XPCOM_DLL_BASE=\"$(basename $(notdir $(LIB_XPCOM)))\" \83 MOZ_DLL_SUFFIX=\"$(suffix $(LIB_XPCOM))\" \84 IN_RING385 ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP86 TEMPLATE_XPCOM_DEFS += VBOX_WITH_XPCOM_NAMESPACE_CLEANUP87 endif88 TEMPLATE_XPCOM_DEFS.x86 = i386=189 TEMPLATE_XPCOM_DEFS.amd64 = HAVE_VA_LIST_AS_ARRAY HAVE_VA_COPY VA_COPY\(a\,b\)=__builtin_va_copy\(a\,b\)90 TEMPLATE_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)91 TEMPLATE_XPCOM_DEFS.darwin.amd64 = VBOX_MACOSX_FOLLOWS_UNIX_IO92 TEMPLATE_XPCOM_DEFS.freebsd = OSTYPE=\"FreeBSD5+\" OSARCH=\"FreeBSD\" XP_UNIX=1 FREEBSD=1 HAVE_VISIBILITY_ATTRIBUTE=193 TEMPLATE_XPCOM_DEFS.linux = OSTYPE=\"Linux2.6\" OSARCH=\"Linux\" XP_UNIX=1 _GNU_SOURCE HAVE_VISIBILITY_ATTRIBUTE=1 ## @todo LINUX=194 TEMPLATE_XPCOM_DEFS.l4 = OSTYPE=\"L4ENV\" OSARCH=\"L4\" XP_UNIX=1 L4ENV HAVE_VISIBILITY_ATTRIBUTE=195 # Don't define BSD_SELECT because bsdselect() from kLIBC <= 0.6.3 has problems on SMP96 TEMPLATE_XPCOM_DEFS.os2 = OSTYPE=\"OS/2_4.5\" OSARCH=\"OS/2\" XP_OS2 XP_PC OS2=497 TEMPLATE_XPCOM_DEFS.solaris = OSTYPE=\"Solaris10\" OSARCH=\"Solaris\" XP_UNIX=1 XP_SOLARIS=1 HAVE_LIBDL=1 HAVE_SENDFILEV=1 SOLARIS=1 _REENTRANT98 ## @todo The LDFLAGS inheriting is being hidden here and below where -fPIC is added.99 ifdef VBOX_WITH_RUNPATH100 TEMPLATE_XPCOM_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)'101 else ifdef VBOX_WITH_RELATIVE_RUNPATH102 TEMPLATE_XPCOM_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'103 endif104 TEMPLATE_XPCOM_LDFLAGS.x86 = -m32105 TEMPLATE_XPCOM_LDFLAGS.amd64 = -m64106 TEMPLATE_XPCOM_LDFLAGS.darwin = $(TEMPLATE_VBOXR3NP_LDFLAGS.darwin) \107 -fshort-wchar -fno-rtti -fno-exceptions -fpascal-strings \108 -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \109 -compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \110 -framework CoreServices \111 -framework CoreFoundation \112 -framework Foundation \113 -framework AppKit \114 -framework Carbon115 ## @todo wy is -fno-exceptions here.116 ifn1of ($(KBUILD_TARGET), os2 win)117 TEMPLATE_XPCOM_CXXFLAGS += -fPIC118 TEMPLATE_XPCOM_CFLAGS += -fPIC119 TEMPLATE_XPCOM_LDFLAGS += -fPIC120 TEMPLATE_XPCOM_DEFS += MOZ_PRESERVE_PIC121 endif122 TEMPLATE_XPCOM_INCS = xpcom/build \123 xpcom/ds \124 xpcom/io \125 xpcom/base \126 xpcom/components \127 xpcom/threads \128 xpcom/proxy/src \129 xpcom/reflect/xptcall/src \130 ipc/ipcd/client/src \131 ipc/ipcd/shared/src \132 ipc/ipcd/extensions/lock/src \133 ipc/ipcd/extensions/transmngr/src \134 ipc/ipcd/extensions/dconnect/src \135 ipc/ipcd/extensions/transmngr/common \136 $(VBOX_PATH_SDK)/bindings/xpcom/include \137 $(VBOX_PATH_SDK)/bindings/xpcom/include/nsprpub \138 $(VBOX_PATH_SDK)/bindings/xpcom/include/string \139 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom \140 $(VBOX_PATH_SDK)/bindings/xpcom/include/ipcd \141 .142 TEMPLATE_XPCOM_INCS.darwin = $(VBOX_PATH_MACOSX_SDK)/Developer/Headers/FlatCarbon143 TEMPLATE_XPCOM_INCS.l4 = $(L4_INCDIR) $(VBOX_L4_GCC3_INCS)144 TEMPLATE_XPCOM_LDFLAGS.l4 = $(L4_DIR)/lib/x86_586/crt0.o \145 -T$(L4_DIR)/lib/x86_586/main_rel.ld -nostdlib \146 # -Wl,--whole-archive,--no-allow-shlib-undefined147 TEMPLATE_XPCOM_LIBS.l4 = $(VBOX_GCC_LIBGCC)148 TEMPLATE_XPCOM_LIBS.solaris = sendfile149 TEMPLATE_XPCOM_ORDERDEPS = $(foreach hdrinst, $(filter %-HEADERS, $(INSTALLS)), $(TARGET_$(hdrinst))) \150 $(PATH_VBox-xpcom-string)/idl_ts151 ifeq ($(KBUILD_TARGET),os2)152 ifndef USE_OS2_TOOLKIT_HEADERS153 TEMPLATE_XPCOM_DEFS.os2 += OS2EMX_PLAIN_CHAR154 endif155 TEMPLATE_XPCOM_DEFS.os2 += XP_OS2_EMX OS2=4156 # this is at least for strnicmp()157 TEMPLATE_XPCOM_DEFS.os2 += _EMX_SOURCE158 # @@todo shouldn't this be somehow default for ASTOOL?159 TEMPLATE_XPCOM_ASFLAGS.os2 += -Zomf160 endif161 162 # When using IPRT in NSRP or/and using IPRT for logging, link with IPRT.163 TEMPLATE_XPCOM_LIBS += $(LIB_RUNTIME)164 165 #166 # Template for building the XPCOM executables.167 # Used as a base template by XPCOMTSTEXE and XPCOMIPCEXE.168 #169 TEMPLATE_XPCOMEXE = XPCOM executable files170 TEMPLATE_XPCOMEXE_EXTENDS = XPCOM171 ## @todo undo -fPIC.172 TEMPLATE_XPCOMEXE_INCS = ipc/ipcd/shared/src \173 $(VBOX_PATH_SDK)/bindings/xpcom/include \174 $(VBOX_PATH_SDK)/bindings/xpcom/include/nsprpub \175 $(VBOX_PATH_SDK)/bindings/xpcom/include/string \176 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom \177 $(VBOX_PATH_SDK)/bindings/xpcom/include/ipcd \178 .179 TEMPLATE_XPCOMEXE_LIBS = \180 $(TARGET_VBox-xpcom-ipcshared) \181 $(TARGET_VBoxXPCOM) \182 $(TEMPLATE_XPCOM_LIBS)183 TEMPLATE_XPCOMEXE_LIBS.freebsd = $(LIB_PTHREAD)184 TEMPLATE_XPCOMEXE_LIBS.linux = dl $(LIB_PTHREAD)185 TEMPLATE_XPCOMEXE_LIBS.l4 = $(LIB_RUNTIME) $(VBOX_GCC_LIBGCC)186 TEMPLATE_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))187 TEMPLATE_XPCOMEXE_LDFLAGS.l4 = $(L4_DIR)/lib/x86_586/crt0.o \188 -T$(L4_DIR)/lib/x86_586/main_dyn.ld -nostdlib -lgcc \189 -Wl,--export-dynamic,--dynamic-linker=libld-l4.s.so \190 -Wl,--rpath-link,$(L4_LIBDIR) \191 # -Wl,--whole-archive,--no-allow-shlib-undefined192 # -Wno-format193 194 195 #196 # Template for building the XPCOM testcase executables197 #198 TEMPLATE_XPCOMTSTEXE = XPCOM executable files (testcases)199 TEMPLATE_XPCOMTSTEXE_EXTENDS = XPCOMEXE200 TEMPLATE_XPCOMTSTEXE_CXXFLAGS = $(TEMPLATE_XPCOMEXE_CXXFLAGS) -Wno-format201 TEMPLATE_XPCOMTSTEXE_CFLAGS = $(TEMPLATE_XPCOMEXE_CFLAGS) -Wno-format202 203 204 #205 # Template for building XPCOM executables for running at build time.206 #207 # It extends the BLDPROG template in config.kmk but overrides CFLAGS208 # and CXXFLAGS completely at the moment.209 #210 TEMPLATE_XPCOMBLDPROG = XPCOM Build programs executables211 TEMPLATE_XPCOMBLDPROG_EXTENDS = VBOXBLDPROG212 ## @todo Verify that this doesn't blow up because of template inheriance ordering. (we're assuming XPCOMEXE is expanded when this is being used.)213 TEMPLATE_XPCOMBLDPROG_DEFS = $(TEMPLATE_VBOXBLDPROG_DEFS) $(TEMPLATE_XPCOMEXE_DEFS)214 TEMPLATE_XPCOMBLDPROG_DEFS.$(KBUILD_HOST) = $(TEMPLATE_VBOXBLDPROG_DEFS.$(KBUILD_HOST)) $(TEMPLATE_XPCOMEXE_DEFS.$(KBUILD_HOST))215 TEMPLATE_XPCOMBLDPROG_DEFS.x86 = $(TEMPLATE_VBOXBLDPROG_DEFS.x86) $(TEMPLATE_XPCOMEXE_DEFS.x86)216 TEMPLATE_XPCOMBLDPROG_DEFS.amd64 = $(TEMPLATE_VBOXBLDPROG_DEFS.amd64) $(TEMPLATE_XPCOMEXE_DEFS.amd64)217 TEMPLATE_XPCOMBLDPROG_INCS = \218 $(VBOX_PATH_SDK)/bindings/xpcom/include \219 $(VBOX_PATH_SDK)/bindings/xpcom/include/nsprpub \220 $(VBOX_PATH_SDK)/bindings/xpcom/include/string \221 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom \222 $(VBOX_PATH_SDK)/bindings/xpcom/include/ipcd223 TEMPLATE_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-format224 TEMPLATE_XPCOMBLDPROG_CXXFLAGS.darwin = $(TEMPLATE_VBOXBLDPROG_CXXFLAGS.darwin) -fpascal-strings -fshort-wchar -fno-common -fno-rtti225 TEMPLATE_XPCOMBLDPROG_CXXFLAGS.solaris = $(TEMPLATE_VBOXBLDPROG_CXXFLAGS.solaris) -fno-omit-frame-pointer # for now anyway.226 TEMPLATE_XPCOMBLDPROG_LDFLAGS.darwin = $(TEMPLATE_VBOXBLDPROG_LDFLAGS.darwin) -fpascal-strings -fshort-wchar -fno-rtti -fno-exceptions227 TEMPLATE_XPCOMBLDPROG_ORDERDEPS = $(foreach hdrinst, $(filter %-HEADERS, $(INSTALLS)), $(TARGET_$(hdrinst)))228 229 230 ifeq ($(VBOX_DEF_MACOSX_VERSION_MIN),10.4)231 #232 # Template for building VBoxPhython against the Mac OS X 10.4 SDK.233 # ASSUMES that the SDK bits are in the .darwin properties we're overriding below.234 #235 TEMPLATE_XPCOMOSX104 = XPCOM libraries (shared) built against the Mac OS X 10.4 SDK236 TEMPLATE_XPCOMOSX104_EXTENDS = XPCOM237 TEMPLATE_XPCOMOSX104_CXXFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CXXFLAGS),$(TEMPLATE_XPCOM_CXXFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_4_CXXFLAGS)238 TEMPLATE_XPCOMOSX104_CFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CFLAGS),$(TEMPLATE_XPCOM_CFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_4_CFLAGS)239 TEMPLATE_XPCOMOSX104_LDFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_LDFLAGS),$(TEMPLATE_XPCOM_LDFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_4_LDFLAGS)240 TEMPLATE_XPCOMOSX104_DEFS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_XPCOM_DEFS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_4_DEFS)241 TEMPLATE_XPCOMOSX104_INCS.darwin = $(VBOX_PATH_MACOSX_SDK_10_4)/Developer/Headers/FlatCarbon242 endif243 244 #245 # Template for building VBoxPhython against the Mac OS X 10.5 SDK.246 # ASSUMES that the SDK bits are in the .darwin properties we're overriding below.247 #248 TEMPLATE_XPCOMOSX105 = XPCOM libraries (shared) built against the Mac OS X 10.5 SDK249 TEMPLATE_XPCOMOSX105_EXTENDS = XPCOM250 TEMPLATE_XPCOMOSX105_CXXFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CXXFLAGS),$(TEMPLATE_XPCOM_CXXFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_5_CXXFLAGS)251 TEMPLATE_XPCOMOSX105_CFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CFLAGS),$(TEMPLATE_XPCOM_CFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_5_CFLAGS)252 TEMPLATE_XPCOMOSX105_LDFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_LDFLAGS),$(TEMPLATE_XPCOM_LDFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_5_LDFLAGS)253 TEMPLATE_XPCOMOSX105_DEFS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_XPCOM_DEFS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_5_DEFS)254 TEMPLATE_XPCOMOSX105_INCS.darwin = $(VBOX_PATH_MACOSX_SDK_10_5)/Developer/Headers/FlatCarbon255 256 #257 # Template for building VBoxPhython against the Mac OS X 10.6 SDK.258 # ASSUMES that the SDK bits are in the .darwin properties we're overriding below.259 #260 TEMPLATE_XPCOMOSX106 = XPCOM libraries (shared) built against the Mac OS X 10.6 SDK261 TEMPLATE_XPCOMOSX106_EXTENDS = XPCOM262 TEMPLATE_XPCOMOSX106_CXXFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CXXFLAGS),$(TEMPLATE_XPCOM_CXXFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_6_CXXFLAGS)263 TEMPLATE_XPCOMOSX106_CFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_CFLAGS),$(TEMPLATE_XPCOM_CFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_6_CFLAGS)264 TEMPLATE_XPCOMOSX106_LDFLAGS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_LDFLAGS),$(TEMPLATE_XPCOM_LDFLAGS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_6_LDFLAGS)265 TEMPLATE_XPCOMOSX106_DEFS.darwin = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_XPCOM_DEFS.darwin)) $(VBOX_DARWIN_DEF_SDK_10_6_DEFS)266 TEMPLATE_XPCOMOSX106_INCS.darwin = $(VBOX_PATH_MACOSX_SDK_10_6)/Developer/Headers/FlatCarbon267 268 269 #270 41 # Header installs. 271 42 # … … 280 51 281 52 # 282 # The IDL compiler and typelib linker.53 # The IDL compiler, typelib linker and xpt files. 283 54 # 284 55 BLDPROGS += \ 285 56 xpidl \ 286 57 xpt_link 58 59 BLDDIRS += \ 60 $(PATH_TARGET)/VBox-xpcom-xpt-files/ 287 61 288 62 #
Note:
See TracChangeset
for help on using the changeset viewer.