#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL.  You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation.  Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation.  All Rights
# Reserved.
#

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

include $(DEPTH)/config/autoconf.mk

MODULE		= widget
LIBRARY_NAME	= widget_gtk
EXPORT_LIBRARY = 1
IS_COMPONENT	= 1
MODULE_NAME	= nsWidgetGTKModule
GRE_MODULE	= 1

PACKAGE_FILE = widget_gtk.pkg

REQUIRES	= xpcom \
		  string \
		  appshell \
		  gfx \
		  pref \
		  dom \
		  uconv \
		  necko \
		  xremoteservice \
		  view \
		  util \
		  unicharutil \
		  $(NULL)
ifdef NS_TRACE_MALLOC
REQUIRES	+= tracemalloc
endif

CSRCS		= \
		keysym2ucs.c

CPPSRCS		= \
		nsAppShell.cpp \
		nsBidiKeyboard.cpp \
		nsButton.cpp \
		nsCheckButton.cpp \
		nsClipboard.cpp \
		nsDragService.cpp \
		nsGtkEventHandler.cpp \
		nsGtkUtils.cpp \
		nsKeyboardUtils.cpp \
		nsLabel.cpp \
		nsLookAndFeel.cpp \
		nsSound.cpp \
		nsTextHelper.cpp \
		nsTextWidget.cpp \
		nsToolkit.cpp \
		nsWidget.cpp \
		nsWidgetFactory.cpp \
		nsWindow.cpp \
		nsGtkIMEHelper.cpp \
		nsGtkMozRemoteHelper.cpp \
		$(NULL)

SHARED_LIBRARY_LIBS = $(DIST)/lib/libxpwidgets_s.a

EXTRA_DSO_LIBS	= gkgfx

ifdef NS_TRACE_MALLOC
EXTRA_DSO_LIBS	+= tracemalloc
endif

EXTRA_DSO_LDOPTS = \
		$(LIBS_DIR) \
		$(EXTRA_DSO_LIBS) \
		$(MOZ_COMPONENT_LIBS) \
		$(MOZ_JS_LIBS) \
		$(NULL)

EXTRA_DSO_LDOPTS +=  -L$(DIST)/lib -lgtksuperwin $(MOZ_GTK_LDFLAGS)

include $(topsrcdir)/config/rules.mk

CXXFLAGS	+= $(MOZ_GTK_CFLAGS)
CFLAGS		+= $(MOZ_GTK_CFLAGS)

DEFINES		+= -D_IMPL_NS_WIDGET -DUSE_XIM

ifeq ($(OS_ARCH), SunOS)
ifndef GNU_CC
# When using Sun's WorkShop compiler, including
# /wherever/workshop-5.0/SC5.0/include/CC/std/time.h
# causes most of these compiles to fail with:
# line 29: Error: Multiple declaration for std::tm.
# So, this gets around the problem.
DEFINES		+= -D_TIME_H=1
endif
endif

ifeq ($(OS_ARCH), OpenVMS)
DEFINES		+= -DGENERIC_MOTIF_REDEFINES
endif

LOCAL_INCLUDES	= \
		-I$(srcdir)/../xpwidgets \
		-I$(srcdir) \
		-I$(topsrcdir)/gfx/src/gtk \
		$(NULL)

ICON_FILES	= \
		$(srcdir)/mozicon50.xpm \
		$(srcdir)/mozicon16.xpm \
		$(NULL)

libs::
	$(INSTALL) $(ICON_FILES) $(DIST)/bin/icons

install::
	$(SYSINSTALL) $(IFLAGS1) $(ICON_FILES) $(DESTDIR)$(mozappdir)/icons

