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

DEPTH		= @DEPTH@
topsrcdir	= @top_srcdir@
srcdir		= @srcdir@
VPATH		= @srcdir@
FAIL_ON_WARNINGS := 1

include $(DEPTH)/config/autoconf.mk

MODULE		= dom
LIBRARY_NAME	= jsdombase_s
LIBXUL_LIBRARY	= 1
FORCE_STATIC_LIB = 1

DIRS = \
  test \
  $(NULL)

EXTRA_COMPONENTS = \
  SiteSpecificUserAgent.js \
  SiteSpecificUserAgent.manifest \
  $(NULL)

EXTRA_PP_COMPONENTS = \
  ConsoleAPI.js \
  ConsoleAPI.manifest \
  $(NULL)

EXTRA_JS_MODULES = ConsoleAPIStorage.jsm \
  $(NULL)

EXTRA_JS_MODULES += \
  DOMRequestHelper.jsm \
  IndexedDBHelper.jsm \
  ObjectWrapper.jsm \
  $(NULL)

XPIDLSRCS = \
  nsIDOMDOMError.idl \
  nsIDOMDOMRequest.idl \
  nsIEntropyCollector.idl \
  nsIScriptChannel.idl \
  nsISiteSpecificUserAgent.idl \
  $(NULL)

EXPORTS = \
  nsDOMCID.h \
  nsDOMClassInfoClasses.h \
  nsDOMClassInfoID.h \
  nsDOMJSUtils.h \
  nsDOMScriptObjectHolder.h \
  nsDOMString.h \
  nsIDOMClassInfo.h \
  nsIDOMScriptObjectFactory.h \
  nsIJSEventListener.h \
  nsIJSNativeInitializer.h \
  nsIScriptContext.h	\
  nsIScriptExternalNameSet.h \
  nsIScriptGlobalObject.h \
  nsIScriptGlobalObjectOwner.h \
  nsIScriptNameSpaceManager.h \
  nsIScriptObjectPrincipal.h \
  nsIScriptRuntime.h \
  nsIScriptTimeoutHandler.h \
  nsJSEnvironment.h \
  nsJSUtils.h \
  nsPIDOMWindow.h \
  nsPIWindowRoot.h \
  nsFocusManager.h \
  nsWrapperCache.h \
  nsWrapperCacheInlines.h \
  nsContentPermissionHelper.h \
  nsStructuredCloneContainer.h \
  nsWindowMemoryReporter.h \
  $(NULL)

EXPORTS_NAMESPACES = mozilla/dom
EXPORTS_mozilla/dom = \
  DOMError.h \
  DOMRequest.h \
  StructuredCloneTags.h \
  ScreenOrientation.h \
  $(NULL)

CPPSRCS =			\
	nsBarProps.cpp          \
	nsDOMException.cpp 	\
	nsDOMWindowUtils.cpp 	\
	nsJSEnvironment.cpp	\
	nsJSTimeoutHandler.cpp	\
	nsFocusManager.cpp \
	nsGlobalWindow.cpp      \
	nsGlobalWindowCommands.cpp \
	nsLocation.cpp		\
	nsDOMWindowList.cpp	\
	nsJSUtils.cpp		\
	nsScreen.cpp		\
	nsHistory.cpp		\
	nsMimeTypeArray.cpp	\
	nsPluginArray.cpp	\
	nsWindowRoot.cpp	\
	nsDOMClassInfo.cpp	\
	nsScriptNameSpaceManager.cpp \
	nsDOMScriptObjectFactory.cpp \
	nsQueryContentEventResult.cpp \
	nsContentPermissionHelper.cpp \
	nsStructuredCloneContainer.cpp \
	nsDOMNavigationTiming.cpp \
	nsPerformance.cpp	\
	nsWindowMemoryReporter.cpp \
	DOMError.cpp \
	DOMRequest.cpp \
	Navigator.cpp \
	$(NULL)

include $(topsrcdir)/dom/dom-config.mk

ifdef MOZ_JSDEBUGGER
DEFINES += -DMOZ_JSDEBUGGER
endif

ifdef MOZ_B2G_RIL
DEFINES += -DMOZ_B2G_RIL
endif

ifdef MOZ_B2G_FM
DEFINES += -DMOZ_B2G_FM
endif

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

include $(topsrcdir)/config/rules.mk

LOCAL_INCLUDES += \
		-I$(topsrcdir)/js/xpconnect/src \
		-I$(topsrcdir)/js/xpconnect/wrappers \
		-I$(topsrcdir)/xpcom/ds \
		$(NULL)

ifdef MOZ_X11
CXXFLAGS += $(TK_CFLAGS)
LDFLAGS += $(TK_LIBS)
endif

XPIDL_FLAGS += \
  -I$(topsrcdir)/dom/interfaces/base \
  -I$(topsrcdir)/dom/interfaces/events \
  $(NULL)
