#
# ***** 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 mozilla.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either of 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   = ../..
srcdir      = .
VPATH       = .

include $(DEPTH)/config/autoconf.mk

MODULE      = gfx
LIBRARY_NAME    = gkgfx
EXPORT_LIBRARY = 1
GRE_MODULE	= 1
LIBXUL_LIBRARY = 1

PACKAGE_FILE = gfx.pkg

REQUIRES	= xpcom \
		  windowwatcher \
		  dom \
		  string \
		  widget \
		  locale \
		  view \
		  pref \
		  unicharutil \
		  $(NULL)

DIRS        = shared

ifdef MOZ_ENABLE_FREETYPE2
DIRS        += freetype
endif

ifdef MOZ_ENABLE_POSTSCRIPT
DIRS        += psshared ps
endif

ifeq ($(MOZ_GFX_TOOLKIT),cocoa)
DIRS	    += mac
endif

ifneq (,$(filter beos os2 mac windows,$(MOZ_GFX_TOOLKIT)))
DIRS        += $(MOZ_GFX_TOOLKIT)
endif

# Build xlibrgb only for X toolkits and/or Xprint
ifneq (,$(filter xlib,$(MOZ_WIDGET_TOOLKIT))$(MOZ_ENABLE_XLIB)$(MOZ_ENABLE_XPRINT))
DIRS        += xlibrgb
endif

ifdef MOZ_ENABLE_XPRINT
DIRS        += xprintutil xprint 
endif

ifdef MOZ_ENABLE_CAIRO_GFX
DIRS        += cairo
else
 ifdef MOZ_ENABLE_GTK
 DIRS        += gtk
 endif
 ifdef MOZ_ENABLE_GTK2
 DIRS        += gtk
 endif
 ifdef MOZ_ENABLE_QT
 DIRS        += qt
 endif
 ifdef MOZ_ENABLE_XLIB
 DIRS        += xlib
 endif
 ifdef MOZ_ENABLE_PHOTON
 DIRS        += photon
 endif

endif

CPPSRCS = \
        nsBlender.cpp \
        nsColor.cpp \
        nsColorNames.cpp \
        nsDeviceContext.cpp \
        nsFont.cpp \
        nsFontList.cpp \
        nsRect.cpp \
        nsRegion.cpp \
        nsTransform2D.cpp \
        nsScriptableRegion.cpp \
        nsPrintOptionsImpl.cpp \
        nsPrintSettingsImpl.cpp \
        nsPrintSession.cpp \
        $(NULL)

ifeq (,$(filter windows,$(MOZ_WIDGET_TOOLKIT)))
REQUIRES += uconv
endif

ifneq (,$(filter gtk gtk2 xlib os2,$(MOZ_WIDGET_TOOLKIT)))
CPPSRCS += \
        nsRegionImpl.cpp \
        $(NULL)
endif

ifneq (,$(filter gtk gtk2 xlib beos windows os2,$(MOZ_WIDGET_TOOLKIT)))
CPPSRCS += imgScaler.cpp
endif

ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
CPPSRCS += \
        mac/nsRegionPool.cpp \
        $(NULL)
endif

ifeq ($(OS_ARCH),OS2)
CPPSRCS += \
        os2/nsOS2Uni.cpp \
        os2/nsPaletteOS2.cpp \
        $(NULL)
EXPORTS += \
        os2/nsOS2Uni.h \
        os2/nsPaletteOS2.h \
        $(NULL)
endif

EXTRA_DSO_LDOPTS = \
        $(DIST)/lib/$(LIB_PREFIX)mozutil_s.$(LIB_SUFFIX) \
        $(MOZ_UNICHARUTIL_LIBS) \
        $(MOZ_COMPONENT_LIBS) \
        $(NULL)

ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
EXTRA_DSO_LDOPTS += \
        $(TK_LIBS) \
        $(NULL)
endif

# This library is used by other shared libs in a static build
FORCE_USE_PIC = 1

include $(topsrcdir)/config/rules.mk

DEFINES     += -D_IMPL_NS_GFX
