moz.build 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
  2. # This Source Code Form is subject to the terms of the Mozilla Public
  3. # License, v. 2.0. If a copy of the MPL was not distributed with this
  4. # file, You can obtain one at http://mozilla.org/MPL/2.0/.
  5. XPIDL_SOURCES += [
  6. 'nsIApplicationReputation.idl',
  7. 'nsIDownload.idl',
  8. 'nsIDownloadManager.idl',
  9. 'nsIDownloadManagerUI.idl',
  10. 'nsIDownloadProgressListener.idl',
  11. ]
  12. XPIDL_MODULE = 'downloads'
  13. UNIFIED_SOURCES += ['nsDownloadManager.cpp']
  14. # SQLFunctions.cpp cannot be built in unified mode because of Windows headers.
  15. SOURCES += ['SQLFunctions.cpp']
  16. if CONFIG['MOZ_URL_CLASSIFIER']:
  17. UNIFIED_SOURCES += [
  18. 'ApplicationReputation.cpp',
  19. 'chromium/chrome/common/safe_browsing/csd.pb.cc'
  20. ]
  21. if CONFIG['OS_ARCH'] == 'WINNT':
  22. # Can't build unified because we need CreateEvent which some IPC code
  23. # included in LoadContext ends up undefining.
  24. SOURCES += ['nsDownloadScanner.cpp']
  25. # The Communicator Downloads Manager uses its own DownloadManagerUI
  26. # component and it can't be guaranteed that its implimentation will override
  27. # toolkit's so don't include toolkit's
  28. if not CONFIG['MOZ_SUITE'] and not CONFIG['BINOC_COMM_DLMGR']:
  29. EXTRA_COMPONENTS += [
  30. 'nsDownloadManagerUI.js',
  31. 'nsDownloadManagerUI.manifest',
  32. ]
  33. FINAL_LIBRARY = 'xul'
  34. LOCAL_INCLUDES += [
  35. '../protobuf',
  36. '/ipc/chromium/src',
  37. 'chromium'
  38. ]
  39. DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
  40. DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True
  41. CXXFLAGS += CONFIG['TK_CFLAGS']
  42. if CONFIG['GNU_CXX']:
  43. CXXFLAGS += ['-Wno-shadow']