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

include $(DEPTH)/config/autoconf.mk

MODULE		= widget
XPIDL_MODULE	= widget
GRE_MODULE	= 1

EXPORTS_NAMESPACES = IPC

EXPORTS_IPC = \
		nsGUIEventIPC.h \
		$(NULL)

ifdef MOZ_INSTRUMENT_EVENT_LOOP
EXPORTS_NAMESPACES += mozilla
EXPORTS_mozilla = \
  WidgetTraceEvent.h
endif

EXPORTS		= \
		nsIWidget.h \
		nsGUIEvent.h \
		nsEvent.h \
		nsNativeWidget.h \
		nsWidgetInitData.h \
		nsWidgetsCID.h \
		nsILookAndFeel.h \
		nsIPluginWidget.h \
		nsINativeKeyBindings.h \
		nsIDeviceContextSpec.h \
		nsIMenuRollup.h \
		nsIRollupListener.h \
		$(NULL)

ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
EXPORTS		+= \
		nsINativeMenuService.h \
		nsIPrintDialogService.h \
		$(NULL)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
EXPORTS		+= nsIDragSessionOS2.h
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),android)
EXPORTS		+= \
		nsIPrintDialogService.h \
		$(NULL)
endif

ifneq (,$(filter qt gtk2,$(MOZ_WIDGET_TOOLKIT)))
EXPORTS		+= \
		nsIDragSessionGTK.h \
		nsIPrintDialogService.h \
		$(NULL)
endif

XPIDLSRCS	= \
		nsIAppShell.idl \
		nsIFilePicker.idl \
		nsIToolkit.idl \
		nsISound.idl \
		nsITransferable.idl \
		nsIClipboardDragDropHooks.idl \
		nsIClipboardDragDropHookList.idl \
		nsIDragSession.idl \
		nsIDragService.idl \
		nsIFormatConverter.idl \
		nsIClipboard.idl \
		nsIClipboardHelper.idl \
		nsIClipboardOwner.idl \
		nsIBaseWindow.idl \
		nsIBidiKeyboard.idl \
		nsIScreen.idl \
		nsIScreenManager.idl \
		nsIPrintSession.idl \
		nsIPrintSettings.idl \
		nsIPrintSettingsService.idl \
		nsIPrintOptions.idl \
		nsIIdleService.idl \
		nsIGfxInfo.idl \
                nsIGfxInfoDebug.idl \
		nsIIMEPicker.idl \
		$(NULL)

ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
XPIDLSRCS	+= nsIPrintSettingsWin.idl \
		nsIWinTaskbar.idl	\
		nsITaskbarPreview.idl	\
		nsITaskbarTabPreview.idl \
		nsITaskbarWindowPreview.idl \
		nsITaskbarPreviewController.idl \
		nsITaskbarPreviewButton.idl \
		nsITaskbarProgress.idl \
		nsITaskbarPreviewButton.idl \
		nsIJumpListBuilder.idl \
		nsIJumpListItem.idl \
		$(NULL)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
XPIDLSRCS +=	nsIMacDockSupport.idl \
		nsIStandaloneNativeMenu.idl \
		$(NULL)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
XPIDLSRCS	+= nsIRwsService.idl
endif

EXPORTS		:= $(addprefix $(srcdir)/, $(EXPORTS))

include $(topsrcdir)/config/rules.mk

