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

include $(DEPTH)/config/autoconf.mk

MODULE		= widget
LIBRARY_NAME	= widget_gtk
EXPORT_LIBRARY = 1
IS_COMPONENT	= 1
MODULE_NAME	= nsWidgetGTKModule
REQUIRES	= xpcom \
		  string \
		  appshell \
		  gfx \
		  pref \
		  dom \
		  uconv \
		  necko \
		  xremoteservice \
		  view \
		  util \
		  $(NULL)

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 \
		nsScrollbar.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_LDOPTS = \
		$(MOZ_COMPONENT_LIBS) \
		-lgkgfx \
		$(MOZ_JS_LIBS) \
		$(NULL)

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

# If not primary toolkit, install in secondary path
ifneq (gtk,$(MOZ_WIDGET_TOOLKIT))
INACTIVE_COMPONENT = 1
endif

include $(topsrcdir)/config/rules.mk

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

DEFINES		+= -D_IMPL_NS_WIDGET -DUSE_XIM

ifeq ($(OS_ARCH), Linux)
DEFINES		+= -D_BSD_SOURCE
endif
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

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


