#
# 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		= ../..
topsrcdir	= @top_srcdir@
srcdir		= @srcdir@
VPATH		= @srcdir@

include $(DEPTH)/config/autoconf.mk

# Solaris sh blows
ifeq ($(OS_ARCH),SunOS)
SHELL := ksh
endif

MODULE		= layout
LIBRARY_NAME	= gklayout
EXPORT_LIBRARY = 1
IS_COMPONENT	= 1
MODULE_NAME	= nsLayoutModule
GRE_MODULE	= 1
LIBXUL_LIBRARY	= 1


CPPSRCS		= \
		nsLayoutModule.cpp \
		nsContentDLF.cpp \
		nsLayoutStatics.cpp \
		$(NULL)

EXPORTS		= \
		nsLayoutCID.h \
		nsContentDLF.h \
		nsLayoutStatics.h \
		$(NULL)

SHARED_LIBRARY_LIBS = \
	../base/$(LIB_PREFIX)gkbase_s.$(LIB_SUFFIX) \
	../forms/$(LIB_PREFIX)gkforms_s.$(LIB_SUFFIX) \
	../generic/$(LIB_PREFIX)gkgeneric_s.$(LIB_SUFFIX) \
	../ipc/$(LIB_PREFIX)gkipc_s.$(LIB_SUFFIX) \
	../style/$(LIB_PREFIX)gkstyle_s.$(LIB_SUFFIX) \
	../tables/$(LIB_PREFIX)gktable_s.$(LIB_SUFFIX) \
	../xul/base/src/$(LIB_PREFIX)gkxulbase_s.$(LIB_SUFFIX) \
	../mathml/$(LIB_PREFIX)gkmathml_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/base/src/$(LIB_PREFIX)gkconbase_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/canvas/src/$(LIB_PREFIX)gkconcvs_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/events/src/$(LIB_PREFIX)gkconevents_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/html/content/src/$(LIB_PREFIX)gkconhtmlcon_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/html/document/src/$(LIB_PREFIX)gkconhtmldoc_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/xml/content/src/$(LIB_PREFIX)gkconxmlcon_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/xml/document/src/$(LIB_PREFIX)gkconxmldoc_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/xslt/src/base/$(LIB_PREFIX)txbase_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/xslt/src/xml/$(LIB_PREFIX)txxml_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/xslt/src/xpath/$(LIB_PREFIX)txxpath_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/xslt/src/xslt/$(LIB_PREFIX)txxslt_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/xbl/src/$(LIB_PREFIX)gkconxbl_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/xul/document/src/$(LIB_PREFIX)gkconxuldoc_s.$(LIB_SUFFIX) \
	$(DEPTH)/view/src/$(LIB_PREFIX)gkview_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/base/$(LIB_PREFIX)jsdombase_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/battery/$(LIB_PREFIX)dom_battery_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/contacts/$(LIB_PREFIX)jsdomcontacts_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/devicestorage/$(LIB_PREFIX)domdevicestorage_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/file/$(LIB_PREFIX)domfile_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/power/$(LIB_PREFIX)dom_power_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/settings/$(LIB_PREFIX)jsdomsettings_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/network/src/$(LIB_PREFIX)dom_network_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/media/$(LIB_PREFIX)dom_media_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/sms/src/$(LIB_PREFIX)dom_sms_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/src/events/$(LIB_PREFIX)jsdomevents_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/src/json/$(LIB_PREFIX)json_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/src/jsurl/$(LIB_PREFIX)jsurl_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/src/storage/$(LIB_PREFIX)jsdomstorage_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/src/offline/$(LIB_PREFIX)jsdomoffline_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/src/geolocation/$(LIB_PREFIX)jsdomgeolocation_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/src/notification/$(LIB_PREFIX)jsdomnotification_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/system/$(LIB_PREFIX)domsystem_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/workers/$(LIB_PREFIX)domworkers_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/indexedDB/$(LIB_PREFIX)dom_indexeddb_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/indexedDB/ipc/$(LIB_PREFIX)dom_indexeddb_ipc_s.$(LIB_SUFFIX) \
	$(DEPTH)/editor/libeditor/text/$(LIB_PREFIX)texteditor_s.$(LIB_SUFFIX) \
	$(DEPTH)/editor/libeditor/base/$(LIB_PREFIX)editorbase_s.$(LIB_SUFFIX) \
	$(DEPTH)/parser/html/$(LIB_PREFIX)html5p_s.$(LIB_SUFFIX) \
	$(DEPTH)/caps/src/$(LIB_PREFIX)caps_s.$(LIB_SUFFIX) \
	$(DEPTH)/editor/libeditor/html/$(LIB_PREFIX)htmleditor_s.$(LIB_SUFFIX) \
	$(DEPTH)/editor/txtsvc/src/$(LIB_PREFIX)txtsvc_s.$(LIB_SUFFIX) \
	$(DEPTH)/content/mathml/content/src/$(LIB_PREFIX)gkcontentmathml_s.$(LIB_SUFFIX) \
	$(NULL)

