# ***** 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 Spatial Navigation
#
# The Initial Developer of the Original Code is
# Douglas F. Turner II
# Portions created by the Initial Developer are Copyright (C) 2004
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# 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       = snav
LIBRARY_NAME = snav
IS_COMPONENT = 1

MOZILLA_INTERNAL_API = 1


ifdef MINIMO
MODULE_NAME  = snav
EXPORT_LIBRARY = 1
else
ifdef MOZ_XUL_APP
XPI_NAME               = snav
endif
endif

REQUIRES	= xpcom \
		      string \
			  pref \
			  js \
		      dom \
			  dom_base \
		      gfx \
		      thebes \
		      layout \
		      content \
		      widget \
		      locale \
		      necko \
		      docshell \
              unicharutil \
		      view \
		      webshell \
			  windowwatcher \
			  webbrwsr \
		      $(NULL)

CPPSRCS     = nsSpatialNavigation.cpp \
			  nsSpatialNavigationUtils.cpp \
			  nsSpatialNavigationService.cpp \
	          $(NULL)


# This is just terrible... we need nsRect to be able to
# interact with the layout.  However, we can't link to get
# this class in GFX in a static build (GFX is linked into
# the application and symbols are not expored from
# applications).  
#
# nsFont.cpp is required because one of our #includes brings
# in nsFont.h. This class requires nsFont::Equals() be
# defined.  We do not use this class anywhere in this
# extension.

ifndef MINIMO
DEFINES += -D_IMPL_NS_GFX
CPPSRCS += nsRect.cpp nsFont.cpp
endif

EXTRA_DSO_LDOPTS += $(LIBS_DIR)          \
                    $(EXTRA_DSO_LIBS)    \
					$(MOZ_UNICHARUTIL_LIBS) \
                    $(MOZ_COMPONENT_LIBS)\
                    $(NULL)

include $(topsrcdir)/config/config.mk

ifdef MOZ_XUL_APP
ifdef TARGET_XPCOM_ABI
FINAL_TARGET=$(DIST)/xpi-stage/$(XPI_NAME)/platform/$(OS_TARGET)_$(TARGET_XPCOM_ABI)
endif
endif

include $(topsrcdir)/config/rules.mk

# Copy the nsRect and nsFont source files here and make sure
# they can be clobbered.
export::
	$(NSINSTALL) $(topsrcdir)/gfx/src/nsRect.cpp .
	$(NSINSTALL) $(topsrcdir)/gfx/src/nsFont.cpp .

GARBAGE += nsRect.cpp nsFont.cpp
