gecko-dev/mozglue/misc/moz.build
Aaron Klotz 0850bc3ec5 Bug 1451511: Add cross-process function hooking to DLL interceptor; r=handyman
--HG--
rename : ipc/mscom/DynamicallyLinkedFunctionPtr.h => mozglue/misc/DynamicallyLinkedFunctionPtr.h
extra : amend_source : 1eea43cda6e05f722f0b1373535d9ceabac18661
2018-04-04 16:31:43 -06:00

78 lines
1.9 KiB
Python

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
FINAL_LIBRARY = 'mozglue'
EXPORTS.mozilla += [
'AutoProfilerLabel.h',
'PlatformConditionVariable.h',
'PlatformMutex.h',
'Printf.h',
'StackWalk.h',
'TimeStamp.h',
]
if CONFIG['OS_ARCH'] == 'WINNT':
EXPORTS.mozilla += [
'StackWalk_windows.h',
'TimeStamp_windows.h',
]
SOURCES += [
'AutoProfilerLabel.cpp',
'Printf.cpp',
'StackWalk.cpp',
'TimeStamp.cpp',
]
OS_LIBS += CONFIG['REALTIME_LIBS']
DEFINES['IMPL_MFBT'] = True
if CONFIG['OS_ARCH'] == 'WINNT':
EXPORTS += [
'nsWindowsDllInterceptor.h',
]
EXPORTS.mozilla += [
'DynamicallyLinkedFunctionPtr.h',
'WindowsMapRemoteView.h',
]
EXPORTS.mozilla.interceptor += [
'interceptor/MMPolicies.h',
'interceptor/PatcherBase.h',
'interceptor/PatcherDetour.h',
'interceptor/PatcherNopSpace.h',
'interceptor/TargetFunction.h',
'interceptor/Trampoline.h',
'interceptor/VMSharingPolicies.h',
]
SOURCES += [
'TimeStamp_windows.cpp',
'WindowsMapRemoteView.cpp',
]
OS_LIBS += ['dbghelp']
elif CONFIG['HAVE_CLOCK_MONOTONIC']:
SOURCES += [
'TimeStamp_posix.cpp',
]
elif CONFIG['OS_ARCH'] == 'Darwin':
SOURCES += [
'TimeStamp_darwin.cpp',
]
elif CONFIG['COMPILE_ENVIRONMENT']:
error('No TimeStamp implementation on this platform. Build will not succeed')
if CONFIG['OS_ARCH'] == 'WINNT':
SOURCES += [
'ConditionVariable_windows.cpp',
'Mutex_windows.cpp',
]
else:
SOURCES += [
'ConditionVariable_posix.cpp',
'Mutex_posix.cpp',
]