mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 14:15:30 +00:00
7523430127
Going further from the previous changes, all libfuzzer_main really does is call the init function, and then proceed to call the fuzzer driver with the testing function. So instead of calling that function for it to do all that, the LibFuzzerRunner can just call the init function itself, and then call the fuzzer driver with the testing function. --HG-- extra : rebase_source : 2eb1a2ae763ef21827471cd32addceacefc1ac5d
98 lines
2.4 KiB
Python
98 lines
2.4 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/.
|
|
|
|
DIRS += ['profile/extensions']
|
|
|
|
GeckoProgram(CONFIG['MOZ_APP_NAME'])
|
|
|
|
JS_PREFERENCE_PP_FILES += [
|
|
'profile/firefox.js',
|
|
]
|
|
|
|
SOURCES += [
|
|
'nsBrowserApp.cpp',
|
|
]
|
|
|
|
FINAL_TARGET_FILES += ['blocklist.xml']
|
|
FINAL_TARGET_FILES.defaults.profile += ['profile/prefs.js']
|
|
FINAL_TARGET_FILES.defaults += ['permissions']
|
|
|
|
DEFINES['APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
|
|
|
|
LOCAL_INCLUDES += [
|
|
'!/build',
|
|
'/toolkit/xre',
|
|
'/xpcom/base',
|
|
'/xpcom/build',
|
|
]
|
|
|
|
USE_LIBS += [
|
|
'mozglue',
|
|
]
|
|
|
|
if CONFIG['LIBFUZZER']:
|
|
USE_LIBS += [ 'fuzzer' ]
|
|
LOCAL_INCLUDES += [
|
|
'/tools/fuzzing/libfuzzer',
|
|
]
|
|
|
|
if CONFIG['_MSC_VER']:
|
|
# Always enter a Windows program through wmain, whether or not we're
|
|
# a console application.
|
|
WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup']
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
RCINCLUDE = 'splash.rc'
|
|
DEFINES['MOZ_PHOENIX'] = True
|
|
|
|
for cdm in CONFIG['MOZ_EME_MODULES']:
|
|
DEFINES['MOZ_%s_EME' % cdm.upper()] = True
|
|
|
|
if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
|
|
# For sandbox includes and the include dependencies those have
|
|
LOCAL_INCLUDES += [
|
|
'/security/sandbox/chromium',
|
|
'/security/sandbox/chromium-shim',
|
|
]
|
|
|
|
USE_LIBS += [
|
|
'sandbox_s',
|
|
]
|
|
|
|
DELAYLOAD_DLLS += [
|
|
'winmm.dll',
|
|
'user32.dll',
|
|
]
|
|
|
|
# Control the default heap size.
|
|
# This is the heap returned by GetProcessHeap().
|
|
# As we use the CRT heap, the default size is too large and wastes VM.
|
|
#
|
|
# The default heap size is 1MB on Win32.
|
|
# The heap will grow if need be.
|
|
#
|
|
# Set it to 256k. See bug 127069.
|
|
if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
|
|
LDFLAGS += ['/HEAP:0x40000']
|
|
|
|
DISABLE_STL_WRAPPING = True
|
|
|
|
if CONFIG['MOZ_LINKER']:
|
|
OS_LIBS += CONFIG['MOZ_ZLIB_LIBS']
|
|
|
|
if CONFIG['HAVE_CLOCK_MONOTONIC']:
|
|
OS_LIBS += CONFIG['REALTIME_LIBS']
|
|
|
|
if CONFIG['MOZ_GPSD']:
|
|
DEFINES['MOZ_GPSD'] = True
|
|
|
|
if CONFIG['MOZ_LINUX_32_SSE2_STARTUP_ERROR']:
|
|
DEFINES['MOZ_LINUX_32_SSE2_STARTUP_ERROR'] = True
|
|
|
|
for icon in ('firefox', 'document', 'newwindow', 'newtab', 'pbmode'):
|
|
DEFINES[icon.upper() + '_ICO'] = '"%s/%s/%s.ico"' % (
|
|
TOPSRCDIR, CONFIG['MOZ_BRANDING_DIRECTORY'], icon)
|