ifneq (,$(filter qt gtk2,$(MOZ_WIDGET_TOOLKIT)))
SHARED_LIBRARY_LIBS += \
	$(DEPTH)/dom/system/unix/$(LIB_PREFIX)domsystemunix_s.$(LIB_SUFFIX) \
	$(NULL)
LOCAL_INCLUDES	+= \
	-I$(topsrcdir)/dom/system/unix \
	$(NULL)
else ifneq (,$(filter windows,$(MOZ_WIDGET_TOOLKIT)))
SHARED_LIBRARY_LIBS += \
	$(DEPTH)/dom/system/windows/$(LIB_PREFIX)domsystemwindows_s.$(LIB_SUFFIX) \
	$(NULL)
LOCAL_INCLUDES	+= \
	-I$(topsrcdir)/dom/system/windows \
	$(NULL)
else ifneq (,$(filter android,$(MOZ_WIDGET_TOOLKIT)))
SHARED_LIBRARY_LIBS += \
	$(DEPTH)/dom/system/android/$(LIB_PREFIX)domsystemandroid_s.$(LIB_SUFFIX) \
	$(DEPTH)/dom/plugins/base/android/$(LIB_PREFIX)gkpluginandroid_s.$(LIB_SUFFIX) \
	$(NULL)
LOCAL_INCLUDES	+= \
	-I$(topsrcdir)/dom/system/android \
	-I$(topsrcdir)/dom/system \
	$(NULL)
endif

ifdef MOZ_B2G_BT #{
SHARED_LIBRARY_LIBS	+= $(DEPTH)/dom/bluetooth/$(LIB_PREFIX)dombluetooth_s.$(LIB_SUFFIX)
endif #}

ifdef MOZ_B2G_RIL #{
SHARED_LIBRARY_LIBS	+= \
  $(DEPTH)/dom/system/gonk/$(LIB_PREFIX)domsystemgonk_s.$(LIB_SUFFIX) \
  $(DEPTH)/dom/telephony/$(LIB_PREFIX)domtelephony_s.$(LIB_SUFFIX) \
  $(NULL)
endif #}

ifdef MOZ_MEDIA
SHARED_LIBRARY_LIBS 	+= \
	$(DEPTH)/content/media/$(LIB_PREFIX)gkconmedia_s.$(LIB_SUFFIX) \
	$(NULL)
endif

ifdef MOZ_OGG
SHARED_LIBRARY_LIBS 	+= \
	$(DEPTH)/content/media/ogg/$(LIB_PREFIX)gkconogg_s.$(LIB_SUFFIX) \
	$(NULL)
endif

ifdef MOZ_RAW
SHARED_LIBRARY_LIBS     += \
       $(DEPTH)/content/media/raw/$(LIB_PREFIX)gkconraw_s.$(LIB_SUFFIX)\
       $(NULL)
endif

ifdef MOZ_WEBM
SHARED_LIBRARY_LIBS 	+= \
	$(DEPTH)/content/media/webm/$(LIB_PREFIX)gkconwebm_s.$(LIB_SUFFIX) \
	$(NULL)
endif

ifdef MOZ_WAVE
SHARED_LIBRARY_LIBS 	+= \
	$(DEPTH)/content/media/wave/$(LIB_PREFIX)gkconwave_s.$(LIB_SUFFIX) \
	$(NULL)
endif

ifdef MOZ_GSTREAMER
SHARED_LIBRARY_LIBS 	+= \
	$(DEPTH)/content/media/gstreamer/$(LIB_PREFIX)gkcongstreamer_s.$(LIB_SUFFIX) \
	$(NULL)
endif

ifdef MOZ_MEDIA_PLUGINS
SHARED_LIBRARY_LIBS 	+= \
	$(DEPTH)/content/media/plugins/$(LIB_PREFIX)gkconmediaplugins_s.$(LIB_SUFFIX) \
	$(NULL)
endif

ifdef NS_PRINTING
SHARED_LIBRARY_LIBS += \
		../printing/$(LIB_PREFIX)gkprinting_s.$(LIB_SUFFIX) \
		$(NULL)
endif

