#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Places code
#
# The Initial Developer of the Original Code is
# Google Inc.
# Portions created by the Initial Developer are Copyright (C) 2005
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#   Brett Wilson <brettw@gmail.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@

include $(DEPTH)/config/autoconf.mk

MODULE = places

XPIDLSRCS = \
  nsINavHistoryService.idl \
  $(NULL)

ifdef MOZ_PLACES
LIBRARY_NAME  = places
LIBXUL_LIBRARY = 1
EXPORT_LIBRARY = 1
MODULE_NAME = nsPlacesModule
IS_COMPONENT = 1

XPIDLSRCS += \
  mozIAsyncHistory.idl \
  mozIPlacesAutoComplete.idl \
  nsIAnnotationService.idl \
  nsIBrowserHistory.idl \
  nsIDynamicContainer.idl \
  nsIFaviconService.idl \
  nsILivemarkService.idl \
  nsIMicrosummaryService.idl \
  nsINavBookmarksService.idl \
  nsIPlacesImportExportService.idl \
  nsITaggingService.idl  \
  nsPIPlacesDatabase.idl \
  nsPIPlacesHistoryListenersNotifier.idl \
  $(NULL)

EXPORTS_NAMESPACES = mozilla/places

EXPORTS_mozilla/places = \
  History.h \
  $(NULL)

CPPSRCS = \
  nsAnnoProtocolHandler.cpp \
  nsAnnotationService.cpp \
  nsFaviconService.cpp \
  nsNavHistory.cpp \
  nsNavHistoryQuery.cpp \
  nsNavHistoryResult.cpp \
  nsNavBookmarks.cpp \
  nsMaybeWeakPtr.cpp \
  nsMorkHistoryImporter.cpp \
  nsPlacesModule.cpp \
  SQLFunctions.cpp \
  Helpers.cpp \
  History.cpp \
  nsPlacesImportExportService.cpp \
  AsyncFaviconHelpers.cpp \
  PlaceInfo.cpp \
  VisitInfo.cpp \
  $(NULL)

EXTRA_DSO_LDOPTS += \
  $(DEPTH)/db/morkreader/$(LIB_PREFIX)morkreader_s.$(LIB_SUFFIX) \
  $(MOZ_UNICHARUTIL_LIBS) \
  $(MOZ_COMPONENT_LIBS) \
  $(NULL)

ifndef MOZ_ENABLE_LIBXUL
EXTRA_DSO_LDOPTS += \
  $(MOZ_JS_LIBS) \
  $(NULL)
endif

LOCAL_INCLUDES += -I$(srcdir)/../build

# This is the default value.  Must be in sync with the one defined in SQLite.
DEFINES += -DSQLITE_DEFAULT_PAGE_SIZE=32768

EXTRA_COMPONENTS = \
  toolkitplaces.manifest \
  nsLivemarkService.js \
  nsTaggingService.js \
  nsPlacesExpiration.js \
  nsMicrosummaryService.js \
  PlacesCategoriesStarter.js \
  $(NULL)

ifdef MOZ_XUL
EXTRA_COMPONENTS += nsPlacesAutoComplete.js nsPlacesAutoComplete.manifest
endif

EXTRA_JS_MODULES = \
  PlacesDBUtils.jsm \
  utils.js \
  $(NULL)

EXTRA_PP_JS_MODULES = \
  PlacesUtils.jsm \
  $(NULL)

ifdef ENABLE_TESTS
DIRS += tests
endif

include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk

endif

include $(topsrcdir)/config/rules.mk
