#
# ***** 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 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		= widget
LIBRARY_NAME	= widget_mac
EXPORT_LIBRARY = 1
IS_COMPONENT	= 1
MODULE_NAME	= nsWidgetMacModule
XPIDL_MODULE	= widget_cocoa
GRE_MODULE	= 1
LIBXUL_LIBRARY = 1

REQUIRES = xpcom \
		  gfx \
		  string \
		  uconv \
		  dom \
		  webshell \
		  docshell \
		  plugin \
		  content \
		  layout \
		  view \
		  xul \
		  necko \
		  nkcache \
		  locale \
		  pref \
		  intl \
		  mimetype \
		  unicharutil \
		  exthandler \
		  $(NULL)

EXPORTS = \
		mozView.h \
		$(NULL)

MAC_LCPPSRCS = \
		nsBidiKeyboard.cpp \
		nsClipboard.cpp \
		nsDragService.cpp \
		nsDragHelperService.cpp \
		nsLookAndFeel.cpp \
		nsMacNativeUnicodeConverter.cpp \
		nsMacResources.cpp \
		nsMimeMapper.cpp \
		nsSound.cpp \
		nsStylClipboardUtils.cpp \
		nsToolkitBase.cpp \
		$(NULL)


CPPSRCS =  \
		nsMenuX.cpp \
		nsMenuBarX.cpp \
		nsMenuItemX.cpp \
		$(MAC_LCPPSRCS) \
		$(NULL)

CMMSRCS = \
		nsFilePicker.mm \
		nsToolkit.mm \
		nsAppShellCocoa.mm \
		nsCocoaWindow.mm \
		nsChildView.mm \
		nsWindowMap.mm \
		nsWidgetFactory.mm \
		nsNativeScrollbar.mm \
		nsCursorManager.mm \
		nsMacCursor.mm \
		$(NULL)
	
XPIDLSRCS	+= \
		nsIChangeManager.idl \
		nsIMenuCommandDispatcher.idl \
		nsIDragHelperService.idl \
		$(NULL)

MAC_CPP_CSRCS   := $(addprefix $(srcdir)/../mac/,$(MAC_LCPPSRCS))

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

EXTRA_DSO_LDOPTS += \
		$(MOZ_UNICHARUTIL_LIBS) \
		$(TK_LIBS) \
		$(MOZ_COMPONENT_LIBS) \
		-lgkgfx \
		$(NULL)

GARBAGE		+= $(MAC_LCPPSRCS)

include $(topsrcdir)/config/rules.mk

RES_DEST = $(DIST)/bin/libwidget.rsrc
RES_SRC = nsMacWidget.r

export:: $(GFX_CPPSRCS) $(MAC_CPP_CSRCS) $(srcdir)/../mac/$(RES_SRC)
	$(INSTALL) $^ .

# for objdir builds, symlink the cursors dir
ABS_topsrcdir   := $(shell cd $(topsrcdir); pwd)
ifneq ($(ABS_topsrcdir),$(MOZ_BUILD_ROOT))
export::
	ln -fs $(srcdir)/cursors
endif

$(RES_DEST): $(RES_SRC)
	/Developer/Tools/Rez -i /Developer/Headers/FlatCarbon -useDF $(RES_SRC) -o $(RES_DEST)

libs:: $(RES_DEST)

LOCAL_INCLUDES	= \
	$(TK_CFLAGS) \
	-I$(topsrcdir)/gfx/src/mac \
	-I$(srcdir)/../xpwidgets \
	-I$(srcdir)/../mac \
	-I/System/Library/Frameworks/Carbon.Framework/Headers \
	-I/System/Library/Frameworks/Cocoa.Framework/Headers \
	$(NULL)

LDFLAGS	+= \
	-framework QuickTime \
	-framework IOKit \
	-framework Cocoa \
	$(NULL)

CXXFLAGS += \
  -DUSE_COCOA \
  $(NULL)

  