ifdef MOZ_XUL
SHARED_LIBRARY_LIBS += \
		../xul/base/src/tree/src/$(LIB_PREFIX)gkxultree_s.$(LIB_SUFFIX) \
		../xul/base/src/grid/$(LIB_PREFIX)gkxulgrid_s.$(LIB_SUFFIX) \
		$(DEPTH)/content/xul/content/src/$(LIB_PREFIX)gkconxulcon_s.$(LIB_SUFFIX) \
		$(DEPTH)/content/xul/templates/src/$(LIB_PREFIX)gkconxultmpl_s.$(LIB_SUFFIX) \
		$(NULL)
endif

LOCAL_INCLUDES  += \
      -I$(srcdir)/../inspector/src \
      $(NULL)
SHARED_LIBRARY_LIBS += ../inspector/src/$(LIB_PREFIX)inspector_s.$(LIB_SUFFIX)

ifdef MOZ_XTF
SHARED_LIBRARY_LIBS += \
		$(DEPTH)/content/xtf/src/$(LIB_PREFIX)gkcontentxtf_s.$(LIB_SUFFIX) \
		$(NULL)
endif

SHARED_LIBRARY_LIBS += \
		../svg/base/src/$(LIB_PREFIX)gksvgbase_s.$(LIB_SUFFIX) \
		$(DEPTH)/content/svg/document/src/$(LIB_PREFIX)gkconsvgdoc_s.$(LIB_SUFFIX) \
		$(DEPTH)/content/svg/content/src/$(LIB_PREFIX)gkcontentsvg_s.$(LIB_SUFFIX) \
		$(DEPTH)/content/smil/$(LIB_PREFIX)gkconsmil_s.$(LIB_SUFFIX) \
		$(NULL)

ifdef ENABLE_EDITOR_API_LOG
DEFINES += -DENABLE_EDITOR_API_LOG
endif

SHARED_LIBRARY_LIBS += \
	$(DEPTH)/js/xpconnect/src/$(LIB_PREFIX)xpconnect_s.$(LIB_SUFFIX)

ifdef MOZ_GSTREAMER
EXTRA_DSO_LDOPTS += $(GSTREAMER_LIBS)
endif

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

include $(topsrcdir)/config/rules.mk

LOCAL_INCLUDES	+= -I$(srcdir)/../base \
		   -I$(srcdir)/../generic \
		   -I$(srcdir)/../forms \
		   -I$(srcdir)/../tables \
		   -I$(srcdir)/../style \
		   -I$(srcdir)/../xul/base/src \
		   -I$(srcdir)/../mathml \
		   -I$(topsrcdir)/content/base/src \
		   -I$(topsrcdir)/content/canvas/src \
		   -I$(topsrcdir)/content/html/content/src \
		   -I$(topsrcdir)/content/html/document/src \
		   -I$(topsrcdir)/content/xslt/src/base \
		   -I$(topsrcdir)/content/xslt/src/xml \
		   -I$(topsrcdir)/content/xslt/src/xpath \
		   -I$(topsrcdir)/content/xslt/src/xslt \
		   -I$(topsrcdir)/content/xul/content/src \
		   -I$(topsrcdir)/content/xul/document/src \
		   -I$(topsrcdir)/content/xul/templates/src \
		   -I$(topsrcdir)/content/events/src \
		   -I$(topsrcdir)/content/xbl/src \
		   -I$(topsrcdir)/view/src \
		   -I$(topsrcdir)/dom/base \
		   -I$(topsrcdir)/dom/src/json \
		   -I$(topsrcdir)/dom/src/jsurl \
		   -I$(topsrcdir)/dom/src/storage \
		   -I$(topsrcdir)/dom/src/offline \
		   -I$(topsrcdir)/dom/src/geolocation \
		   -I$(topsrcdir)/dom/contacts \
		   -I$(topsrcdir)/dom/settings \
		   -I$(topsrcdir)/dom/telephony \
		   -I. \
		   -I$(topsrcdir)/editor/libeditor/base \
		   -I$(topsrcdir)/editor/libeditor/text \
		   -I$(topsrcdir)/editor/libeditor/html \
		   -I$(topsrcdir)/editor/txtsvc/src \
		   -I$(topsrcdir)/editor/composer/src \
		   -I$(topsrcdir)/js/xpconnect/src \
		   -I$(topsrcdir)/js/xpconnect/loader \
		   -I$(topsrcdir)/caps/include \
		   -I$(topsrcdir)/netwerk/base/src \
		   -I$(topsrcdir)/content/svg/content/src \
		   $(NULL)

ifdef MOZ_B2G_RIL #{
LOCAL_INCLUDES	+= -I$(topsrcdir)/dom/system/gonk
endif #}

ifdef MOZ_B2G_BT #{
LOCAL_INCLUDES	+= -I$(topsrcdir)/dom/bluetooth
endif #}

DEFINES += -D_IMPL_NS_LAYOUT
