# -*- 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/. with Files('*'): BUG_COMPONENT = ('Toolkit', 'Download Manager') with Files('ApplicationReputation.*'): BUG_COMPONENT = ('Toolkit', 'Safe Browsing') with Files('chromium/*'): BUG_COMPONENT = ('Toolkit', 'Safe Browsing') with Files('generate_csd.sh'): BUG_COMPONENT = ('Toolkit', 'Safe Browsing') with Files('nsIApplicationReputation.idl'): BUG_COMPONENT = ('Toolkit', 'Safe Browsing') XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini'] XPIDL_SOURCES += [ 'nsIApplicationReputation.idl', 'nsIDownload.idl', 'nsIDownloadManager.idl', 'nsIDownloadManagerUI.idl', 'nsIDownloadProgressListener.idl', ] XPIDL_MODULE = 'downloads' UNIFIED_SOURCES += [ 'nsDownloadManager.cpp' ] # SQLFunctions.cpp cannot be built in unified mode because of Windows headers. SOURCES += [ 'SQLFunctions.cpp', ] if CONFIG['MOZ_URL_CLASSIFIER']: UNIFIED_SOURCES += [ 'ApplicationReputation.cpp', 'chromium/chrome/common/safe_browsing/csd.pb.cc' ] if CONFIG['OS_ARCH'] == 'WINNT': # Can't build unified because we need CreateEvent which some IPC code # included in LoadContext ends up undefining. SOURCES += [ 'nsDownloadScanner.cpp', ] # The Communicator Downloads Manager uses it's own DownloadManagerUI # component and it can't be guaranteed that it's implimentation will override # toolkit's so don't include toolkit's if not CONFIG['MOZ_SUITE'] or not CONFIG['BINOC_COMM_DLMGR']: EXTRA_COMPONENTS += [ 'nsDownloadManagerUI.js', 'nsDownloadManagerUI.manifest', ] FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ '../protobuf', '/ipc/chromium/src', 'chromium' ] DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True CXXFLAGS += CONFIG['TK_CFLAGS'] if CONFIG['GNU_CXX']: CXXFLAGS += ['-Wno-shadow']