diff --git a/.gitignore b/.gitignore index 0a4380a2b..0582bd33b 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,7 @@ config.* configure depcomp doc/gtk-sharp-3-docs.* -generated +generated/*/*.cs generated.c generated-stamp install-sh diff --git a/atk/generated/meson.build b/atk/generated/meson.build new file mode 100644 index 000000000..8cc1ad5b1 --- /dev/null +++ b/atk/generated/meson.build @@ -0,0 +1,122 @@ +generated_sources = [ + 'Atk_ActionAdapter.cs', + 'Atk_AtkSharp.FocusHandlerNative.cs', + 'Atk_NoOpObjectFactory.cs', + 'Atk_TextRange.cs', + 'Atk_TextBoundary.cs', + 'Atk_GObjectAccessible.cs', + 'Atk_IText.cs', + 'Atk_AtkSharp.KeySnoopFuncNative.cs', + 'Atk_ChildrenChangedHandler.cs', + 'Atk_PropertyValues.cs', + 'Atk_RealStateSet.cs', + 'Atk_NoOpObject.cs', + 'Atk_Object.cs', + 'Atk_EventListener.cs', + 'Atk_Layer.cs', + 'Atk_IHyperlinkImpl.cs', + 'Atk_FocusTracker.cs', + 'Atk_Rectangle.cs', + 'Atk_Global.cs', + 'Atk_IValue.cs', + 'Atk_ImageAdapter.cs', + 'Atk_TextRectangle.cs', + 'Atk_KeySnoopFunc.cs', + 'Atk_WindowAdapter.cs', + 'Atk_ColumnDeletedHandler.cs', + 'Atk_Relation.cs', + 'Atk_RelationType.cs', + 'Atk_FocusHandler.cs', + 'Atk_RowDeletedHandler.cs', + 'Atk_StateSet.cs', + 'Atk_StreamableContentAdapter.cs', + 'Atk_StateType.cs', + 'Atk_Range.cs', + 'Atk_TextClipType.cs', + 'Atk_IImplementor.cs', + 'Atk_AtkSharp.EventListenerNative.cs', + 'Atk_ITable.cs', + 'Atk_LinkSelectedHandler.cs', + 'Atk_IDocument.cs', + 'Atk_TextAdapter.cs', + 'Atk_AtkSharp.PropertyChangeHandlerNative.cs', + 'Atk_ComponentAdapter.cs', + 'Atk_EditableTextAdapter.cs', + 'Atk_KeyEventType.cs', + 'Atk_TableAdapter.cs', + 'Atk_EventListenerInit.cs', + 'Atk_ImplementorAdapter.cs', + 'Atk_AtkSharp.FunctionNative.cs', + 'Atk_ISelection.cs', + 'Atk_Attribute.cs', + 'Atk_SelectionAdapter.cs', + 'Atk_TextChangedHandler.cs', + 'Atk_FocusEventHandler.cs', + 'Atk_TextCaretMovedHandler.cs', + 'Atk_Role.cs', + 'Atk_BoundsChangedHandler.cs', + 'Atk_ColumnInsertedHandler.cs', + 'Atk_IWindow.cs', + 'Atk_TextInsertHandler.cs', + 'Atk_PropertyChangeEventHandler.cs', + 'Atk_ValueChangedHandler.cs', + 'Atk_RelationSet.cs', + 'Atk_TextGranularity.cs', + 'Atk_Registry.cs', + 'Atk_HyperlinkImplAdapter.cs', + 'Atk_UtilListenerInfo.cs', + 'Atk_Socket.cs', + 'Atk_IEditableText.cs', + 'Atk_ITableCell.cs', + 'Atk_CoordType.cs', + 'Atk_TableCellAdapter.cs', + 'Atk_ValueType.cs', + 'Atk_TextAttribute.cs', + 'Atk_AtkSharp.EventListenerInitNative.cs', + 'Atk_ValueAdapter.cs', + 'Atk_Plug.cs', + 'Atk_StateChangeHandler.cs', + 'Atk_KeyEventStruct.cs', + 'Atk_Function.cs', + 'Atk_Misc.cs', + 'Atk_PageChangedHandler.cs', + 'Atk_IStreamableContent.cs', + 'Atk_DocumentAdapter.cs', + 'Atk_RowInsertedHandler.cs', + 'Atk_IImage.cs', + 'Atk_StateManager.cs', + 'Atk_Focus.cs', + 'Atk_HyperlinkStateFlags.cs', + 'Atk_Util.cs', + 'Atk_ObjectFactory.cs', + 'Atk_HypertextAdapter.cs', + 'Atk_Hyperlink.cs', + 'Atk_ActiveDescendantChangedHandler.cs', + 'Atk_IHypertext.cs', + 'Atk_IComponent.cs', + 'Atk_TextRemoveHandler.cs', + 'Atk_PropertyChangeHandler.cs', + 'Atk_IAction.cs', +] + +source_gen = custom_target('atk_generated', + command: [ + generate_api, + '--api-raw', raw_api_fname, + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', meson.project_name() + ], + depends: [gapi_codegen, gapi_fixup], + input: raw_api_fname, + output: generated_sources, +) + +atk_api_includes = join_paths(meson.current_build_dir(), 'atk-api.xml') + diff --git a/atk/meson.build b/atk/meson.build new file mode 100644 index 000000000..c9b72287d --- /dev/null +++ b/atk/meson.build @@ -0,0 +1,33 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'atk-sharp' + +raw_api_fname = join_paths(meson.current_source_dir(), 'atk-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Atk.metadata') +glueincludes = 'atk/atk.h' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +subdir('generated') + +sources = [ + 'Global.cs', + 'Hyperlink.cs', + 'Misc.cs', + 'Object.cs', + 'SelectionAdapter.cs', + 'TextAdapter.cs', + 'TextChangedDetail.cs', + 'Util.cs', +] + +atk_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], + link_with: glib_sharp, +) + +install_infos += [assembly_name, atk_sharp.full_path()] +atk_sharp_dep = declare_dependency(link_with: atk_sharp) + diff --git a/cairo/meson.build b/cairo/meson.build new file mode 100644 index 000000000..4c1a2f08d --- /dev/null +++ b/cairo/meson.build @@ -0,0 +1,72 @@ +snk = join_paths(meson.current_source_dir(), 'mono.snk') +assembly_name = 'cairo-sharp' + +raw_api_fname = join_paths(meson.current_source_dir(), 'cairo-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'cairo.metadata') +glueincludes = '' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +sources = [ + 'Antialias.cs', + 'Cairo.cs', + 'CairoDebug.cs', + 'Color.cs', + 'Content.cs', + 'Context.cs', + 'Device.cs', + 'DirectFBSurface.cs', + 'Distance.cs', + 'Extend.cs', + 'FillRule.cs', + 'Filter.cs', + 'FontExtents.cs', + 'FontFace.cs', + 'FontOptions.cs', + 'FontSlant.cs', + 'FontType.cs', + 'FontWeight.cs', + 'Format.cs', + 'GlitzSurface.cs', + 'Glyph.cs', + 'Gradient.cs', + 'HintMetrics.cs', + 'HintStyle.cs', + 'ImageSurface.cs', + 'LinearGradient.cs', + 'LineCap.cs', + 'LineJoin.cs', + 'Matrix.cs', + 'NativeMethods.cs', + 'Operator.cs', + 'Path.cs', + 'Pattern.cs', + 'PatternType.cs', + 'PdfSurface.cs', + 'Point.cs', + 'PointD.cs', + 'PSSurface.cs', + 'RadialGradient.cs', + 'Rectangle.cs', + 'Region.cs', + 'ScaledFont.cs', + 'SolidPattern.cs', + 'Status.cs', + 'SubpixelOrder.cs', + 'Surface.cs', + 'SurfacePattern.cs', + 'SurfaceType.cs', + 'SvgSurface.cs', + 'SvgVersion.cs', + 'TextExtents.cs', + 'Win32Surface.cs', + 'XcbSurface.cs', + 'XlibSurface.cs', +] + +cairo_sharp = library(assembly_name, sources, + cs_args: ['-keyfile:' + snk], +) + +install_infos += [assembly_name, cairo_sharp.full_path()] +cairo_sharp_dep = declare_dependency(link_with: cairo_sharp) +cairo_api_includes = join_paths(meson.current_source_dir(), 'cairo-api.xml') diff --git a/gacutil_install.py b/gacutil_install.py new file mode 100644 index 000000000..48ef320b2 --- /dev/null +++ b/gacutil_install.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 + +import os +import sys +import subprocess + +outdir = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], 'lib') +builddir = os.environ['MESON_BUILD_ROOT'] + +for i in range(1, len(sys.argv), 2): + assembly_name, fname = sys.argv[i], os.path.join(builddir, sys.argv[i + 1]) + + cmd = ['gacutil', '/i', fname, '/f', '/package', assembly_name, '/root', outdir] + print('(%s) Running %s' % (os.path.abspath(os.path.curdir), ' '.join(cmd))) + subprocess.check_call(cmd) diff --git a/gdk/generated/meson.build b/gdk/generated/meson.build new file mode 100644 index 000000000..89956fab3 --- /dev/null +++ b/gdk/generated/meson.build @@ -0,0 +1,220 @@ +generated_sources = [ + 'Gdk_Pixbuf.cs', + 'Gdk_GdkSharp.FilterFuncNative.cs', + 'Gdk_GdkSharp.EventFuncNative.cs', + 'Gdk_FilterFunc.cs', + 'Gdk_EventFunc.cs', + 'Gdk_ActionChangedHandler.cs', + 'Gdk_PixbufBufferQueue.cs', + 'Gdk_ByteOrder.cs', + 'Gdk_Error.cs', + 'Gdk_EventMask.cs', + 'Gdk_FilterReturn.cs', + 'Gdk_PixbufAniAnimIter.cs', + 'Gdk_WindowPaint.cs', + 'Gdk_ThreadsDispatch.cs', + 'Gdk_EventHelper.cs', + 'Gdk_DevicePadAdapter.cs', + 'Gdk_Monitor.cs', + 'Gdk_GLError.cs', + 'Gdk_EventFilter.cs', + 'Gdk_Cursor.cs', + 'Gdk_Events.cs', + 'Gdk_Gravity.cs', + 'Gdk_Backend.cs', + 'Gdk_FrameClockPhase.cs', + 'Gdk_Gif89.cs', + 'Gdk_OffscreenWindowClass.cs', + 'Gdk_AxisUse.cs', + 'Gdk_Global.cs', + 'Gdk_SeatCapabilities.cs', + 'Gdk_ArgContext.cs', + 'Gdk_DeviceToolType.cs', + 'Gdk_IOClosure.cs', + 'Gdk_WindowChildFunc.cs', + 'Gdk_Selection.cs', + 'Gdk_WindowType.cs', + 'Gdk_GLContext.cs', + 'Gdk_AreaUpdatedHandler.cs', + 'Gdk_ToolChangedHandler.cs', + 'Gdk_Drag.cs', + 'Gdk_GrabStatus.cs', + 'Gdk_CursorType.cs', + 'Gdk_PixbufFrameAction.cs', + 'Gdk_DeviceAddedHandler.cs', + 'Gdk_Color.cs', + 'Gdk_EventTouchpadPinch.cs', + 'Gdk_FrameClock.cs', + 'Gdk_DropPerformedHandler.cs', + 'Gdk_SeatRemovedHandler.cs', + 'Gdk_PixbufGifAnimIter.cs', + 'Gdk_MonitorAddedHandler.cs', + 'Gdk_WindowWindowClass.cs', + 'Gdk_PixbufGifAnim.cs', + 'Gdk_PixbufScaledAnimIter.cs', + 'Gdk_WMFunction.cs', + 'Gdk_PickEmbeddedChildHandler.cs', + 'Gdk_PropertyState.cs', + 'Gdk_Atom.cs', + 'Gdk_TiffContext.cs', + 'Gdk_MonitorRemovedHandler.cs', + 'Gdk_TimeCoord.cs', + 'Gdk_PixbufAlphaMode.cs', + 'Gdk_IcnsBlockHeader.cs', + 'Gdk_PixbufAnimation.cs', + 'Gdk_PixbufRotation.cs', + 'Gdk_PixbufFormat.cs', + 'Gdk_PixdataDumpType.cs', + 'Gdk_Window.cs', + 'Gdk_TGAContext.cs', + 'Gdk_SeatDefault.cs', + 'Gdk_WindowTypeHint.cs', + 'Gdk_Pixdata.cs', + 'Gdk_Pointer.cs', + 'Gdk_Screen.cs', + 'Gdk_DeviceChangedHandler.cs', + 'Gdk_PangoHelper.cs', + 'Gdk_GlobalErrorTrap.cs', + 'Gdk_ToEmbedderHandler.cs', + 'Gdk_XPMContext.cs', + 'Gdk_EventPadAxis.cs', + 'Gdk_Colorspace.cs', + 'Gdk_Predicate.cs', + 'Gdk_Seat.cs', + 'Gdk_InterpType.cs', + 'Gdk_TGAHeader.cs', + 'Gdk_PixdataType.cs', + 'Gdk_PixbufLoader.cs', + 'Gdk_MovedToRectHandler.cs', + 'Gdk_SizePreparedHandler.cs', + 'Gdk_LoadContext.cs', + 'Gdk_IconEntry.cs', + 'Gdk_SettingAction.cs', + 'Gdk_CrossingMode.cs', + 'Gdk_Property.cs', + 'Gdk_DragContext.cs', + 'Gdk_FrameTimings.cs', + 'Gdk_SeatGrabPrepareFunc.cs', + 'Gdk_ArgDesc.cs', + 'Gdk_ModifierIntent.cs', + 'Gdk_OffscreenWindow.cs', + 'Gdk_Keyval.cs', + 'Gdk_DragAction.cs', + 'Gdk_PixbufAnimationIter.cs', + 'Gdk_VisibilityState.cs', + 'Gdk_PixbufNonAnimIterClass.cs', + 'Gdk_NotifyType.cs', + 'Gdk_Keymap.cs', + 'Gdk_DisplayManager.cs', + 'Gdk_DeviceRemovedHandler.cs', + 'Gdk_CairoHelper.cs', + 'Gdk_PixbufNonAnimIter.cs', + 'Gdk_IDevicePad.cs', + 'Gdk_VisualType.cs', + 'Gdk_FullscreenMode.cs', + 'Gdk_Threads.cs', + 'Gdk_GifContext.cs', + 'Gdk_DeviceTool.cs', + 'Gdk_KeymapKey.cs', + 'Gdk_PixbufError.cs', + 'Gdk_Display.cs', + 'Gdk_ClosedHandler.cs', + 'Gdk_EventPadButton.cs', + 'Gdk_DeviceManager.cs', + 'Gdk_Device.cs', + 'Gdk_Visual.cs', + 'Gdk_PixbufNonAnim.cs', + 'Gdk_EventTouchpadSwipe.cs', + 'Gdk_DragProtocol.cs', + 'Gdk_PixbufSaveFunc.cs', + 'Gdk_InputMode.cs', + 'Gdk_DevicePadFeature.cs', + 'Gdk_WindowHints.cs', + 'Gdk_PixbufSimpleAnimIterClass.cs', + 'Gdk_AppLaunchContext.cs', + 'Gdk_ModifierType.cs', + 'Gdk_TGAFooter.cs', + 'Gdk_GdkSharp.PixbufDestroyNotifyNative.cs', + 'Gdk_WindowAttributesType.cs', + 'Gdk_DragCancelReason.cs', + 'Gdk_FrameClockIdle.cs', + 'Gdk_InputSource.cs', + 'Gdk_Status.cs', + 'Gdk_PixbufSimpleAnimIter.cs', + 'Gdk_AxisFlags.cs', + 'Gdk_PropMode.cs', + 'Gdk_PixbufScaledAnimIterClass.cs', + 'Gdk_DisplayOpenedHandler.cs', + 'Gdk_Geometry.cs', + 'Gdk_DeviceType.cs', + 'Gdk_WindowEdge.cs', + 'Gdk_WMDecoration.cs', + 'Gdk_WindowRedirect.cs', + 'Gdk_WindowAttr.cs', + 'Gdk_Keyboard.cs', + 'Gdk_EventPadGroupMode.cs', + 'Gdk_GdipContext.cs', + 'Gdk_PixbufDestroyNotify.cs', + 'Gdk_CancelHandler.cs', + 'Gdk_DrawingContext.cs', + 'Gdk_Point.cs', + 'Gdk_TGAColor.cs', + 'Gdk_TGAColormap.cs', + 'Gdk_AnchorHints.cs', + 'Gdk_PixbufSimpleAnim.cs', + 'Gdk_EventSequence.cs', + 'Gdk_GdkSharp.WindowChildFuncNative.cs', + 'Gdk_GdkSharp.PixbufSaveFuncNative.cs', + 'Gdk_Drop.cs', + 'Gdk_ClientFilter.cs', + 'Gdk_SubpixelLayout.cs', + 'Gdk_EventType.cs', + 'Gdk_TouchpadGesturePhase.cs', + 'Gdk_GrabOwnership.cs', + 'Gdk_RGBA.cs', + 'Gdk_PixbufNonAnimClass.cs', + 'Gdk_SeatDefaultClass.cs', + 'Gdk_WindowState.cs', + 'Gdk_SeatAddedHandler.cs', + 'Gdk_PixbufFrame.cs', + 'Gdk_GdkSharp.SeatGrabPrepareFuncNative.cs', + 'Gdk_AxisInfo.cs', + 'Gdk_ScrollDirection.cs', + 'Gdk_FromEmbedderHandler.cs', + 'Gdk_EventTouch.cs', + 'Gdk_XBMData.cs', + 'Gdk_OwnerChange.cs', + 'Gdk_PixbufAniAnim.cs', + 'Gdk_CreateSurfaceHandler.cs', + 'Gdk_GdkSharp.WindowInvalidateHandlerFuncNative.cs', + 'Gdk_WindowInvalidateHandlerFunc.cs', + 'GLib_GLibSharp.AsyncReadyCallbackNative.cs', + 'GLib_GLibSharp.GSourceFuncNative.cs', +] + +source_gen = [] +source_gen += [custom_target(assembly_name + 'codegen', + input: raw_api_fname, + output: generated_sources, + command: [ + generate_api, + '--api-raw', '@INPUT@', + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--symbols', symbols, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--extra-includes', pango_api_includes, + '--extra-includes', gio_api_includes, + '--extra-includes', cairo_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', assembly_name, + '--glue-libname', gluefile, + '--schema', schema, + ], + depends: [gapi_codegen, gapi_fixup])] + +gdk_api_includes = join_paths(meson.current_build_dir(), 'gdk-api.xml') diff --git a/gdk/meson.build b/gdk/meson.build new file mode 100644 index 000000000..16eb4dd48 --- /dev/null +++ b/gdk/meson.build @@ -0,0 +1,71 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'gdk-sharp' +symbols = join_paths(meson.current_source_dir(), 'gdk-symbols.xml') + +raw_api_fname = join_paths(meson.current_source_dir(), 'gdk-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Gdk.metadata') +glueincludes = 'gdk/gdk.h' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +configure_file(input: assembly_name + '-3.0.pc.in', + output: assembly_name + '-3.0.pc', + configuration : version_data) + +subdir('generated') + +sources = [ + 'Atom.cs', + 'Color.cs', + 'Device.cs', + 'Display.cs', + 'DisplayManager.cs', + 'EventButton.cs', + 'EventConfigure.cs', + 'EventCrossing.cs', + 'Event.cs', + 'EventDND.cs', + 'EventExpose.cs', + 'EventFocus.cs', + 'EventGrabBroken.cs', + 'EventKey.cs', + 'EventMotion.cs', + 'EventOwnerChange.cs', + 'EventProperty.cs', + 'EventProximity.cs', + 'EventScroll.cs', + 'EventSelection.cs', + 'EventSetting.cs', + 'EventVisibility.cs', + 'EventWindowState.cs', + 'Global.cs', + 'Key.cs', + 'Keymap.cs', + 'Pixbuf.cs', + 'PixbufAnimation.cs', + 'PixbufFrame.cs', + 'PixbufLoader.cs', + 'Pixdata.cs', + 'Point.cs', + 'Property.cs', + 'Rectangle.cs', + 'RGBA.cs', + 'Screen.cs', + 'Selection.cs', + 'Size.cs', + 'TextProperty.cs', + 'WindowAttr.cs', + 'Window.cs', +] + +gdk_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], + link_with: [glib_sharp, pango_sharp, cairo_sharp, gio_sharp], +) + +install_infos += [assembly_name, gdk_sharp.full_path()] +gdk_sharp_dep = declare_dependency(link_with: gdk_sharp) + diff --git a/generator/meson.build b/generator/meson.build new file mode 100644 index 000000000..b0c5987cd --- /dev/null +++ b/generator/meson.build @@ -0,0 +1,82 @@ +gapi_fixup = executable('gapi-fixup', 'gapi-fixup.cs', + install_dir : gapi_installdir, + install: true) + +configure_file(input: 'gapi3-fixup.in', + output: 'gapi3-fixup', + configuration : gapi_parser_data, + install_dir: get_option('bindir'), + install: true) + + +gapi_codegen = executable('gapi_codegen', + 'AliasGen.cs', + 'ArrayParameter.cs', + 'BoxedGen.cs', + 'ByRefGen.cs', + 'CallbackGen.cs', + 'ChildProperty.cs', + 'ClassBase.cs', + 'ClassField.cs', + 'ClassGen.cs', + 'CodeGenerator.cs', + 'ConstFilenameGen.cs', + 'ConstStringGen.cs', + 'Constant.cs', + 'Ctor.cs', + 'DefaultSignalHandler.cs', + 'EnumGen.cs', + 'FieldBase.cs', + 'GenBase.cs', + 'GenerationInfo.cs', + 'GObjectVM.cs', + 'HandleBase.cs', + 'IAccessor.cs', + 'IGeneratable.cs', + 'IManualMarshaler.cs', + 'InterfaceGen.cs', + 'InterfaceVM.cs', + 'IOwnable.cs', + 'LogWriter.cs', + 'LPGen.cs', + 'LPUGen.cs', + 'ManagedCallString.cs', + 'ManualGen.cs', + 'MarshalGen.cs', + 'MethodBase.cs', + 'MethodBody.cs', + 'Method.cs', + 'NativeStructGen.cs', + 'ObjectField.cs', + 'ObjectBase.cs', + 'ObjectGen.cs', + 'OpaqueGen.cs', + 'Options.cs', + 'OwnableGen.cs', + 'Parameter.cs', + 'Parameters.cs', + 'Parser.cs', + 'Property.cs', + 'PropertyBase.cs', + 'ReturnValue.cs', + 'Signal.cs', + 'Signature.cs', + 'SimpleBase.cs', + 'SimpleGen.cs', + 'Statistics.cs', + 'StructBase.cs', + 'StructField.cs', + 'StructGen.cs', + 'SymbolTable.cs', + 'UnionGen.cs', + 'VirtualMethod.cs', + 'VMSignature.cs', + 'XmlElementExtensions.cs', + install_dir : gapi_installdir, + install: true) + +configure_file(input: 'gapi3-codegen.in', + output: 'gapi3-codegen', + configuration : gapi_parser_data, + install_dir: get_option('bindir'), + install: true) diff --git a/gio/generated/generate_code.py b/gio/generated/generate_code.py new file mode 100644 index 000000000..f49d8dc99 --- /dev/null +++ b/gio/generated/generate_code.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python3 + +import argparse +import glob +import os +import re +import shutil +import subprocess + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--api-raw") + parser.add_argument("--gapi-fixup") + parser.add_argument("--metadata") + parser.add_argument("--gapi-codegen") + parser.add_argument("--glue-file") + parser.add_argument("--glue-includes") + parser.add_argument("--glue-libname") + parser.add_argument("--assembly-name") + parser.add_argument("--extra-includes", action='append', default=[]) + parser.add_argument("--out") + parser.add_argument("--files") + parser.add_argument("--symbols") + parser.add_argument("--schema") + parser.add_argument("--fakeglue", action='store_true') + + opts = parser.parse_args() + if opts.fakeglue: + exit(0) + + if not opts.glue_libname: + opts.glue_libname = opts.assembly_name + 'sharpglue-3' + + api_xml = os.path.join(opts.out, os.path.basename( + opts.api_raw).replace('.raw', '.xml')) + + shutil.copyfile(opts.api_raw, api_xml) + + cmd = [opts.gapi_fixup, "--api=" + api_xml, + "--metadata=" + opts.metadata] + if opts.symbols: + cmd.extend(['--symbols=' + opts.symbols]) + subprocess.check_call(cmd) + + cmd = [ + opts.gapi_codegen, '--generate', api_xml, + '--outdir=' + opts.out, + '--glue-filename=' + opts.glue_file, + '--gluelib-name=' + opts.glue_libname, + '--glue-includes=' + opts.glue_includes, + '--assembly-name=' + opts.assembly_name,] + + if opts.schema: + cmd += ['--schema=' + opts.schema] + + cmd += ['-I' + i for i in opts.extra_includes] + + print(' '.join(cmd)) + subprocess.check_call(cmd) + + # WORKAROUND: Moving files into the out directory with special names + # as meson doesn't like path separator in output names. + regex = re.compile('_') + dirs = set() + for _f in opts.files.split(';'): + fpath = os.path.join(opts.out, regex.sub("/", _f, 1)) + dirs.add(os.path.dirname(fpath)) + _f = os.path.join(opts.out, _f) + shutil.move(fpath, _f) + + missing_files = [] + for _dir in dirs: + missing_files.extend(glob.glob(os.path.join(_dir, '*.cs'))) + + if missing_files: + print("Following files were generated but not listed:\n %s" % + '\n '.join(["'%s_%s'," % (m.split(os.path.sep)[-2], m.split(os.path.sep)[-1]) + for m in missing_files])) + exit(1) + + for _dir in dirs: + shutil.rmtree(_dir) diff --git a/gio/generated/meson.build b/gio/generated/meson.build new file mode 100644 index 000000000..53b615858 --- /dev/null +++ b/gio/generated/meson.build @@ -0,0 +1,418 @@ +generate_api = find_program('generate_code.py') + +generated_sources = [ + 'GLib_DBusServer.cs', + 'GLib_GLibSharp.AsyncReadyCallbackNative.cs', + 'GLib_DBusProxyFlags.cs', + 'GLib_GLibSharp.SettingsBindGetMappingNative.cs', + 'GLib_FileAttributeInfoFlags.cs', + 'GLib_SettingsBackendWatch.cs', + 'GLib_ResourceFileEnumerator.cs', + 'GLib_Credentials.cs', + 'GLib_AsyncResultAdapter.cs', + 'GLib_DBusError.cs', + 'GLib_DBusMessageFlags.cs', + 'GLib_FileType.cs', + 'GLib_FdoNotificationBackend.cs', + 'GLib_TlsDatabaseVerifyFlags.cs', + 'GLib_DBusMessageType.cs', + 'GLib_MenuItem.cs', + 'GLib_GLibSharp.FileProgressCallbackNative.cs', + 'GLib_DBusCallFlags.cs', + 'GLib_SocketClient.cs', + 'GLib_ZlibDecompressor.cs', + 'GLib_ActionMapAdapter.cs', + 'GLib_IOModuleScope.cs', + 'GLib_DBusSubtreeFlags.cs', + 'GLib_InputStream.cs', + 'GLib_SimpleProxyResolver.cs', + 'GLib_NetworkAddress.cs', + 'GLib_DBusObjectSkeleton.cs', + 'GLib_Socks4aProxy.cs', + 'GLib_SocketListener.cs', + 'GLib_FileDescriptorBasedAdapter.cs', + 'GLib_ActionRemovedHandler.cs', + 'GLib_Resource.cs', + 'GLib_SettingsBindFlags.cs', + 'GLib_SocketAddress.cs', + 'GLib_EmblemedIcon.cs', + 'GLib_AcceptCertificateHandler.cs', + 'GLib_MenuExporterLink.cs', + 'GLib_PropertyAction.cs', + 'GLib_TlsDatabase.cs', + 'GLib_DummyTlsCertificate.cs', + 'GLib_Socks5Proxy.cs', + 'GLib_IFileDescriptorBased.cs', + 'GLib_FileIOStream.cs', + 'GLib_DataOutputStream.cs', + 'GLib_SocketListenerEvent.cs', + 'GLib_IOSchedulerJob.cs', + 'GLib_MountRemovedHandler.cs', + 'GLib_IDatagramBased.cs', + 'GLib_IOExtension.cs', + 'GLib_AsyncInitableAdapter.cs', + 'GLib_DummyTlsConnection.cs', + 'GLib_ShowUnmountProgressHandler.cs', + 'GLib_DBusErrorEntry.cs', + 'GLib_DummyTlsCertificateClass.cs', + 'GLib_DBusAnnotationInfo.cs', + 'GLib_SocketService.cs', + 'GLib_LaunchedFailedHandler.cs', + 'GLib_ChangeEventHandler.cs', + 'GLib_MemoryBuffer.cs', + 'GLib_Win32RegistrySubkeyIter.cs', + 'GLib_FileMeasureProgressCallback.cs', + 'GLib_OutputMessage.cs', + 'GLib_DBusObject.cs', + 'GLib_DBusInterfaceSkeleton.cs', + 'GLib_ActionGroupAdapter.cs', + 'GLib_ISeekable.cs', + 'GLib_GLibSharp.PollableSourceFuncNative.cs', + 'GLib_ResourceFileInputStreamClass.cs', + 'GLib_GLibSharp.CancellableSourceFuncNative.cs', + 'GLib_NativeVolumeMonitor.cs', + 'GLib_DBusServerClass.cs', + 'GLib_DBusMenuPath.cs', + 'GLib_Win32WinsockFuncs.cs', + 'GLib_MenuExporterGroup.cs', + 'GLib_DBusPropertyInfoFlags.cs', + 'GLib_DriveDisconnectedHandler.cs', + 'GLib_UnixFDMessage.cs', + 'GLib_Win32RegistryValueIter.cs', + 'GLib_ResourceFileInputStream.cs', + 'GLib_DBusAuthObserverClass.cs', + 'GLib_ConverterAdapter.cs', + 'GLib_ShowProcessesHandler.cs', + 'GLib_ItemsChangedHandler.cs', + 'GLib_CancellableSourceFunc.cs', + 'GLib_FileProgressCallback.cs', + 'GLib_DBusSignalInfo.cs', + 'GLib_DriveStartFlags.cs', + 'GLib_CredentialsType.cs', + 'GLib_Menu.cs', + 'GLib_IOStream.cs', + 'GLib_DriveConnectedHandler.cs', + 'GLib_MenuModel.cs', + 'GLib_LocalFileEnumerator.cs', + 'GLib_ProxyAddressEnumerator.cs', + 'GLib_Win32RegistryKeyWatchCallbackFunc.cs', + 'GLib_MenuExporterWatch.cs', + 'GLib_Win32AppInfoApplication.cs', + 'GLib_FileInfo.cs', + 'GLib_ContentType.cs', + 'GLib_MountOperation.cs', + 'GLib_DriveAdapter.cs', + 'GLib_GLibSharp.SocketSourceFuncNative.cs', + 'GLib_BytesIcon.cs', + 'GLib_ThreadedSocketService.cs', + 'GLib_ThreadedResolver.cs', + 'GLib_SettingsGetMapping.cs', + 'GLib_WritableChangedHandler.cs', + 'GLib_TestDBus.cs', + 'GLib_FileMeasureFlags.cs', + 'GLib_IAsyncResult.cs', + 'GLib_DBusMethodInfo.cs', + 'GLib_TaskThreadFunc.cs', + 'GLib_IDrive.cs', + 'GLib_SettingsBackendClosure.cs', + 'GLib_DBusArgInfo.cs', + 'GLib_DBusSendMessageFlags.cs', + 'GLib_DBusObjectManagerClientFlags.cs', + 'GLib_TlsCertificateFlags.cs', + 'GLib_IAppInfo.cs', + 'GLib_UnixFDList.cs', + 'GLib_ITlsServerConnection.cs', + 'GLib_SocketType.cs', + 'GLib_TlsDatabaseLookupFlags.cs', + 'GLib_Application.cs', + 'GLib_DBusInterface.cs', + 'GLib_HttpsProxy.cs', + 'GLib_OutputStream.cs', + 'GLib_TlsConnection.cs', + 'GLib_DBusMessageClass.cs', + 'GLib_ThemedIcon.cs', + 'GLib_IOErrorEnum.cs', + 'GLib_DBusServerFlags.cs', + 'GLib_TcpWrapperConnection.cs', + 'GLib_BusNameWatcherFlags.cs', + 'GLib_GLibSharp.IOSchedulerJobFuncNative.cs', + 'GLib_SocketProtocol.cs', + 'GLib_DummyTlsDatabase.cs', + 'GLib_TlsFileDatabase.cs', + 'GLib_SeekableAdapter.cs', + 'GLib_NetworkMonitor.cs', + 'GLib_DtlsServerConnection.cs', + 'GLib_SocketAddressEnumerator.cs', + 'GLib_CommandLineHandler.cs', + 'GLib_CocoaNotificationBackend.cs', + 'GLib_ConverterResult.cs', + 'GLib_TlsCertificateRequestFlags.cs', + 'GLib_MenuAttributeIter.cs', + 'GLib_IOError.cs', + 'GLib_TlsServerConnectionAdapter.cs', + 'GLib_SocketFamily.cs', + 'GLib_RunHandler.cs', + 'GLib_Win32AppInfoURLSchema.cs', + 'GLib_DBusObjectManager.cs', + 'GLib_MountAddedHandler.cs', + 'GLib_AskPasswordFlags.cs', + 'GLib_LocalFileIOStream.cs', + 'GLib_FileMonitorEvent.cs', + 'GLib_NativeSocketAddress.cs', + 'GLib_FileReadMoreCallback.cs', + 'GLib_EmblemOrigin.cs', + 'GLib_IOModule.cs', + 'GLib_VolumeAdapter.cs', + 'GLib_Subprocess.cs', + 'GLib_PortalNotificationBackend.cs', + 'GLib_OutputVector.cs', + 'GLib_SocketMsgFlags.cs', + 'GLib_LoadableIconAdapter.cs', + 'GLib_DataStreamNewlineType.cs', + 'GLib_VolumeChangedHandler.cs', + 'GLib_AskPasswordHandler.cs', + 'GLib_SubprocessFlags.cs', + 'GLib_FileAttributeInfo.cs', + 'GLib_BufferedInputStream.cs', + 'GLib_GLibSharp.SpawnChildSetupFuncNative.cs', + 'GLib_VolumeMonitor.cs', + 'GLib_DBusMethodInvocationClass.cs', + 'GLib_MenuLinkIter.cs', + 'GLib_ReplyHandler.cs', + 'GLib_PasswordSave.cs', + 'GLib_DBusInterfaceInfo.cs', + 'GLib_ResolverRecordType.cs', + 'GLib_Win32AppInfoFileExtensionClass.cs', + 'GLib_MountMountFlags.cs', + 'GLib_FilesystemPreviewType.cs', + 'GLib_DatagramBasedAdapter.cs', + 'GLib_ChangedHandler.cs', + 'GLib_TlsError.cs', + 'GLib_TlsCertificate.cs', + 'GLib_Resolver.cs', + 'GLib_SocketControlMessage.cs', + 'GLib_DataInputStream.cs', + 'GLib_MountAdapter.cs', + 'GLib_SocketConnection.cs', + 'GLib_DummyDtlsConnection.cs', + 'GLib_DBusInterfaceSkeletonFlags.cs', + 'GLib_IAsyncInitable.cs', + 'GLib_SimpleAsyncThreadFunc.cs', + 'GLib_TlsInteractionResult.cs', + 'GLib_InitableAdapter.cs', + 'GLib_DBusObjectManagerServer.cs', + 'GLib_UnixConnection.cs', + 'GLib_TlsPasswordFlags.cs', + 'GLib_ActionEnabledChangedHandler.cs', + 'GLib_GLibSharp.ReallocFuncNative.cs', + 'GLib_Win32AppInfoFileExtension.cs', + 'GLib_ZlibCompressorFormat.cs', + 'GLib_UnixSocketAddressType.cs', + 'GLib_InetAddressMask.cs', + 'GLib_MenuExporter.cs', + 'GLib_BusType.cs', + 'GLib_EventHandler.cs', + 'GLib_Win32AppInfoHandlerClass.cs', + 'GLib_TlsRehandshakeMode.cs', + 'GLib_FileIcon.cs', + 'GLib_SettingsBackend.cs', + 'GLib_ITlsClientConnection.cs', + 'GLib_ResourceFileEnumeratorClass.cs', + 'GLib_ResourceFlags.cs', + 'GLib_DBusObjectManagerClient.cs', + 'GLib_Socks4Proxy.cs', + 'GLib_DBusMessageByteOrder.cs', + 'GLib_SrvTarget.cs', + 'GLib_CharsetConverter.cs', + 'GLib_DriveStopButtonHandler.cs', + 'GLib_Emblem.cs', + 'GLib_DummyTlsConnectionClass.cs', + 'GLib_WritableChangeEventHandler.cs', + 'GLib_DummyDtlsConnectionClass.cs', + 'GLib_GtkNotificationBackend.cs', + 'GLib_FileMonitor.cs', + 'GLib_AppInfoMonitor.cs', + 'GLib_IOStreamSpliceFlags.cs', + 'GLib_FileInputStream.cs', + 'GLib_DBusSubtreeVTable.cs', + 'GLib_InputVector.cs', + 'GLib_DtlsClientConnection.cs', + 'GLib_ActionAddedHandler.cs', + 'GLib_GLibSharp.TaskThreadFuncNative.cs', + 'GLib_AppInfoCreateFlags.cs', + 'GLib_TlsInteraction.cs', + 'GLib_ReallocFunc.cs', + 'GLib_UnixCredentialsMessage.cs', + 'GLib_ResolverError.cs', + 'GLib_Settings.cs', + 'GLib_GLibSharp.SettingsBindSetMappingNative.cs', + 'GLib_IConverter.cs', + 'GLib_DBusMessage.cs', + 'GLib_SettingsBindGetMapping.cs', + 'GLib_MountUnmountFlags.cs', + 'GLib_IOSchedulerJobFunc.cs', + 'GLib_SimpleIOStream.cs', + 'GLib_IconAdapter.cs', + 'GLib_DBusConnectionFlags.cs', + 'GLib_SocketSourceFunc.cs', + 'GLib_GLibSharp.FileMeasureProgressCallbackNative.cs', + 'GLib_TestDBusClass.cs', + 'GLib_FileEnumerator.cs', + 'GLib_AppLaunchContext.cs', + 'GLib_Task.cs', + 'GLib_DBusProxy.cs', + 'GLib_ProxyResolverAdapter.cs', + 'GLib_DBusActionGroup.cs', + 'GLib_SettingsBindSetMapping.cs', + 'GLib_DriveChangedHandler.cs', + 'GLib_FileCreateFlags.cs', + 'GLib_PollableInputStream.cs', + 'GLib_ResourceError.cs', + 'GLib_MenuExporterRemote.cs', + 'GLib_ExportedSubtree.cs', + 'GLib_ApplicationFlags.cs', + 'GLib_ProxyResolverPortal.cs', + 'GLib_GioGlobal.cs', + 'GLib_GLibSharp.SimpleAsyncThreadFuncNative.cs', + 'GLib_DBusConnection.cs', + 'GLib_Socket.cs', + 'GLib_TlsClientConnectionAdapter.cs', + 'GLib_GLibSharp.Win32RegistryKeyWatchCallbackFuncNative.cs', + 'GLib_Win32AppInfoURLSchemaClass.cs', + 'GLib_IIcon.cs', + 'GLib_MountOperationResult.cs', + 'GLib_VolumeRemovedHandler.cs', + 'GLib_ProxyAdapter.cs', + 'GLib_SubprocessLauncher.cs', + 'GLib_ResourceLookupFlags.cs', + 'GLib_InetAddress.cs', + 'GLib_SimpleActionGroup.cs', + 'GLib_FileAttributeMatcher.cs', + 'GLib_NetworkConnectivity.cs', + 'GLib_ConverterFlags.cs', + 'GLib_DBusMessageHeaderField.cs', + 'GLib_IVolume.cs', + 'GLib_FileAdapter.cs', + 'GLib_Notification.cs', + 'GLib_DBusProxyTypeFunc.cs', + 'GLib_IOExtensionPoint.cs', + 'GLib_TcpConnection.cs', + 'GLib_Win32AppInfoHandler.cs', + 'GLib_DummyProxyResolver.cs', + 'GLib_TlsPassword.cs', + 'GLib_DataStreamByteOrder.cs', + 'GLib_DBusPropertyInfo.cs', + 'GLib_ISocketConnectable.cs', + 'GLib_OpenedHandler.cs', + 'GLib_IProxyResolver.cs', + 'GLib_ActionStateChangedHandler.cs', + 'GLib_FilterOutputStream.cs', + 'GLib_SocketClientEvent.cs', + 'GLib_IOStreamAdapter.cs', + 'GLib_VfsFileLookupFunc.cs', + 'GLib_NotificationPriority.cs', + 'GLib_InputMessage.cs', + 'GLib_ApplicationCommandLine.cs', + 'GLib_Cancellable.cs', + 'GLib_DBusObjectProxy.cs', + 'GLib_DBusSignalFlags.cs', + 'GLib_InetSocketAddress.cs', + 'GLib_Win32RegistryValueType.cs', + 'GLib_SchemaState.cs', + 'GLib_DBusAuthObserver.cs', + 'GLib_Win32RegistryKeyWatcherFlags.cs', + 'GLib_IActionGroup.cs', + 'GLib_Win32AppInfoApplicationClass.cs', + 'GLib_DatagramBasedSourceFunc.cs', + 'GLib_PollableSourceFunc.cs', + 'GLib_GLibSharp.GSourceFuncNative.cs', + 'GLib_Pollable.cs', + 'GLib_ZlibCompressor.cs', + 'GLib_DtlsConnection.cs', + 'GLib_GLibSharp.DatagramBasedSourceFuncNative.cs', + 'GLib_ExportedObject.cs', + 'GLib_TestDBusFlags.cs', + 'GLib_MenuExporterMenu.cs', + 'GLib_BusNameOwnerFlags.cs', + 'GLib_DBusNodeInfo.cs', + 'GLib_GLibSharp.VfsFileLookupFuncNative.cs', + 'GLib_NetworkService.cs', + 'GLib_DBusMethodInvocation.cs', + 'GLib_FileMonitorFlags.cs', + 'GLib_DBusConnectionClass.cs', + 'GLib_DBusInterfaceVTable.cs', + 'GLib_IProxy.cs', + 'GLib_IActionMap.cs', + 'GLib_Resources.cs', + 'GLib_SimplePermission.cs', + 'GLib_IFile.cs', + 'GLib_LaunchedHandler.cs', + 'GLib_NextstepSettingsBackend.cs', + 'GLib_VolumeAddedHandler.cs', + 'GLib_OutputStreamSpliceFlags.cs', + 'GLib_BufferedOutputStream.cs', + 'GLib_PollableOutputStream.cs', + 'GLib_FileCopyFlags.cs', + 'GLib_AskQuestionHandler.cs', + 'GLib_SimpleAsyncResult.cs', + 'GLib_IMount.cs', + 'GLib_DBusMenuGroup.cs', + 'GLib_FilenameCompleter.cs', + 'GLib_IOModuleScopeFlags.cs', + 'GLib_Permission.cs', + 'GLib_MountChangedHandler.cs', + 'GLib_DriveEjectButtonHandler.cs', + 'GLib_DummyTlsDatabaseClass.cs', + 'GLib_ProxyAddress.cs', + 'GLib_FileAttributeStatus.cs', + 'GLib_IInitable.cs', + 'GLib_MessageToWriteData.cs', + 'GLib_FileOutputStream.cs', + 'GLib_GLibSharp.FileReadMoreCallbackNative.cs', + 'GLib_Vfs.cs', + 'GLib_FileAttributeInfoList.cs', + 'GLib_DriveStartStopType.cs', + 'GLib_ActionEntry.cs', + 'GLib_Win32RegistryKey.cs', + 'GLib_NotificationBackend.cs', + 'GLib_IncomingHandler.cs', + 'GLib_HttpProxy.cs', + 'GLib_MountPreUnmountHandler.cs', + 'GLib_SocketConnectableAdapter.cs', + 'GLib_SimpleAction.cs', + 'GLib_ActionAdapter.cs', + 'GLib_FileQueryInfoFlags.cs', + 'GLib_FilterInputStream.cs', + 'GLib_GLibSharp.SettingsGetMappingNative.cs', + 'GLib_ILoadableIcon.cs', + 'GLib_TlsAuthenticationMode.cs', + 'GLib_GLibSharp.DBusProxyTypeFuncNative.cs', + 'GLib_FileAttributeType.cs', + 'GLib_AsyncReadyCallback.cs', + 'GLib_DBusCapabilityFlags.cs', + 'GLib_AppInfoAdapter.cs', + 'GLib_RemoteActionGroup.cs', + 'GLib_IAction.cs', +] + +source_gen = custom_target('gio_generated', + command: [ + generate_api, + '--api-raw', raw_api_fname, + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', assembly_name, + '--schema', schema, + ], + depends: [gapi_codegen, gapi_fixup], + input: raw_api_fname, + output: generated_sources, +) + +gio_api_includes = join_paths(meson.current_build_dir(), 'gio-api.xml') diff --git a/gio/gio-api.raw b/gio/gio-api.raw index 7a7ee8663..27891c837 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -14261,4 +14261,4 @@ - \ No newline at end of file + diff --git a/gio/meson.build b/gio/meson.build new file mode 100644 index 000000000..01505c70d --- /dev/null +++ b/gio/meson.build @@ -0,0 +1,36 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'gio-sharp' + +raw_api_fname = join_paths(meson.current_source_dir(), 'gio-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Gio.metadata') +glueincludes = 'gio/gio.h' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +configure_file(input: assembly_name + '-3.0.pc.in', + output: assembly_name + '-3.0.pc', + configuration : version_data) + +subdir('generated') + +sources = [ + 'Application.cs', + 'AppInfoAdapter.cs', + 'FileAdapter.cs', + 'FileEnumerator.cs', + 'FileFactory.cs', + 'GioGlobal.cs', + 'GioStream.cs', + 'IFile.cs' +] + +gio_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], + link_with: glib_sharp, +) + +install_infos += [assembly_name, gio_sharp.full_path()] +gio_sharp_dep = declare_dependency(link_with: gio_sharp) diff --git a/glib/meson.build b/glib/meson.build new file mode 100644 index 000000000..1cae0f906 --- /dev/null +++ b/glib/meson.build @@ -0,0 +1,98 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'glib-sharp' + +configure_file(input: 'glib-sharp.dll.config.in', + output: 'glib-sharp.dll.config', + configuration : remap_dl_data) + +configure_file(input: 'glib-sharp-3.0.pc.in', + output: 'glib-sharp-3.0.pc', + configuration : version_data) + +policy_data = configuration_data() +policy_data.set('ASSEMBLY_NAME', assembly_name) +policy_data.set('API_VERSION', apiversion) + +policy = configure_file(input: policy_config, + output: 'policy.config', + configuration : policy_data) + +sources = [ + 'Argv.cs', + 'Bytes.cs', + 'ConnectBeforeAttribute.cs', + 'Cond.cs', + 'Date.cs', + 'DateTime.cs', + 'DefaultSignalHandlerAttribute.cs', + 'DestroyNotify.cs', + 'ExceptionManager.cs', + 'FileUtils.cs', + 'GException.cs', + 'GInterfaceAdapter.cs', + 'GInterfaceAttribute.cs', + 'GLibSynchronizationContext.cs', + 'Global.cs', + 'GString.cs', + 'GType.cs', + 'GTypeAttribute.cs', + 'Idle.cs', + 'InitiallyUnowned.cs', + 'IOChannel.cs', + 'IWrapper.cs', + 'KeyFile.cs', + 'ListBase.cs', + 'List.cs', + 'Log.cs', + 'MainContext.cs', + 'MainLoop.cs', + 'ManagedValue.cs', + 'Markup.cs', + 'Marshaller.cs', + 'MissingIntPtrCtorException.cs', + 'Mutex.cs', + 'NotifyHandler.cs', + 'Object.cs', + 'ObjectManager.cs', + 'Opaque.cs', + 'ParamSpec.cs', + 'PollFD.cs', + 'Priority.cs', + 'PropertyAttribute.cs', + 'PtrArray.cs', + 'RecMutex.cs', + 'Signal.cs', + 'SignalArgs.cs', + 'SignalAttribute.cs', + 'SignalClosure.cs', + 'SList.cs', + 'Source.cs', + 'SourceFunc.cs', + 'SourceFuncs.cs', + 'SourceDummyMarshal.cs', + 'GLibSharp.SourceFuncNative.cs', + 'GLibSharp.SourceDummyMarshalNative.cs', + 'SourceCallbackFuncs.cs', + 'Spawn.cs', + 'Thread.cs', + 'Timeout.cs', + 'TimeVal.cs', + 'TimeZone.cs', + 'ToggleRef.cs', + 'TypeFundamentals.cs', + 'TypeInitializerAttribute.cs', + 'TypeNameAttribute.cs', + 'ValueArray.cs', + 'Value.cs', + 'Variant.cs', + 'VariantType.cs' ] + + +glib_sharp = library(assembly_name, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], +) + +install_infos += [assembly_name, glib_sharp.full_path()] + +glib_sharp_dep = declare_dependency(link_with: glib_sharp) +glib_api_includes = join_paths(meson.current_source_dir(), 'glib-api.xml') diff --git a/gtk/generated/meson.build b/gtk/generated/meson.build new file mode 100644 index 000000000..a010b781c --- /dev/null +++ b/gtk/generated/meson.build @@ -0,0 +1,1089 @@ +generated_sources = [ + 'GLib_GLibSharp.AsyncReadyCallbackNative.cs', + 'Gtk_AboutDialog.cs', + 'Gtk_PopoverConstraint.cs', + 'Gtk_ColorScaleClass.cs', + 'Gtk_CellRendererState.cs', + 'Gtk_Orientation.cs', + 'Gtk_MessageType.cs', + 'Gtk_OrientableAdapter.cs', + 'Gtk_StatusbarMsg.cs', + 'Gtk_CssStyleClass.cs', + 'Gtk_ComboBoxText.cs', + 'Gtk_TextViewLayer.cs', + 'Gtk_UpdateHandler.cs', + 'Gtk_ImageDefinitionEmpty.cs', + 'Gtk_AssistantPageFunc.cs', + 'Gtk_ListBoxRow.cs', + 'Gtk_MountOperationLookupContext.cs', + 'Gtk_CssNode.cs', + 'Gtk_IconPressHandler.cs', + 'Gtk_BuilderConnectFunc.cs', + 'Gtk_ActionGroup.cs', + 'Gtk_OwnerChangeHandler.cs', + 'Gtk_PreeditChangedHandler.cs', + 'Gtk_MenuAttachData.cs', + 'Gtk_UnselectAllHandler.cs', + 'Gtk_TickCallback.cs', + 'Gtk_RequestURIInfo.cs', + 'Gtk_ApplicationInhibitFlags.cs', + 'Gtk_HSV.cs', + 'Gtk_LinkButton.cs', + 'Gtk_Stock.cs', + 'Gtk_TreeModelSort.cs', + 'Gtk_TagRemovedHandler.cs', + 'Gtk_ModelButton.cs', + 'Gtk_CellEditableAdapter.cs', + 'Gtk_ToolItemGroupInfo.cs', + 'Gtk_TrashMonitor.cs', + 'Gtk_IconInfo.cs', + 'Gtk_IconViewChild.cs', + 'Gtk_ImageDefinitionIconSet.cs', + 'Gtk_ActionBar.cs', + 'Gtk_GridRowProperties.cs', + 'Gtk_AppChooserWidget.cs', + 'Gtk_MenuToolButton.cs', + 'Gtk_IMContext.cs', + 'Gtk_TextViewChild.cs', + 'Gtk_ColorEditor.cs', + 'Gtk_ProgressBar.cs', + 'Gtk_Rc.cs', + 'Gtk_MenuItem.cs', + 'Gtk_CellRendererAccel.cs', + 'Gtk_ComboBox.cs', + 'Gtk_TagChangedHandler.cs', + 'Gtk_CellRendererText.cs', + 'Gtk_CssProviderError.cs', + 'Gtk_SortType.cs', + 'Gtk_MenuActivateHandler.cs', + 'Gtk_Bindings.cs', + 'Gtk_ColorScale.cs', + 'Gtk_SpinButton.cs', + 'Gtk_FileFilterInfo.cs', + 'Gtk_StyleProviderAdapter.cs', + 'Gtk_ScaleButton.cs', + 'Gtk_ClipboardRequest.cs', + 'Gtk_PrintOperationAction.cs', + 'Gtk_InfoBar.cs', + 'Gtk_CssGadgetClass.cs', + 'Gtk_ShortcutsGroup.cs', + 'Gtk_CssRuleset.cs', + 'Gtk_DragSourceInfo.cs', + 'Gtk_Grab.cs', + 'Gtk_AccelGroupFindFunc.cs', + 'Gtk_ToggleToolButton.cs', + 'Gtk_Native.cs', + 'Gtk_GtkSharp.CallbackNative.cs', + 'Gtk_PrintBackend.cs', + 'Gtk_EntryBuffer.cs', + 'Gtk_TreeIterCompareFunc.cs', + 'Gtk_ColorSwatch.cs', + 'Gtk_ListBox.cs', + 'Gtk_ScaleMark.cs', + 'Gtk_Init.cs', + 'Gtk_SymbolicColor.cs', + 'Gtk_ImageDefinitionIconName.cs', + 'Gtk_OrientationChangedHandler.cs', + 'Gtk_ResponseData.cs', + 'Gtk_GtkSharp.ListBoxCreateWidgetFuncNative.cs', + 'Gtk_TreeStore.cs', + 'Gtk_GtkSharp.AccelMapForeachNative.cs', + 'Gtk_CssSectionType.cs', + 'Gtk_GtkSharp.TextBufferSerializeFuncNative.cs', + 'Gtk_SeparatorMenuItem.cs', + 'Gtk_AccelMapForeach.cs', + 'Gtk_RecentChooserError.cs', + 'Gtk_CellRendererToggle.cs', + 'Gtk_ToolItemGroup.cs', + 'Gtk_IconFactory.cs', + 'Gtk_IconSet.cs', + 'Gtk_ActivateCurrentHandler.cs', + 'Gtk_CssShorthandProperty.cs', + 'Gtk_TreeCellDataFunc.cs', + 'Gtk_DeleteRangeHandler.cs', + 'Gtk_BeginPrintHandler.cs', + 'Gtk_ICellLayout.cs', + 'Gtk_GtkSharp.ListBoxForeachFuncNative.cs', + 'Gtk_TreeViewColumnSizing.cs', + 'Gtk_CssSelectorTreeBuilder.cs', + 'Gtk_GtkSharp.CalendarDetailFuncNative.cs', + 'Gtk_TextPixbuf.cs', + 'Gtk_ShortcutType.cs', + 'Gtk_AdjustBoundsHandler.cs', + 'Gtk_ColorStop.cs', + 'Gtk_ReleasedHandler.cs', + 'Gtk_PaginateHandler.cs', + 'Gtk_EndPrintHandler.cs', + 'Gtk_AddedHandler.cs', + 'Gtk_TransitionInfo.cs', + 'Gtk_RowCollapsedHandler.cs', + 'Gtk_ButtonPressEventHandler.cs', + 'Gtk_Paned.cs', + 'Gtk_DragDestInfo.cs', + 'Gtk_HandleWindow.cs', + 'Gtk_Main.cs', + 'Gtk_PrintStatus.cs', + 'Gtk_HBox.cs', + 'Gtk_Magnifier.cs', + 'Gtk_IconHelperClass.cs', + 'Gtk_ScrollableAdapter.cs', + 'Gtk_TreeModelAdapter.cs', + 'Gtk_CustomItemActivatedHandler.cs', + 'Gtk_TextHandleClass.cs', + 'Gtk_CssNodeClass.cs', + 'Gtk_Global.cs', + 'Gtk_ColorPlaneClass.cs', + 'Gtk_FileChooserButton.cs', + 'Gtk_CssAnimation.cs', + 'Gtk_IFontChooser.cs', + 'Gtk_GtkSharp.FlowBoxCreateWidgetFuncNative.cs', + 'Gtk_GtkSharp.PrintSettingsFuncNative.cs', + 'Gtk_GtkSharp.ListBoxFilterFuncNative.cs', + 'Gtk_TestCollapseRowHandler.cs', + 'Gtk_GtkSharp.TreeCellDataFuncNative.cs', + 'Gtk_Tooltip.cs', + 'Gtk_GtkSharp.KeySnoopFuncNative.cs', + 'Gtk_TextBufferTargetInfo.cs', + 'Gtk_PressedHandler.cs', + 'Gtk_StockItem.cs', + 'Gtk_IActionObserver.cs', + 'Gtk_PolicyType.cs', + 'Gtk_TextPoppedHandler.cs', + 'Gtk_WrapMode.cs', + 'Gtk_RecentData.cs', + 'Gtk_PrintBackendModule.cs', + 'Gtk_AttachOptions.cs', + 'Gtk_GtkSharp.TreeModelForeachFuncNative.cs', + 'Gtk_CellRendererAccelMode.cs', + 'Gtk_GotPageSizeHandler.cs', + 'Gtk_PageSet.cs', + 'Gtk_Frame.cs', + 'Gtk_EventData.cs', + 'Gtk_SizeGroupMode.cs', + 'Gtk_ClipboardReceivedFunc.cs', + 'Gtk_Selection.cs', + 'Gtk_TextRealIter.cs', + 'Gtk_UpdateCustomWidgetHandler.cs', + 'Gtk_ClipboardClearFunc.cs', + 'Gtk_EditableAdapter.cs', + 'Gtk_HashNode.cs', + 'Gtk_ListRowActivatedHandler.cs', + 'Gtk_TreeViewGridLines.cs', + 'Gtk_WindowType.cs', + 'Gtk_GtkSharp.TreeViewSearchEqualFuncNative.cs', + 'Gtk_TreeModelFilterModifyFunc.cs', + 'Gtk_KeySnoopFunc.cs', + 'Gtk_StackTransitionType.cs', + 'Gtk_ImageType.cs', + 'Gtk_Assistant.cs', + 'Gtk_Drag.cs', + 'Gtk_ToolPaletteDragTargets.cs', + 'Gtk_GetChildPositionHandler.cs', + 'Gtk_DecomposedMatrix.cs', + 'Gtk_CssScanner.cs', + 'Gtk_TreeView.cs', + 'Gtk_FontChooserProp.cs', + 'Gtk_ButtonReleaseEventHandler.cs', + 'Gtk_HeaderBar.cs', + 'Gtk_StyleCascadeIter.cs', + 'Gtk_GtkSharp.CellAllocCallbackNative.cs', + 'Gtk_ParsingErrorHandler.cs', + 'Gtk_MountHandler.cs', + 'Gtk_DrawPageHandler.cs', + 'Gtk_CellRendererMode.cs', + 'Gtk_ToolbarStyle.cs', + 'Gtk_PrintWin32Devnames.cs', + 'Gtk_RecentInfo.cs', + 'Gtk_CellView.cs', + 'Gtk_CellAreaBox.cs', + 'Gtk_ModelMenuItem.cs', + 'Gtk_TextInsertedHandler.cs', + 'Gtk_PreActivateHandler.cs', + 'Gtk_ITreeSortable.cs', + 'Gtk_RegionFlags.cs', + 'Gtk_RecentChooserAdapter.cs', + 'Gtk_Bitmask.cs', + 'Gtk_CssNodeDeclaration.cs', + 'Gtk_IMContextSimple.cs', + 'Gtk_CssMatcherSuperset.cs', + 'Gtk_CssGadget.cs', + 'Gtk_Popover.cs', + 'Gtk_CssWidgetNode.cs', + 'Gtk_EnableDebuggingHandler.cs', + 'Gtk_TreeSortableAdapter.cs', + 'Gtk_ThemingModule.cs', + 'Gtk_PrintContext.cs', + 'Gtk_AcceptPositionHandler.cs', + 'Gtk_CssStaticStyleClass.cs', + 'Gtk_GLArea.cs', + 'Gtk_CssImageFallbackClass.cs', + 'Gtk_IActionable.cs', + 'Gtk_CssImageRecolorClass.cs', + 'Gtk_GtkSharp.FileFilterFuncNative.cs', + 'Gtk_RecentSortType.cs', + 'Gtk_ColorPlane.cs', + 'Gtk_Stack.cs', + 'Gtk_CellEditableEventBox.cs', + 'Gtk_Printer.cs', + 'Gtk_LevelBar.cs', + 'Gtk_Label.cs', + 'Gtk_CssImageFallback.cs', + 'Gtk_IconAlias.cs', + 'Gtk_IconView.cs', + 'Gtk_MoveHandler.cs', + 'Gtk_ColorSelectionChangePaletteWithScreenFunc.cs', + 'Gtk_EntryCompletion.cs', + 'Gtk_IAppChooser.cs', + 'Gtk_TextBufferDeserializeFunc.cs', + 'Gtk_FillLayoutRenderer.cs', + 'Gtk_TagAppliedHandler.cs', + 'Gtk_VButtonBox.cs', + 'Gtk_IOrientable.cs', + 'Gtk_TextPushedHandler.cs', + 'Gtk_DragActionRequestedHandler.cs', + 'Gtk_Calendar.cs', + 'Gtk_MoveScrollHandler.cs', + 'Gtk_Scrollbar.cs', + 'Gtk_CssImage.cs', + 'Gtk_Unit.cs', + 'Gtk_GtkSharp.TextTagTableForeachNative.cs', + 'Gtk_Menu.cs', + 'Gtk_TreeViewChild.cs', + 'Gtk_RowDeletedHandler.cs', + 'Gtk_SelectCursorRowHandler.cs', + 'Gtk_ActionHelper.cs', + 'Gtk_LayoutChild.cs', + 'Gtk_FontChooserAdapter.cs', + 'Gtk_Target.cs', + 'Gtk_Requisition.cs', + 'Gtk_GridLine.cs', + 'Gtk_GestureSingle.cs', + 'Gtk_MenuTracker.cs', + 'Gtk_FilterRule.cs', + 'Gtk_ActionMuxer.cs', + 'Gtk_GtkSharp.TreeSelectionForeachFuncNative.cs', + 'Gtk_TextLayoutClass.cs', + 'Gtk_FontSelection.cs', + 'Gtk_Win32EmbedWidget.cs', + 'Gtk_HSLA.cs', + 'Gtk_BorderImage.cs', + 'Gtk_ToolItem.cs', + 'Gtk_ScaleChangedHandler.cs', + 'Gtk_ClipboardTextReceivedFunc.cs', + 'Gtk_Button.cs', + 'Gtk_MoveFocusOutHandler.cs', + 'Gtk_BuiltinIcon.cs', + 'Gtk_MenuPopdownData.cs', + 'Gtk_InsertTextHandler.cs', + 'Gtk_ActionObserverAdapter.cs', + 'Gtk_MountOperation.cs', + 'Gtk_TextAttrAppearance.cs', + 'Gtk_Icon.cs', + 'Gtk_ConnectProxyHandler.cs', + 'Gtk_GtkSharp.PageSetupDoneFuncNative.cs', + 'Gtk_RenderHandler.cs', + 'Gtk_KeyHashEntry.cs', + 'Gtk_SymbolicPixbufCache.cs', + 'Gtk_StateFlags.cs', + 'Gtk_AppChooserAdapter.cs', + 'Gtk_TextLine.cs', + 'Gtk_FilterLevel.cs', + 'Gtk_StyleCascade.cs', + 'Gtk_CompareInfo.cs', + 'Gtk_ToggleSizeAllocatedHandler.cs', + 'Gtk_ToolShellAdapter.cs', + 'Gtk_SizeChangedHandler.cs', + 'Gtk_Style.cs', + 'Gtk_CssCustomProperty.cs', + 'Gtk_SidebarRowClass.cs', + 'Gtk_CellRendererProgress.cs', + 'Gtk_ImageDefinitionSurface.cs', + 'Gtk_ItemActivatedHandler.cs', + 'Gtk_GridChild.cs', + 'Gtk_Gesture.cs', + 'Gtk_SelectionInfo.cs', + 'Gtk_IColorChooser.cs', + 'Gtk_CountingData.cs', + 'Gtk_CssLookup.cs', + 'Gtk_CssParser.cs', + 'Gtk_CssNumberValueClass.cs', + 'Gtk_ResizeMode.cs', + 'Gtk_PrintOperationPreviewAdapter.cs', + 'Gtk_TextTagTableForeach.cs', + 'Gtk_GtkSharp.MenuDetachFuncNative.cs', + 'Gtk_SizeRequestMode.cs', + 'Gtk_ActivateLinkHandler.cs', + 'Gtk_Window.cs', + 'Gtk_VScale.cs', + 'Gtk_EndHandler.cs', + 'Gtk_PopulatePopupHandler.cs', + 'Gtk_GtkSharp.MnemonicHashForeachNative.cs', + 'Gtk_PrintJobCompleteFunc.cs', + 'Gtk_TextChildBody.cs', + 'Gtk_StateType.cs', + 'Gtk_ChildAnchorInsertedHandler.cs', + 'Gtk_Targets.cs', + 'Gtk_GtkSharp.TreeSelectionFuncNative.cs', + 'Gtk_CursorOnMatchHandler.cs', + 'Gtk_PoppedUpHandler.cs', + 'Gtk_CssStylePropertyClass.cs', + 'Gtk_Overlay.cs', + 'Gtk_CssSelectorTree.cs', + 'Gtk_ShowErrorMessageHandler.cs', + 'Gtk_FileFilter.cs', + 'Gtk_GestureLongPress.cs', + 'Gtk_IFileChooser.cs', + 'Gtk_HSeparator.cs', + 'Gtk_RoundedBox.cs', + 'Gtk_ResizeHandler.cs', + 'Gtk_EventController.cs', + 'Gtk_EntryIconInfo.cs', + 'Gtk_ClipboardURIReceivedFunc.cs', + 'Gtk_GtkSharp.AccelGroupFindFuncNative.cs', + 'Gtk_PopupMenuHandler.cs', + 'Gtk_RowChangedHandler.cs', + 'Gtk_GridChildAttach.cs', + 'Gtk_AngleChangedHandler.cs', + 'Gtk_FontActivatedHandler.cs', + 'Gtk_TreeIter.cs', + 'Gtk_ConfirmOverwriteHandler.cs', + 'Gtk_ScrollEventHandler.cs', + 'Gtk_DragBeginHandler.cs', + 'Gtk_QueryTooltipHandler.cs', + 'Gtk_TranslateFunc.cs', + 'Gtk_HScrollbar.cs', + 'Gtk_FocusChildSetHandler.cs', + 'Gtk_StyleProviderPrivateInterface.cs', + 'Gtk_StartInteractiveSearchHandler.cs', + 'Gtk_CornerType.cs', + 'Gtk_ClipboardTargetsReceivedFunc.cs', + 'Gtk_PrinterFinder.cs', + 'Gtk_ButtonRole.cs', + 'Gtk_ActivatableAdapter.cs', + 'Gtk_Range.cs', + 'Gtk_Application.cs', + 'Gtk_Child.cs', + 'Gtk_TreeModelFlags.cs', + 'Gtk_TargetEntry.cs', + 'Gtk_PrinterFunc.cs', + 'Gtk_StackChildInfo.cs', + 'Gtk_PixbufInsertedHandler.cs', + 'Gtk_TagAddedHandler.cs', + 'Gtk_PadActionEntry.cs', + 'Gtk_TreeSelectionForeachFunc.cs', + 'Gtk_GtkSharp.AccelGroupActivateNative.cs', + 'Gtk_CssTransientNodeClass.cs', + 'Gtk_IStyleProvider.cs', + 'Gtk_GtkSharp.ListBoxUpdateHeaderFuncNative.cs', + 'Gtk_SortLevel.cs', + 'Gtk_MoveCursorHandler.cs', + 'Gtk_GtkSharp.IconViewForeachFuncNative.cs', + 'Gtk_WindowKeyEntry.cs', + 'Gtk_ColorSelectionChangePaletteFunc.cs', + 'Gtk_GtkSharp.FlowBoxForeachFuncNative.cs', + 'Gtk_IncrInfo.cs', + 'Gtk_MenuShell.cs', + 'Gtk_LinesWindow.cs', + 'Gtk_Region.cs', + 'Gtk_RecentManagerError.cs', + 'Gtk_ActionableAdapter.cs', + 'Gtk_GtkSharp.StylePropertyParserNative.cs', + 'Gtk_ListStore.cs', + 'Gtk_PropertyData.cs', + 'Gtk_MoveViewportHandler.cs', + 'Gtk_GtkSharp.TreeViewRowSeparatorFuncNative.cs', + 'Gtk_SettingsValue.cs', + 'Gtk_SelectCursorParentHandler.cs', + 'Gtk_GtkSharp.FlowBoxSortFuncNative.cs', + 'Gtk_ResponseType.cs', + 'Gtk_ValueData.cs', + 'Gtk_RequestTargetsInfo.cs', + 'Gtk_NotebookPage.cs', + 'Gtk_FontChooserDialog.cs', + 'Gtk_Justification.cs', + 'Gtk_ExpandCollapseCursorRowHandler.cs', + 'Gtk_CssMatcherWidgetPath.cs', + 'Gtk_TextChildAnchor.cs', + 'Gtk_GtkSharp.ColorSelectionChangePaletteWithScreenFuncNative.cs', + 'Gtk_CssStaticStyle.cs', + 'Gtk_CreateWindowHandler.cs', + 'Gtk_ToggleButton.cs', + 'Gtk_TextExtendSelection.cs', + 'Gtk_Box.cs', + 'Gtk_GtkSharp.EntryCompletionMatchFuncNative.cs', + 'Gtk_DragFindData.cs', + 'Gtk_License.cs', + 'Gtk_EventBox.cs', + 'Gtk_RequestTextInfo.cs', + 'Gtk_CssPathNodeClass.cs', + 'Gtk_RadioMenuItem.cs', + 'Gtk_TextView.cs', + 'Gtk_CssImageRecolor.cs', + 'Gtk_RevealerTransitionType.cs', + 'Gtk_GtkSharp.ClipboardGetFuncNative.cs', + 'Gtk_GestureMultiPress.cs', + 'Gtk_CssImageRadialClass.cs', + 'Gtk_RecentFilterInfo.cs', + 'Gtk_Grid.cs', + 'Gtk_DisconnectProxyHandler.cs', + 'Gtk_Scale.cs', + 'Gtk_ListBoxForeachFunc.cs', + 'Gtk_LevelBarMode.cs', + 'Gtk_Win32ThemePart.cs', + 'Gtk_HButtonBox.cs', + 'Gtk_GtkSharp.MenuTrackerRemoveFuncNative.cs', + 'Gtk_GtkSharp.FontFilterFuncNative.cs', + 'Gtk_RowSelectedHandler.cs', + 'Gtk_GtkSharp.RecentFilterFuncNative.cs', + 'Gtk_StockTranslateFunc.cs', + 'Gtk_ClipboardImageReceivedFunc.cs', + 'Gtk_EditedHandler.cs', + 'Gtk_TextAttributes.cs', + 'Gtk_Dialog.cs', + 'Gtk_RetrieveSurroundingHandler.cs', + 'Gtk_ImageMenuItem.cs', + 'Gtk_RetrievalInfo.cs', + 'Gtk_MoveSliderHandler.cs', + 'Gtk_RoundedBoxCorner.cs', + 'Gtk_CssAnimationClass.cs', + 'Gtk_CssAnimatedStyleClass.cs', + 'Gtk_FontChooserWidget.cs', + 'Gtk_FlowBoxSortFunc.cs', + 'Gtk_CellAreaBoxContext.cs', + 'Gtk_CssImageBuiltin.cs', + 'Gtk_MenuTrackerInsertFunc.cs', + 'Gtk_ChangeValueHandler.cs', + 'Gtk_GtkSharp.TickCallbackNative.cs', + 'Gtk_PoppedDownHandler.cs', + 'Gtk_ModuleInfo.cs', + 'Gtk_CssImageLinear.cs', + 'Gtk_RemovedHandler.cs', + 'Gtk_FillLayoutRendererClass.cs', + 'Gtk_ThemeEngine.cs', + 'Gtk_RcProperty.cs', + 'Gtk_UIManagerItemType.cs', + 'Gtk_ArrowPlacement.cs', + 'Gtk_MenuPositionFunc.cs', + 'Gtk_MenuButton.cs', + 'Gtk_ShortcutLabel.cs', + 'Gtk_CellRenderer.cs', + 'Gtk_AppChooserDialog.cs', + 'Gtk_AccelActivateHandler.cs', + 'Gtk_PositionType.cs', + 'Gtk_GtkSharp.ClipboardURIReceivedFuncNative.cs', + 'Gtk_TextBTreeNode.cs', + 'Gtk_ExpanderStyle.cs', + 'Gtk_CssPathNode.cs', + 'Gtk_CellLayoutDataFunc.cs', + 'Gtk_ReliefStyle.cs', + 'Gtk_MapChangedHandler.cs', + 'Gtk_GtkSharp.TreeModelFilterVisibleFuncNative.cs', + 'Gtk_DirectionType.cs', + 'Gtk_GtkSharp.ClipboardImageReceivedFuncNative.cs', + 'Gtk_ButtonBoxStyle.cs', + 'Gtk_WidgetPath.cs', + 'Gtk_Container.cs', + 'Gtk_CssImageSurface.cs', + 'Gtk_NumerableIcon.cs', + 'Gtk_ThemingBackground.cs', + 'Gtk_ModifierStyle.cs', + 'Gtk_Gradient.cs', + 'Gtk_ListBoxSortFunc.cs', + 'Gtk_DeleteType.cs', + 'Gtk_AspectFrame.cs', + 'Gtk_MoveSelectedHandler.cs', + 'Gtk_ThemingEngine.cs', + 'Gtk_CssStyleChange.cs', + 'Gtk_GtkSharp.TreeIterCompareFuncNative.cs', + 'Gtk_EdgeReachedHandler.cs', + 'Gtk_OpenLocationHandler.cs', + 'Gtk_MessageDialog.cs', + 'Gtk_GridLines.cs', + 'Gtk_CacheEntry.cs', + 'Gtk_CssImageScaledClass.cs', + 'Gtk_TextPendingScroll.cs', + 'Gtk_Adjustment.cs', + 'Gtk_ChildDetachedHandler.cs', + 'Gtk_ToggleCursorRowHandler.cs', + 'Gtk_ImageDefinitionPixbuf.cs', + 'Gtk_Invisible.cs', + 'Gtk_TextCharPredicate.cs', + 'Gtk_CellRendererSpin.cs', + 'Gtk_AssistantPage.cs', + 'Gtk_TextAppearance.cs', + 'Gtk_GtkSharp.ClipboardTargetsReceivedFuncNative.cs', + 'Gtk_StylePropertyValue.cs', + 'Gtk_GridRequest.cs', + 'Gtk_CssImageBuiltinClass.cs', + 'Gtk_StackSidebar.cs', + 'Gtk_InputHandler.cs', + 'Gtk_TextRendererClass.cs', + 'Gtk_SwitchPageHandler.cs', + 'Gtk_CancelPositionHandler.cs', + 'Gtk_PageOrientation.cs', + 'Gtk_OffscreenWindow.cs', + 'Gtk_PageAddedHandler.cs', + 'Gtk_CssImageLinearColorStop.cs', + 'Gtk_CssMatcherNode.cs', + 'Gtk_CssImageLinearClass.cs', + 'Gtk_InsertedTextHandler.cs', + 'Gtk_GtkSharp.RcPropertyParserNative.cs', + 'Gtk_DragUpdateHandler.cs', + 'Gtk_SortData.cs', + 'Gtk_ActionActivatedHandler.cs', + 'Gtk_Render.cs', + 'Gtk_GtkSharp.MenuTrackerInsertFuncNative.cs', + 'Gtk_ColorChooserDialog.cs', + 'Gtk_ChangedHandler.cs', + 'Gtk_ColorButton.cs', + 'Gtk_AccelChangedHandler.cs', + 'Gtk_CssTransition.cs', + 'Gtk_TextBufferSerializeFunc.cs', + 'Gtk_Border.cs', + 'Gtk_TreeViewMappingFunc.cs', + 'Gtk_FileChooserAction.cs', + 'Gtk_OffsetChangedHandler.cs', + 'Gtk_PageSetupDoneFunc.cs', + 'Gtk_CreateCustomWidgetHandler.cs', + 'Gtk_Accessible.cs', + 'Gtk_GtkSharp.FlowBoxFilterFuncNative.cs', + 'Gtk_WidgetHelpType.cs', + 'Gtk_TreeDragSourceAdapter.cs', + 'Gtk_TreeMenu.cs', + 'Gtk_StyleContext.cs', + 'Gtk_FocusTabHandler.cs', + 'Gtk_Arrow.cs', + 'Gtk_ImageDefinitionAnimation.cs', + 'Gtk_FormatEntryTextHandler.cs', + 'Gtk_JunctionSides.cs', + 'Gtk_MoveActiveHandler.cs', + 'Gtk_DragActionAskHandler.cs', + 'Gtk_ColorSelectionDialog.cs', + 'Gtk_InputPurpose.cs', + 'Gtk_HPaned.cs', + 'Gtk_PrintJob.cs', + 'Gtk_TreeViewColumnDropFunc.cs', + 'Gtk_TreeViewColumnReorder.cs', + 'Gtk_MoveHandleHandler.cs', + 'Gtk_TextLineDisplay.cs', + 'Gtk_CairoHelper.cs', + 'Gtk_EntryCompletionMatchFunc.cs', + 'Gtk_PrepareHandler.cs', + 'Gtk_RecentChooserProp.cs', + 'Gtk_PlacesOpenFlags.cs', + 'Gtk_TextHandle.cs', + 'Gtk_PrintUnixDialog.cs', + 'Gtk_FlowBoxCreateWidgetFunc.cs', + 'Gtk_CssSection.cs', + 'Gtk_ToolButton.cs', + 'Gtk_CssAnimatedStyle.cs', + 'Gtk_Statusbar.cs', + 'Gtk_BorderImageSliceSize.cs', + 'Gtk_Notebook.cs', + 'Gtk_FileChooserConfirmation.cs', + 'Gtk_CycleFocusHandler.cs', + 'Gtk_AccelGroupActivate.cs', + 'Gtk_CssStyleProperty.cs', + 'Gtk_BorderStyle.cs', + 'Gtk_CheckMenuItem.cs', + 'Gtk_ColorEditorClass.cs', + 'Gtk_NotebookTab.cs', + 'Gtk_BookmarksChangedFunc.cs', + 'Gtk_FlowBoxForeachFunc.cs', + 'Gtk_CreateMenuProxyHandler.cs', + 'Gtk_RecentChooserWidget.cs', + 'Gtk_CellCallback.cs', + 'Gtk_CssImageWin32.cs', + 'Gtk_FontButton.cs', + 'Gtk_DrawingArea.cs', + 'Gtk_SearchBar.cs', + 'Gtk_ToolbarContent.cs', + 'Gtk_GtkSharp.MenuPositionFuncNative.cs', + 'Gtk_PrintSettings.cs', + 'Gtk_GtkSharp.CellCallbackNative.cs', + 'Gtk_Clipboard.cs', + 'Gtk_DragPerformDropHandler.cs', + 'Gtk_CellRendererCombo.cs', + 'Gtk_AssistantPageType.cs', + 'Gtk_ScrollType.cs', + 'Gtk_ProgressTracker.cs', + 'Gtk_CalendarDetailFunc.cs', + 'Gtk_TreePath.cs', + 'Gtk_SequenceStateChangedHandler.cs', + 'Gtk_Device.cs', + 'Gtk_ScrollChildHandler.cs', + 'Gtk_SelectAllHandler.cs', + 'Gtk_BoxGadgetClass.cs', + 'Gtk_PageReorderedHandler.cs', + 'Gtk_TreeDragDestAdapter.cs', + 'Gtk_IconSource.cs', + 'Gtk_RadioToolButton.cs', + 'Gtk_FlowBox.cs', + 'Gtk_IconViewItem.cs', + 'Gtk_CssImageUrlClass.cs', + 'Gtk_AppChooserButton.cs', + 'Gtk_CheckButton.cs', + 'Gtk_Align.cs', + 'Gtk_ApplicationWindow.cs', + 'Gtk_Separator.cs', + 'Gtk_GtkSharp.ColorSelectionChangePaletteFuncNative.cs', + 'Gtk_GtkSharp.ClipboardReceivedFuncNative.cs', + 'Gtk_ListBoxCreateWidgetFunc.cs', + 'Gtk_IActivatable.cs', + 'Gtk_ApplicationActivatedHandler.cs', + 'Gtk_StyleProperty.cs', + 'Gtk_Image.cs', + 'Gtk_PostActivateHandler.cs', + 'Gtk_CustomWidgetApplyHandler.cs', + 'Gtk_GtkSharp.PrinterFuncNative.cs', + 'Gtk_EntryCapslockFeedback.cs', + 'Gtk_ValueChangedHandler.cs', + 'Gtk_BoxGadgetChild.cs', + 'Gtk_PointData.cs', + 'Gtk_MenuSectionBox.cs', + 'Gtk_TreeViewRowSeparatorFunc.cs', + 'Gtk_TextTagTable.cs', + 'Gtk_GtkSharp.TextBufferDeserializeFuncNative.cs', + 'Gtk_ToolPalette.cs', + 'Gtk_TreeViewSearchPositionFunc.cs', + 'Gtk_CssSelectorClass.cs', + 'Gtk_Settings.cs', + 'Gtk_PlacesView.cs', + 'Gtk_GestureRotate.cs', + 'Gtk_PageSetupUnixDialog.cs', + 'Gtk_IconReleaseHandler.cs', + 'Gtk_WindowGroup.cs', + 'Gtk_VBox.cs', + 'Gtk_RequestContentsInfo.cs', + 'Gtk_SelectionData.cs', + 'Gtk_TextLineData.cs', + 'Gtk_PropagationPhase.cs', + 'Gtk_ParseContext.cs', + 'Gtk_StyleAnimation.cs', + 'Gtk_WindowPopover.cs', + 'Gtk_DragEndHandler.cs', + 'Gtk_AccelEditedHandler.cs', + 'Gtk_MenuDirectionType.cs', + 'Gtk_DeleteFromCursorHandler.cs', + 'Gtk_ICellEditable.cs', + 'Gtk_SortElt.cs', + 'Gtk_StyleProperties.cs', + 'Gtk_GtkSharp.TreeViewSearchPositionFuncNative.cs', + 'Gtk_TreeViewColumn.cs', + 'Gtk_GestureZoom.cs', + 'Gtk_VolumeButton.cs', + 'Gtk_CssStyle.cs', + 'Gtk_TextEventHandler.cs', + 'Gtk_VScrollbar.cs', + 'Gtk_TextDirection.cs', + 'Gtk_BookmarksManager.cs', + 'Gtk_PanDirection.cs', + 'Gtk_DelayedFontDescription.cs', + 'Gtk_FontSelectionDialog.cs', + 'Gtk_AppChooserIface.cs', + 'Gtk_DragResult.cs', + 'Gtk_LocationPopupHandler.cs', + 'Gtk_MenuDetachFunc.cs', + 'Gtk_Revealer.cs', + 'Gtk_ExtendSelectionHandler.cs', + 'Gtk_HandleBox.cs', + 'Gtk_AddWidgetHandler.cs', + 'Gtk_TreeModelForeachFunc.cs', + 'Gtk_AccelLabel.cs', + 'Gtk_WidgetPropertyValue.cs', + 'Gtk_WindowAddedHandler.cs', + 'Gtk_IRecentChooser.cs', + 'Gtk_CssProvider.cs', + 'Gtk_Builder.cs', + 'Gtk_PaperSize.cs', + 'Gtk_TargetList.cs', + 'Gtk_MenuTrackerItemRole.cs', + 'Gtk_TargetFlags.cs', + 'Gtk_ColorSelection.cs', + 'Gtk_StackSwitcher.cs', + 'Gtk_MenuTrackerItem.cs', + 'Gtk_PageSetup.cs', + 'Gtk_FormatValueHandler.cs', + 'Gtk_PrintBackendModuleClass.cs', + 'Gtk_RecentFilterFunc.cs', + 'Gtk_ThemingModuleClass.cs', + 'Gtk_GesturePan.cs', + 'Gtk_InsertedHandler.cs', + 'Gtk_CellLayoutAdapter.cs', + 'Gtk_RequestImageInfo.cs', + 'Gtk_PrefixInsertedHandler.cs', + 'Gtk_TextDeletedHandler.cs', + 'Gtk_TreeRowData.cs', + 'Gtk_HScale.cs', + 'Gtk_RequestRichTextInfo.cs', + 'Gtk_IconLookupFlags.cs', + 'Gtk_Socket.cs', + 'Gtk_Alignment.cs', + 'Gtk_TreeRowReference.cs', + 'Gtk_CssImageIconThemeClass.cs', + 'Gtk_ToolItemGroupChild.cs', + 'Gtk_BeginHandler.cs', + 'Gtk_PrintPagesData.cs', + 'Gtk_PackDirection.cs', + 'Gtk_GtkSharp.TextCharPredicateNative.cs', + 'Gtk_IMModuleClass.cs', + 'Gtk_EventSequenceState.cs', + 'Gtk_FocusHomeOrEndHandler.cs', + 'Gtk_SizeGroup.cs', + 'Gtk_IActionObservable.cs', + 'Gtk_MenuTrackerRemoveFunc.cs', + 'Gtk_SearchEntry.cs', + 'Gtk_CommitHandler.cs', + 'Gtk_PanHandler.cs', + 'Gtk_TextMark.cs', + 'Gtk_Node.cs', + 'Gtk_CssWidgetNodeClass.cs', + 'Gtk_FlowBoxFilterFunc.cs', + 'Gtk_SharedData.cs', + 'Gtk_CssCustomPropertyClass.cs', + 'Gtk_GtkSharp.PrintJobCompleteFuncNative.cs', + 'Gtk_Table.cs', + 'Gtk_CssImageRadial.cs', + 'Gtk_CssImageWin32Class.cs', + 'Gtk_PrintOperationResult.cs', + 'Gtk_MenuBar.cs', + 'Gtk_PrintSettingsFunc.cs', + 'Gtk_SwipeHandler.cs', + 'Gtk_RowExpandedHandler.cs', + 'Gtk_PrimaryAccelChangedHandler.cs', + 'Gtk_Accelerator.cs', + 'Gtk_SetFocusHandler.cs', + 'Gtk_GestureDrag.cs', + 'Gtk_FileChooserDialog.cs', + 'Gtk_GtkSharp.AssistantPageFuncNative.cs', + 'Gtk_PlugRemovedHandler.cs', + 'Gtk_GtkSharp.ClipboardClearFuncNative.cs', + 'Gtk_TreeViewDropPosition.cs', + 'Gtk_IMModule.cs', + 'Gtk_StyleAnimationClass.cs', + 'Gtk_OverlayChild.cs', + 'Gtk_CellAreaBoxContextClass.cs', + 'Gtk_Switch.cs', + 'Gtk_EdgeOvershotHandler.cs', + 'Gtk_InputHints.cs', + 'Gtk_ColorSwatchClass.cs', + 'Gtk_CssImageClass.cs', + 'Gtk_ClipboardGetFunc.cs', + 'Gtk_TrayIcon.cs', + 'Gtk_Plug.cs', + 'Gtk_IconClass.cs', + 'Gtk_TreeModelFilter.cs', + 'Gtk_IconViewForeachFunc.cs', + 'Gtk_MatchSelectedHandler.cs', + 'Gtk_GtkSharp.TreeViewColumnDropFuncNative.cs', + 'Gtk_CustomPaperUnixDialog.cs', + 'Gtk_CycleHandleFocusHandler.cs', + 'Gtk_PlacesSidebar.cs', + 'Gtk_ShortcutsShortcut.cs', + 'Gtk_BuiltinIconClass.cs', + 'Gtk_CssImageRadialColorStop.cs', + 'Gtk_CellAllocCallback.cs', + 'Gtk_GtkSharp.ListBoxSortFuncNative.cs', + 'Gtk_ColorChooserAdapter.cs', + 'Gtk_SeparatorToolItem.cs', + 'Gtk_StateSetHandler.cs', + 'Gtk_CssTransitionClass.cs', + 'Gtk_TextLayout.cs', + 'Gtk_ChildAttachedHandler.cs', + 'Gtk_CssImageCrossFade.cs', + 'Gtk_TargetPair.cs', + 'Gtk_CssCustomGadgetClass.cs', + 'Gtk_Fixed.cs', + 'Gtk_VPaned.cs', + 'Gtk_PlacesViewClass.cs', + 'Gtk_TreeSelectionFunc.cs', + 'Gtk_ScrolledWindow.cs', + 'Gtk_EntryIconPosition.cs', + 'Gtk_TreeViewSearchEqualFunc.cs', + 'Gtk_StyleCascadeClass.cs', + 'Gtk_IconThemeError.cs', + 'Gtk_IToolShell.cs', + 'Gtk_WindowPosition.cs', + 'Gtk_TreeViewDragInfo.cs', + 'Gtk_ShortcutsSection.cs', + 'Gtk_FileChooserError.cs', + 'Gtk_WindowRemovedHandler.cs', + 'Gtk_DetailsAcquiredHandler.cs', + 'Gtk_BaselinePosition.cs', + 'Gtk_CssImageIconTheme.cs', + 'Gtk_FileChooserAdapter.cs', + 'Gtk_GtkSharp.TreeViewMappingFuncNative.cs', + 'Gtk_SpinType.cs', + 'Gtk_ButtonsType.cs', + 'Gtk_TextSearchFlags.cs', + 'Gtk_RecentFilterFlags.cs', + 'Gtk_NumberUpLayout.cs', + 'Gtk_IncrConversion.cs', + 'Gtk_Misc.cs', + 'Gtk_SurroundingDeletedHandler.cs', + 'Gtk_PrintCapabilities.cs', + 'Gtk_TextWindowType.cs', + 'Gtk_Accel.cs', + 'Gtk_CellRendererSpinner.cs', + 'Gtk_CancelHandler.cs', + 'Gtk_PageRemovedHandler.cs', + 'Gtk_CssImageScaled.cs', + 'Gtk_IconHelper.cs', + 'Gtk_PrintPages.cs', + 'Gtk_CycleChildFocusHandler.cs', + 'Gtk_CssImageCrossFadeClass.cs', + 'Gtk_GtkSharp.TreeModelFilterModifyFuncNative.cs', + 'Gtk_CellArea.cs', + 'Gtk_DeletedTextHandler.cs', + 'Gtk_AccelClearedHandler.cs', + 'Gtk_ActivateCursorItemHandler.cs', + 'Gtk_RcStyle.cs', + 'Gtk_SelectionMode.cs', + 'Gtk_RcPropertyParser.cs', + 'Gtk_ShowOtherLocationsWithFlagsHandler.cs', + 'Gtk_PageRange.cs', + 'Gtk_CssImageGradient.cs', + 'Gtk_TestExpandRowHandler.cs', + 'Gtk_CssValue.cs', + 'Gtk_RadioButton.cs', + 'Gtk_GtkSharp.TranslateFuncNative.cs', + 'Gtk_RecentAction.cs', + 'Gtk_ITreeModel.cs', + 'Gtk_StyleContextPrintFlags.cs', + 'Gtk_RespondHandler.cs', + 'Gtk_ButtonBox.cs', + 'Gtk_RecentChooserDefault.cs', + 'Gtk_CssShorthandPropertyClass.cs', + 'Gtk_IconTheme.cs', + 'Gtk_Spinner.cs', + 'Gtk_DialogFlags.cs', + 'Gtk_AccelGroupEntry.cs', + 'Gtk_CreateContextHandler.cs', + 'Gtk_PopoverMenu.cs', + 'Gtk_RowInsertedHandler.cs', + 'Gtk_MoveCurrentHandler.cs', + 'Gtk_StatusIcon.cs', + 'Gtk_UIManager.cs', + 'Gtk_CssMatcherClass.cs', + 'Gtk_TextWindow.cs', + 'Gtk_CssImageUrl.cs', + 'Gtk_ReorderTabHandler.cs', + 'Gtk_IconSize.cs', + 'Gtk_GtkSharp.BuilderConnectFuncNative.cs', + 'Gtk_SettingsPropertyValue.cs', + 'Gtk_XEmbedMessage.cs', + 'Gtk_Viewport.cs', + 'Gtk_TreeSelection.cs', + 'Gtk_MnemonicHashForeach.cs', + 'Gtk_Win32Theme.cs', + 'Gtk_TearoffMenuItem.cs', + 'Gtk_RecentManager.cs', + 'Gtk_InsertAtCursorHandler.cs', + 'Gtk_Action.cs', + 'Gtk_PasteDoneHandler.cs', + 'Gtk_PathElement.cs', + 'Gtk_ToolPaletteDragData.cs', + 'Gtk_CssValueClass.cs', + 'Gtk_StylePropertyParser.cs', + 'Gtk_AccelFlags.cs', + 'Gtk_CssImageSurfaceClass.cs', + 'Gtk_ITreeDragDest.cs', + 'Gtk_CellRendererPixbuf.cs', + 'Gtk_PixelCache.cs', + 'Gtk_PadController.cs', + 'Gtk_ChangeCurrentPageHandler.cs', + 'Gtk_ReadyHandler.cs', + 'Gtk_PropertyValue.cs', + 'Gtk_PrintError.cs', + 'Gtk_AccelKey.cs', + 'Gtk_GtkSharp.BookmarksChangedFuncNative.cs', + 'Gtk_DestDefaults.cs', + 'Gtk_KineticScrolling.cs', + 'Gtk_GtkSharp.CellLayoutDataFuncNative.cs', + 'Gtk_ScrollablePolicy.cs', + 'Gtk_Entry.cs', + 'Gtk_RowHasChildToggledHandler.cs', + 'Gtk_Callback.cs', + 'Gtk_CssNodeStyleCache.cs', + 'Gtk_StyleChangedHandler.cs', + 'Gtk_ListBoxFilterFunc.cs', + 'Gtk_RequestedSize.cs', + 'Gtk_ShadowType.cs', + 'Gtk_RecentSortFunc.cs', + 'Gtk_ITreeDragSource.cs', + 'Gtk_GtkSharp.ClipboardTextReceivedFuncNative.cs', + 'Gtk_DeviceGrabInfo.cs', + 'Gtk_AccelMap.cs', + 'Gtk_UnmountHandler.cs', + 'Gtk_PadActionType.cs', + 'Gtk_TickCallbackInfo.cs', + 'Gtk_ToggleAction.cs', + 'Gtk_QuickBookmarkHandler.cs', + 'Gtk_TextTag.cs', + 'Gtk_CssTransientNode.cs', + 'Gtk_ImageDefinitionGIcon.cs', + 'Gtk_KeySnooperData.cs', + 'Gtk_FileChooserWidget.cs', + 'Gtk_FontFilterFunc.cs', + 'Gtk_ToggledHandler.cs', + 'Gtk_TextIter.cs', + 'Gtk_Bookmark.cs', + 'Gtk_ShortcutsWindow.cs', + 'Gtk_MovementStep.cs', + 'Gtk_IScrollable.cs', + 'Gtk_StyleProviderData.cs', + 'Gtk_ListBoxUpdateHeaderFunc.cs', + 'Gtk_IEditable.cs', + 'Gtk_ChildActivatedHandler.cs', + 'Gtk_FileFilterFunc.cs', + 'Gtk_AccelGroup.cs', + 'Gtk_ColorChooserWidget.cs', + 'Gtk_DragDestSite.cs', + 'Gtk_ApplicationSelectedHandler.cs', + 'Gtk_MarkSetHandler.cs', + 'Gtk_EditingStartedHandler.cs', + 'Gtk_CssKeyframes.cs', + 'Gtk_ToggleHandleFocusHandler.cs', + 'Gtk_ScrollStep.cs', + 'Gtk_Print.cs', + 'Gtk_StylePropertyClass.cs', + 'Gtk_ToggleSizeRequestedHandler.cs', + 'Gtk_CssCustomGadget.cs', + 'Gtk_IMMulticontext.cs', + 'Gtk_RecentChooserMenu.cs', + 'Gtk_PopupContextMenuHandler.cs', + 'Gtk_NodeUIReference.cs', + 'Gtk_CalendarDisplayOptions.cs', + 'Gtk_RecentChooserDialog.cs', + 'Gtk_ImageDefinitionStock.cs', + 'Gtk_TextBuffer.cs', + 'Gtk_TreeModelFilterVisibleFunc.cs', + 'Gtk_RadioAction.cs', + 'Gtk_CellAreaContext.cs', + 'Gtk_MenuTrackerSection.cs', + 'Gtk_IPrintOperationPreview.cs', + 'Gtk_SelectionTargetList.cs', + 'Gtk_RowActivatedHandler.cs', + 'Gtk_FlowBoxChild.cs', + 'Gtk_BuilderError.cs', + 'Gtk_GridLineData.cs', + 'Gtk_TextRenderer.cs', + 'Gtk_SidebarRow.cs', + 'Gtk_CssImageGradientClass.cs', + 'Gtk_Bin.cs', + 'Gtk_PreviewHandler.cs', + 'Gtk_GtkSharp.TreeDestroyCountFuncNative.cs', + 'Gtk_DragSourceSite.cs', + 'Gtk_ActionObservableAdapter.cs', + 'Gtk_PrintDuplex.cs', + 'Gtk_SelectPageHandler.cs', + 'Gtk_VSeparator.cs', + 'Gtk_Layout.cs', + 'Gtk_FilterElt.cs', + 'Gtk_BoxGadget.cs', + 'Gtk_FileFilterFlags.cs', + 'Gtk_IconViewDropPosition.cs', + 'Gtk_RequestPageSetupHandler.cs', + 'Gtk_PackType.cs', + 'Gtk_TreeDestroyCountFunc.cs', + 'Gtk_MagnifierClass.cs', + 'Gtk_ArrowType.cs', + 'Gtk_Tree.cs', + 'Gtk_EntryPasswordHint.cs', + 'Gtk_GestureSwipe.cs', + 'Gtk_MnemonicHash.cs', + 'Gtk_ResponseHandler.cs', + 'Gtk_SpinButtonUpdatePolicy.cs', + 'Gtk_DoneHandler.cs', + 'Gtk_OutputHandler.cs', + 'Gtk_PrintQuality.cs', + 'Gtk_ColorActivatedHandler.cs', + 'Gtk_GtkSharp.RecentSortFuncNative.cs', + 'Gtk_SensitivityType.cs', + 'Gtk_PrintOperation.cs', + 'Gtk_Toolbar.cs', + 'Gtk_RecentFilter.cs', + 'Gtk_Expander.cs', + 'Gtk_MarkDeletedHandler.cs', + 'Gtk_KeyReleaseEventHandler.cs', + 'Gtk_SelectionClearEventHandler.cs', + 'Gtk_GrabNotifyHandler.cs', + 'Gtk_DragDropHandler.cs', + 'Gtk_ProximityInEventHandler.cs', + 'Gtk_DragDataGetHandler.cs', + 'Gtk_DirectionChangedHandler.cs', + 'Gtk_StateChangedHandler.cs', + 'Gtk_WindowStateEventHandler.cs', + 'Gtk_MoveFocusHandler.cs', + 'Gtk_SelectionReceivedHandler.cs', + 'Gtk_FocusedHandler.cs', + 'Gtk_ProximityOutEventHandler.cs', + 'Gtk_UnmapEventHandler.cs', + 'Gtk_MnemonicActivatedHandler.cs', + 'Gtk_KeyPressEventHandler.cs', + 'Gtk_AccelCanActivateHandler.cs', + 'Gtk_PropertyNotifyEventHandler.cs', + 'Gtk_StateFlagsChangedHandler.cs', + 'Gtk_DragDataReceivedHandler.cs', + 'Gtk_SelectionGetHandler.cs', + 'Gtk_TouchEventHandler.cs', + 'Gtk_EnterNotifyEventHandler.cs', + 'Gtk_StyleSetHandler.cs', + 'Gtk_LeaveNotifyEventHandler.cs', + 'Gtk_DragLeaveHandler.cs', + 'Gtk_DeleteEventHandler.cs', + 'Gtk_WidgetEventHandler.cs', + 'Gtk_Widget.cs', + 'Gtk_HierarchyChangedHandler.cs', + 'Gtk_VisibilityNotifyEventHandler.cs', + 'Gtk_DragDataDeleteHandler.cs', + 'Gtk_DestroyEventHandler.cs', + 'Gtk_WidgetEventAfterHandler.cs', + 'Gtk_FocusOutEventHandler.cs', + 'Gtk_ParentSetHandler.cs', + 'Gtk_SizeAllocatedHandler.cs', + 'Gtk_ChildNotifiedHandler.cs', + 'Gtk_DragFailedHandler.cs', + 'Gtk_MotionNotifyEventHandler.cs', + 'Gtk_DrawnHandler.cs', + 'Gtk_SelectionNotifyEventHandler.cs', + 'Gtk_HelpShownHandler.cs', + 'Gtk_GrabBrokenEventHandler.cs', + 'Gtk_ConfigureEventHandler.cs', + 'Gtk_FocusInEventHandler.cs', + 'Gtk_DragMotionHandler.cs', + 'Gtk_ScreenChangedHandler.cs', + 'Gtk_DamageEventHandler.cs', + 'Gtk_SelectionRequestEventHandler.cs', + 'Gtk_MapEventHandler.cs', +] + +source_gen = [] +source_gen += [custom_target(assembly_name + 'codegen', + input: raw_api_fname, + output: generated_sources, + command: [ + generate_api, + '--api-raw', '@INPUT@', + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--symbols', symbols, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--extra-includes', pango_api_includes, + '--extra-includes', gio_api_includes, + '--extra-includes', cairo_api_includes, + '--extra-includes', gdk_api_includes, + '--extra-includes', atk_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', assembly_name, + '--glue-libname', gluefile, + '--schema', schema, + ], + depends: [gapi_codegen, gapi_fixup])] + +gtk_api_includes = join_paths(meson.current_build_dir(), 'gtk-api.xml') + diff --git a/gtk/meson.build b/gtk/meson.build new file mode 100644 index 000000000..9ad65e045 --- /dev/null +++ b/gtk/meson.build @@ -0,0 +1,140 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'gtk-sharp' +symbols = join_paths(meson.current_source_dir(), 'gtk-symbols.xml') + +raw_api_fname = join_paths(meson.current_source_dir(), 'gtk-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Gtk.metadata') +glueincludes = 'gtk/gtk.h' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +configure_file(input: assembly_name + '-3.0.pc.in', + output: assembly_name + '-3.0.pc', + configuration : version_data) + +subdir('generated') + +sources = [ + 'Accel.cs', + 'AccelKey.cs', + 'Action.cs', + 'ActionEntry.cs', + 'ActionGroup.cs', + 'Adjustment.cs', + 'Application.cs', + 'ArrayExtensions.cs', + 'Bin.cs', + 'BindingAttribute.cs', + 'Builder.cs', + 'Button.cs', + 'Calendar.cs', + 'CellAreaBox.cs', + 'CellLayoutAdapter.cs', + 'CellRenderer.cs', + 'CellView.cs', + 'CheckMenuItem.cs', + 'ChildPropertyAttribute.cs', + 'Clipboard.cs', + 'ColorSelection.cs', + 'ComboBox.cs', + 'ComboBoxText.cs', + 'Container.cs', + 'Dialog.cs', + 'Drag.cs', + 'Entry.cs', + 'EntryCompletion.cs', + 'FileChooserDialog.cs', + 'FileChooserNative.cs', + 'Frame.cs', + 'Global.cs', + 'HBox.cs', + 'HScale.cs', + 'ICellLayout.cs', + 'IconFactory.cs', + 'IconSet.cs', + 'IconTheme.cs', + 'IconView.cs', + 'Image.cs', + 'ImageMenuItem.cs', + 'Init.cs', + 'ITreeModel.cs', + 'ITreeNode.cs', + 'Key.cs', + 'Label.cs', + 'ListStore.cs', + 'Menu.cs', + 'MenuItem.cs', + 'MessageDialog.cs', + 'NativeDialog.cs', + 'NodeCellDataFunc.cs', + 'NodeSelection.cs', + 'NodeStore.cs', + 'NodeView.cs', + 'Notebook.cs', + 'PaperSize.cs', + 'Plug.cs', + 'Printer.cs', + 'RadioAction.cs', + 'RadioActionEntry.cs', + 'RadioButton.cs', + 'RadioMenuItem.cs', + 'RadioToolButton.cs', + 'RecentManager.cs', + 'RowsReorderedHandler.cs', + 'ScrolledWindow.cs', + 'SelectionData.cs', + 'Settings.cs', + 'SpinButton.cs', + 'StatusIcon.cs', + 'Stock.cs', + 'StockItem.cs', + 'StockManager.cs', + 'Style.cs', + 'StyleContext.cs', + 'StyleProviderPriority.cs', + 'Target.cs', + 'TargetEntry.cs', + 'TargetList.cs', + 'TextAttributes.cs', + 'TextBuffer.cs', + 'TextChildAnchor.cs', + 'TextIter.cs', + 'TextMark.cs', + 'TextTag.cs', + 'TextView.cs', + 'ThreadNotify.cs', + 'ToggleActionEntry.cs', + 'TreeEnumerator.cs', + 'TreeIter.cs', + 'TreeMenu.cs', + 'TreeModelAdapter.cs', + 'TreeModelFilter.cs', + 'TreeModelSort.cs', + 'TreeNode.cs', + 'TreeNodeAttribute.cs', + 'TreeNodeValueAttribute.cs', + 'TreePath.cs', + 'TreeSelection.cs', + 'TreeStore.cs', + 'TreeView.cs', + 'TreeViewColumn.cs', + 'UIManager.cs', + 'VBox.cs', + 'Viewport.cs', + 'VScale.cs', + 'Widget.cs', + 'Window.cs', +] + +gtk_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk, '-nowarn:0618,0612,0169'], + link_with: [glib_sharp, pango_sharp, + cairo_sharp, gio_sharp, atk_sharp, + gdk_sharp], +) + +install_infos += [assembly_name, gtk_sharp.full_path()] +gtk_sharp_dep = declare_dependency(link_with: gtk_sharp) diff --git a/meson.build b/meson.build new file mode 100644 index 000000000..889475c49 --- /dev/null +++ b/meson.build @@ -0,0 +1,114 @@ +project('gtk-sharp', ['cs', 'c'], version: '3.22.6') + +if host_machine.system() == 'windows' + if h.get(0) == host_machine.cpu() + add_project_arguments('-define:WIN64LONGS', language: 'cs') + endif +endif + + +apiversion = '3.0.0.0' +mono_required_version = '>=3.2.0' +gtk_required_version='>=3.0.0' +glib_required_version='>=2.32.0' + +# FIXME Handle .net +mono = meson.get_compiler('cs') +if not mono.version().version_compare(mono_required_version) + error('Mono required version @0@ not found (@1@)'.format( + mono_required_version, mono.version())) +endif + +assemblyinfo='/AssemblyInfo.cs' + +gacutil = find_program('gacutil') +al = find_program('al') + +glib_dep = dependency('glib-2.0', version: glib_required_version) +gio_dep = dependency('gio-2.0', version: glib_required_version) +mono_runtime_dep = dependency('mono', required: false) + +# FIXME Check how to enabled debug flags (if at all needed). + +# TODO monodoc + +prefix = get_option('prefix') +assembly_data = configuration_data() +assembly_data.set_quoted('API_VERSION', apiversion) +configure_file(input: 'AssemblyInfo.cs.in', output: 'AssemblyInfo.cs', configuration : assembly_data) + +policy_config = files('policy.config.in') +runtime = '' +if get_option('buildtype') == 'debug' or get_option('buildtype') == 'debugoptimized' + runtime_debug_flags=' --debug' +endif +if mono_runtime_dep.found() + runtime = 'mono' + runtime_debug_flags +endif + +if host_machine.system() == 'osx' + lib_prefix='' + lib_suffix='.dylib' +else + lib_prefix='.so' + lib_suffix='' +endif + +remap_dl_data = configuration_data() +remap_dl_data.set('LIB_PREFIX', lib_prefix) +remap_dl_data.set('LIB_SUFFIX', lib_suffix) + +version_data = configuration_data() +version_data.set('VERSION', meson.project_version()) +version_data.set('PACKAGE_VERSION', meson.project_name() + '-3.0') + +install_infos = [] +schema = join_paths(meson.current_source_dir(), 'gapi.xsd') + +subdir('parser') +subdir('generator') +subdir('glib') +subdir('gio') + +cairo_dep = dependency('cairo', required: false) +if cairo_dep.found() + subdir('cairo') +else + message('Cairo not found, not building') +endif + +pango_dep = dependency('pango', required: false) +if pango_dep.found() + subdir('pango') +else + message('Pango not found, not building') +endif + +atk_dep = dependency('atk', required: false) +if atk_dep.found() + subdir('atk') +else + message('Atk not found, not building') +endif + +gdk_dep = dependency('gdk-3.0', version: gtk_required_version, required: false) +if gdk_dep.found() and atk_dep.found() and pango_dep.found() + subdir('gdk') + has_gdk = true +else + message('Gdk not found, not building') + has_gdk = false +endif + +gtk_dep = dependency('gtk+-3.0', version: gtk_required_version, required: false) +if gtk_dep.found() and atk_dep.found() and pango_dep.found() + subdir('gtk') + subdir('sample/GtkDemo') + has_gtk = true +else + has_gtk = false + message('Gtk not found, not building') +endif + +gacutil_install = join_paths(meson.current_source_dir(), 'gacutil_install.py') +meson.add_install_script(gacutil_install, install_infos) diff --git a/pango/generated/meson.build b/pango/generated/meson.build new file mode 100644 index 000000000..13b4d13c0 --- /dev/null +++ b/pango/generated/meson.build @@ -0,0 +1,136 @@ +generated_sources = [ + 'Pango_Alignment.cs', + 'Pango_Variant.cs', + 'Pango_GlyphItem.cs', + 'Pango_Analysis.cs', + 'Pango_AttrDataCopyFunc.cs', + 'Pango_CoreTextFamily.cs', + 'Pango_Win32Family.cs', + 'Pango_Fontset.cs', + 'Pango_Gravity.cs', + 'Pango_CairoWin32FontClass.cs', + 'Pango_GlyphGeometry.cs', + 'Pango_FontMetrics.cs', + 'Pango_Markup.cs', + 'Pango_CoreTextFamilyClass.cs', + 'Pango_AttrIterator.cs', + 'Pango_Rectangle.cs', + 'Pango_Global.cs', + 'Pango_WrapMode.cs', + 'Pango_CoreTextFontset.cs', + 'Pango_BlockInfo.cs', + 'Pango_CairoRendererClass.cs', + 'Pango_CoreTextFaceClass.cs', + 'Pango_Color.cs', + 'Pango_GlyphInfo.cs', + 'Pango_FontsetForeachFunc.cs', + 'Pango_CoreTextFontMapClass.cs', + 'Pango_Win32FontMap.cs', + 'Pango_AttrList.cs', + 'Pango_CoreTextFontMap.cs', + 'Pango_FT2Font.cs', + 'Pango_CoverageLevel.cs', + 'Pango_WidthIter.cs', + 'Pango_EllipsizeState.cs', + 'Pango_CairoFcFontMapClass.cs', + 'Pango_LineState.cs', + 'Pango_RenderPart.cs', + 'Pango_Weight.cs', + 'Pango_FontHashKey.cs', + 'Pango_Style.cs', + 'Pango_Script.cs', + 'Pango_Units.cs', + 'Pango_Language.cs', + 'Pango_CoreTextFontsetClass.cs', + 'Pango_PangoSharp.AttrDataCopyFuncNative.cs', + 'Pango_GlyphVisAttr.cs', + 'Pango_GravityHint.cs', + 'Pango_FT2GlyphInfo.cs', + 'Pango_LogAttr.cs', + 'Pango_CairoFcFont.cs', + 'Pango_Win32FontMapClass.cs', + 'Pango_OTRulesetClass.cs', + 'Pango_Win32MetricsInfo.cs', + 'Pango_Win32Font.cs', + 'Pango_GlyphItemIter.cs', + 'Pango_FontFamily.cs', + 'Pango_PangoSharp.FontsetForeachFuncNative.cs', + 'Pango_FT2Renderer.cs', + 'Pango_Win32FontClass.cs', + 'Pango_GlyphString.cs', + 'Pango_CacheEntry.cs', + 'Pango_CairoWin32Font.cs', + 'Pango_Extents.cs', + 'Pango_CoreTextFontsetKey.cs', + 'Pango_LineIter.cs', + 'Pango_TabAlign.cs', + 'Pango_Underline.cs', + 'Pango_OpenTag.cs', + 'Pango_EngineShape.cs', + 'Pango_CairoHelper.cs', + 'Pango_FontDescription.cs', + 'Pango_FT2RendererClass.cs', + 'Pango_CairoFcFontClass.cs', + 'Pango_RunInfo.cs', + 'Pango_EllipsizeMode.cs', + 'Pango_Stretch.cs', + 'Pango_FontMask.cs', + 'Pango_Matrix.cs', + 'Pango_LayoutLine.cs', + 'Pango_ItemProperties.cs', + 'Pango_FT2Family.cs', + 'Pango_FT2FontClass.cs', + 'Pango_AttrType.cs', + 'Pango_Context.cs', + 'Pango_Win32GlyphInfo.cs', + 'Pango_CoreTextFace.cs', + 'Pango_TabArray.cs', + 'Pango_AttrFontFeatures.cs', + 'Pango_LayoutRun.cs', + 'Pango_ParaBreakState.cs', + 'Pango_Renderer.cs', + 'Pango_MarkupData.cs', + 'Pango_Item.cs', + 'Pango_CoreTextFontKey.cs', + 'Pango_CoreTextFont.cs', + 'Pango_EngineLang.cs', + 'Pango_CairoContextInfo.cs', + 'Pango_CairoWin32FontMapClass.cs', + 'Pango_OTInfoClass.cs', + 'Pango_Point.cs', + 'Pango_ParenStackEntry.cs', + 'Pango_LayoutIter.cs', + 'Pango_Direction.cs', + 'Pango_Font.cs', + 'Pango_FontMap.cs', + 'Pango_BidiType.cs', + 'Pango_ItemizeState.cs', + 'Pango_Win32Face.cs', + 'Pango_Tab.cs', + 'Pango_Coverage.cs', + 'Pango_Layout.cs', + 'Pango_FontFace.cs', +] + +source_gen = custom_target('pango_generated', + command: [ + generate_api, + '--api-raw', raw_api_fname, + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--extra-includes', cairo_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', assembly_name, + '--schema', schema, + ], + depends: [gapi_codegen, gapi_fixup], + input: raw_api_fname, + output: generated_sources, +) + +pango_api_includes = join_paths(meson.current_build_dir(), 'pango-api.xml') diff --git a/pango/meson.build b/pango/meson.build new file mode 100644 index 000000000..370807c84 --- /dev/null +++ b/pango/meson.build @@ -0,0 +1,67 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'pango-sharp' +glueincludes = 'pango/pango.h' +raw_api_fname = join_paths(meson.current_source_dir(), 'pango-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Pango.metadata') +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +subdir('generated') + +sources = [ + 'Analysis.cs', + 'AttrBackground.cs', + 'AttrColor.cs', + 'AttrFallback.cs', + 'AttrFamily.cs', + 'AttrFloat.cs', + 'AttrFontDesc.cs', + 'AttrForeground.cs', + 'AttrGravity.cs', + 'AttrGravityHint.cs', + 'Attribute.cs', + 'AttrInt.cs', + 'AttrIterator.cs', + 'AttrLanguage.cs', + 'AttrLetterSpacing.cs', + 'AttrList.cs', + 'AttrRise.cs', + 'AttrScale.cs', + 'AttrShape.cs', + 'AttrSize.cs', + 'AttrStretch.cs', + 'AttrStrikethrough.cs', + 'AttrStrikethroughColor.cs', + 'AttrStyle.cs', + 'AttrUnderline.cs', + 'AttrUnderlineColor.cs', + 'AttrVariant.cs', + 'AttrWeight.cs', + 'Context.cs', + 'Coverage.cs', + 'FontFamily.cs', + 'FontMap.cs', + 'Global.cs', + 'GlyphItem.cs', + 'GlyphString.cs', + 'Item.cs', + 'Layout.cs', + 'LayoutLine.cs', + 'LayoutRun.cs', + 'Matrix.cs', + 'Scale.cs', + 'ScriptIter.cs', + 'TabArray.cs', + 'Units.cs', +] + +pango_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], + link_with: [glib_sharp, cairo_sharp] +) + +install_infos += [assembly_name, pango_sharp.full_path()] +pango_sharp_dep = declare_dependency(link_with: pango_sharp) diff --git a/parser/meson.build b/parser/meson.build new file mode 100644 index 000000000..547cf6283 --- /dev/null +++ b/parser/meson.build @@ -0,0 +1,26 @@ +gapi_installdir = join_paths(get_option('libdir'), 'gapi-3.0') +pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir')) + +gapi_parser = executable('gapi-parser', 'gapi-parser.cs', + install_dir : gapi_installdir, + install: true) + +gapi_parser_data = configuration_data() +gapi_parser_data.set('prefix', prefix) +gapi_parser_data.set('RUNTIME', runtime) + +configure_file(input: 'gapi3-parser.in', + output: 'gapi3-parser', + configuration : gapi_parser_data, + install_dir: get_option('bindir'), + install: true) + +pkg_gapi_parser_data = configuration_data() +pkg_gapi_parser_data .set('VERSION', meson.project_version()) +configure_file(input: 'gapi-3.0.pc.in', + output: 'gapi-3.0.pc', + configuration : pkg_gapi_parser_data, + install_dir: pkg_install_dir, + install: true) + +install_data('gapi_pp.pl', 'gapi2xml.pl', install_dir: gapi_installdir) diff --git a/sample/GtkDemo/meson.build b/sample/GtkDemo/meson.build new file mode 100644 index 000000000..21b6ff222 --- /dev/null +++ b/sample/GtkDemo/meson.build @@ -0,0 +1,54 @@ +resource_flags = [] + +foreach rid: [ + ['css/css_basics.css', 'css_basics.css'], + ['css/reset.css', 'reset.css'], + ['images/gnome-foot.png', 'gnome-foot.png'], + ['images/MonoIcon.png', 'MonoIcon.png'], + ['images/gnome-calendar.png', 'gnome-calendar.png'], + ['images/gnome-gmush.png', 'gnome-gmush.png'], + ['images/gnu-keys.png', 'gnu-keys.png'], + ['images/gnome-applets.png', 'gnome-applets.png'], + ['images/gnome-gsame.png', 'gnome-gsame.png'], + ['images/alphatest.png', 'alphatest.png'], + ['images/gnome-gimp.png', 'gnome-gimp.png'], + ['images/apple-red.png', 'apple-red.png'], + ['images/background.jpg', 'background.jpg'], + ['images/gtk-logo-rgb.gif', 'gtk-logo-rgb.gif'], + ['images/floppybuddy.gif', 'floppybuddy.gif'], + ['theming.ui', 'theming.ui'],] + resource_flags += ['-resource:' + join_paths(meson.current_source_dir(), rid.get(0)) + ',' + rid.get(1)] +endforeach + +executable('GtkDemo', + 'DemoApplicationWindow.cs', + 'DemoAttribute.cs', + 'DemoButtonBox.cs', + 'DemoClipboard.cs', + 'DemoColorSelection.cs', + 'DemoDialog.cs', + 'DemoDrawingArea.cs', + 'DemoEditableCells.cs', + 'DemoEntryCompletion.cs', + 'DemoExpander.cs', + 'DemoHyperText.cs', + 'DemoIconView.cs', + 'DemoImages.cs', + 'DemoListStore.cs', + 'DemoMain.cs', + 'DemoMenus.cs', + 'DemoPanes.cs', + 'DemoPixbuf.cs', + 'DemoRotatedText.cs', + 'DemoSizeGroup.cs', + 'DemoSpinner.cs', + 'DemoStockBrowser.cs', + 'DemoTextView.cs', + 'DemoThemingStyleClasses.cs', + 'DemoTreeStore.cs', + 'DemoUIManager.cs', + 'DemoPrinting.cs', + link_with: [glib_sharp, gio_sharp, cairo_sharp, pango_sharp, + atk_sharp, gdk_sharp, gtk_sharp], + cs_args: resource_flags +)