# ***** 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 Indexed Database.
#
# The Initial Developer of the Original Code is
# The Mozilla Foundation.
# Portions created by the Initial Developer are Copyright (C) 2010
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#   Shawn Wilsher <me@shawnwilsher.com>
#   Ben Turner <bent.mozilla@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 = dom
LIBRARY_NAME = dom_indexeddb_s
XPIDL_MODULE = dom_indexeddb
LIBXUL_LIBRARY = 1
FORCE_STATIC_LIB = 1

EXPORTS_NAMESPACES = mozilla/dom/indexedDB

CPPSRCS = \
  AsyncConnectionHelper.cpp \
  CheckPermissionsHelper.cpp \
  CheckQuotaHelper.cpp \
  DatabaseInfo.cpp \
  IDBCursor.cpp \
  IDBDatabase.cpp \
  IDBEvents.cpp \
  IDBIndex.cpp \
  IDBKeyRange.cpp \
  IDBObjectStore.cpp \
  IDBRequest.cpp \
  IDBTransaction.cpp \
  IDBFactory.cpp \
  IndexedDatabaseManager.cpp \
  LazyIdleThread.cpp \
  TransactionThreadPool.cpp \
  $(NULL)

EXPORTS_mozilla/dom/indexedDB = \
  IDBCursor.h \
  IDBDatabase.h \
  IDBEvents.h \
  IDBIndex.h \
  IDBKeyRange.h \
  IDBObjectStore.h \
  IDBRequest.h \
  IDBTransaction.h \
  IndexedDatabase.h \
  IndexedDatabaseManager.h \
  IDBFactory.h \
  Key.h \
  LazyIdleThread.h \
  $(NULL)

LOCAL_INCLUDES = \
  -I$(topsrcdir)/xpcom/build \
  -I$(topsrcdir)/dom/base \
  -I$(topsrcdir)/dom/src/storage \
  -I$(topsrcdir)/content/base/src \
  -I$(topsrcdir)/content/events/src \
  $(NULL)

DEFINES += -D_IMPL_NS_LAYOUT

# Make sure to quickstub as much as possible here! See
# js/src/xpconnect/src/dom_quickstubs.qsconf.
XPIDLSRCS = \
  nsIIDBCursor.idl \
  nsIIDBCursorWithValue.idl \
  nsIIDBDatabase.idl \
  nsIIDBDatabaseException.idl \
  nsIIDBFactory.idl \
  nsIIDBIndex.idl \
  nsIIDBKeyRange.idl \
  nsIIDBObjectStore.idl \
  nsIIDBRequest.idl \
  nsIIDBTransaction.idl \
  nsIIDBVersionChangeEvent.idl \
  nsIIDBVersionChangeRequest.idl \
  nsIIndexedDatabaseManager.idl \
  $(NULL)

ifdef ENABLE_TESTS
DIRS += test
endif

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