# -*- 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/.

if CONFIG['MOZ_PLACES']:
    TEST_DIRS += ['tests']

XPIDL_SOURCES += [
    'nsINavHistoryService.idl',
]

XPIDL_MODULE = 'places'

if CONFIG['MOZ_PLACES']:
    XPIDL_SOURCES += [
        'mozIAsyncFavicons.idl',
        'mozIAsyncHistory.idl',
        'mozIAsyncLivemarks.idl',
        'mozIColorAnalyzer.idl',
        'mozIPlacesAutoComplete.idl',
        'mozIPlacesPendingOperation.idl',
        'nsIAnnotationService.idl',
        'nsIBrowserHistory.idl',
        'nsIFaviconService.idl',
        'nsINavBookmarksService.idl',
        'nsITaggingService.idl',
        'nsPIPlacesDatabase.idl',
    ]

    EXPORTS.mozilla.places = [
        'Database.h',
        'History.h',
    ]

    UNIFIED_SOURCES += [
        'Database.cpp',
        'FaviconHelpers.cpp',
        'Helpers.cpp',
        'History.cpp',
        'nsAnnoProtocolHandler.cpp',
        'nsAnnotationService.cpp',
        'nsFaviconService.cpp',
        'nsNavBookmarks.cpp',
        'nsNavHistory.cpp',
        'nsNavHistoryQuery.cpp',
        'nsNavHistoryResult.cpp',
        'nsPlacesModule.cpp',
        'PlaceInfo.cpp',
        'Shutdown.cpp',
        'SQLFunctions.cpp',
        'VisitInfo.cpp',
    ]

    LOCAL_INCLUDES += [
        '../build',
    ]

    EXTRA_JS_MODULES += [
        'BookmarkHTMLUtils.jsm',
        'BookmarkJSONUtils.jsm',
        'Bookmarks.jsm',
        'ClusterLib.js',
        'ColorAnalyzer_worker.js',
        'ColorConversion.js',
        'ExtensionSearchHandler.jsm',
        'History.jsm',
        'PlacesBackups.jsm',
        'PlacesDBUtils.jsm',
        'PlacesRemoteTabsAutocompleteProvider.jsm',
        'PlacesSearchAutocompleteProvider.jsm',
        'PlacesSyncUtils.jsm',
        'PlacesTransactions.jsm',
        'PlacesUtils.jsm',
    ]

    EXTRA_COMPONENTS += [
        'ColorAnalyzer.js',
        'nsLivemarkService.js',
        'nsPlacesAutoComplete.js',
        'nsPlacesAutoComplete.manifest',
        'nsPlacesExpiration.js',
        'nsTaggingService.js',
        'PageIconProtocolHandler.js',
        'PlacesCategoriesStarter.js',
        'toolkitplaces.manifest',
        'UnifiedComplete.js',
    ]

    FINAL_LIBRARY = 'xul'

include('/ipc/chromium/chromium-config.mozbuild')

with Files('**'):
    BUG_COMPONENT = ('Toolkit', 'Places')

if CONFIG['GNU_CXX']:
    CXXFLAGS += ['-Wno-error=shadow']