#
# The contents of this file are subject to the Netscape 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/NPL/
#
# 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 Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#

DEPTH       = ../..
topsrcdir   = ../..
srcdir      = .
VPATH       = .

include $(DEPTH)/config/autoconf.mk

MODULE      = gfx
EXPORTS         = nsFontList.h
LIBRARY_NAME    = gkgfx
EXPORT_LIBRARY = 1
REQUIRES    = xpcom \
			windowwatcher \
			dom \
          string \
          widget \
          locale \
          view \
          pref \
          gfx2 \
          imglib2 \
          uconv \
          unicharutil \
          $(NULL)

DIRS        =

ifdef MOZ_ENABLE_POSTSCRIPT
DIRS        += 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_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

ifdef MOZ_ENABLE_XPRINT
DIRS        += xprint
endif

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

ifeq ($(OS_ARCH),OS2)
CPPSRCS += nsTransform2DOS2.cpp
else
CPPSRCS += nsTransform2D.cpp
endif

ifeq (,$(filter windows,$(MOZ_WIDGET_TOOLKIT)))
CPPSRCS += nsCompressedCharMap.cpp
endif

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

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

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

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

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

include $(topsrcdir)/config/rules.mk

DEFINES     += -D_IMPL_NS_GFX
ifeq ($(OS_ARCH),WINNT)
DEFINES		+= -DWIN32_LEAN_AND_MEAN
endif

libs:: icon_0.gif icon_1.gif
	$(INSTALL) -m 555 $^ $(DIST)/bin/res/gfx

install:: icon_0.gif icon_1.gif
	$(SYSINSTALL) -m 555 $^ $(DESTDIR)$(mozappdir)/res/gfx

