DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (5b81998bb7ab)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

DEPTH = @DEPTH@
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@

include $(DEPTH)/config/autoconf.mk

LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/crashreporter

MODULE = ipc
LIBRARY_NAME = mozipc_s
FORCE_STATIC_LIB = 1
LIBXUL_LIBRARY = 1
EXPORT_LIBRARY = 1

EXPORTS_NAMESPACES = ipc mozilla/ipc

EXPORTS_ipc = IPCMessageUtils.h

EXPORTS_mozilla/ipc = \
  AsyncChannel.h \
  BrowserProcessSubThread.h \
  CrossProcessMutex.h \
  FileDescriptor.h \
  GeckoChildProcessHost.h \
  InputStreamUtils.h \
  IOThreadChild.h \
  ProcessChild.h \
  ProtocolUtils.h \
  RPCChannel.h \
  SharedMemory.h \
  SharedMemoryBasic.h \
  SharedMemorySysV.h \
  Shmem.h \
  SyncChannel.h \
  ScopedXREEmbed.h \
  Transport.h \
  URIUtils.h \
  $(NULL)

EXPORTS = \
  nsIIPCSerializableInputStream.h \
  nsIIPCSerializableURI.h \
  $(NULL)

ifeq ($(OS_ARCH),WINNT) #{
EXPORTS_mozilla/ipc += \
  Transport_win.h \
  $(NULL)
else
# POSIX
EXPORTS_mozilla/ipc += \
  Transport_posix.h \
  $(NULL)
endif #}

ifeq ($(OS_TARGET),Android)
# Android has its own,
# almost-but-not-quite-compatible-with-POSIX-or-/dev/shm shared memory
# impl.
EXPORTS_mozilla/ipc += SharedMemoryBasic_android.h
else
EXPORTS_mozilla/ipc += SharedMemoryBasic_chromium.h
endif #}

CPPSRCS += \
  AsyncChannel.cpp \
  BrowserProcessSubThread.cpp \
  FileDescriptor.cpp \
  GeckoChildProcessHost.cpp \
  InputStreamUtils.cpp \
  MessagePump.cpp \
  ProcessChild.cpp \
  ProtocolUtils.cpp \
  RPCChannel.cpp \
  ScopedXREEmbed.cpp \
  SharedMemory.cpp \
  Shmem.cpp \
  StringUtil.cpp \
  SyncChannel.cpp \
  URIUtils.cpp \
  $(NULL)

ifeq ($(OS_ARCH),WINNT) #{
CPPSRCS += \
  SharedMemory_windows.cpp \
  Transport_win.cpp \
  WindowsMessageLoop.cpp \
  CrossProcessMutex_windows.cpp \
  $(NULL)
else
# POSIX
CPPSRCS += \
  SharedMemory_posix.cpp \
  Transport_posix.cpp \
  CrossProcessMutex_unimplemented.cpp \
  $(NULL)
endif #}

ifeq ($(OS_TARGET),Android)
CPPSRCS += SharedMemoryBasic_android.cpp
endif #}

ifeq ($(OS_ARCH),Linux)
CPPSRCS += ProcessUtils_linux.cpp
else
CPPSRCS += ProcessUtils_none.cpp
endif

include $(topsrcdir)/ipc/app/defs.mk
DEFINES += -DMOZ_CHILD_PROCESS_NAME=\"$(MOZ_CHILD_PROCESS_NAME)\"
DEFINES += -DMOZ_CHILD_PROCESS_BUNDLE=\"$(MOZ_CHILD_PROCESS_BUNDLE)\"

include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk

include $(topsrcdir)/config/rules.mk

# Since we get the value of MOZ_CHILD_PROCESS_NAME from another file make sure
# to rebuild if that file changes.
$(CPPSRCS:%.cpp=%.$(OBJ_SUFFIX)): $(topsrcdir)/ipc/app/defs.mk