Merge branch 'ebassi/for-master' into 'master'

Clean up the build system

See merge request GNOME/gtk!2955
This commit is contained in:
Emmanuele Bassi 2020-12-15 16:54:59 +00:00
commit 6039a36183
42 changed files with 1015 additions and 746 deletions

View File

@ -9,13 +9,15 @@ constraint_editor_sources = [
constraint_editor_resources = gnome.compile_resources('constraint_editor_resources',
'constraint-editor.gresource.xml',
source_dir: '.')
source_dir: '.',
)
executable('gtk4-constraint-editor',
constraint_editor_sources, constraint_editor_resources,
sources: [ constraint_editor_sources, constraint_editor_resources, ],
c_args: common_cflags,
dependencies: libgtk_dep,
include_directories: confinc,
gui_app: true,
link_args: extra_demo_ldflags,
install: false)
install: false,
)

View File

@ -100,7 +100,8 @@ demos = files([
gtkdemo_deps = [ libgtk_dep, ]
extra_demo_sources = files(['main.c',
extra_demo_sources = files([
'main.c',
'fontify.c',
'gtkfishbowl.c',
'fontplane.c',
@ -124,7 +125,8 @@ extra_demo_sources = files(['main.c',
'pixbufpaintable.c',
'script-names.c',
'unicode-names.c',
'suggestionentry.c'])
'suggestionentry.c',
])
if harfbuzz_dep.found() and pangoft_dep.found()
demos += files(['font_features.c'])
@ -149,12 +151,15 @@ gtkdemo_args = [ '-DGDK_DISABLE_DEPRECATED', '-DGTK_DISABLE_DEPRECATED', ]
demos_h = custom_target('gtk4 demo header',
output: 'demos.h',
input: demos,
command: [ find_program('geninclude.py'), '@OUTPUT@', '@INPUT@' ])
command: [ find_program('geninclude.py'), '@OUTPUT@', '@INPUT@' ],
)
gtkdemo_resources = gnome.compile_resources('gtkdemo_resources',
'demo.gresource.xml',
source_dir: '.')
source_dir: '.',
)
# Use a subset of compiler flags
demo_cflags = []
foreach flag: common_cflags
if flag not in ['-Werror=missing-prototypes', '-Werror=missing-declarations', '-fvisibility=hidden']
@ -163,30 +168,30 @@ foreach flag: common_cflags
endforeach
executable('gtk4-demo',
demos, demos_h, extra_demo_sources, gtkdemo_resources,
sources: [demos, demos_h, extra_demo_sources, gtkdemo_resources],
c_args: gtkdemo_args + demo_cflags,
dependencies: gtkdemo_deps,
include_directories: confinc,
gui_app: true,
link_args: extra_demo_ldflags,
install: true)
install: true,
)
executable('gtk4-demo-application',
'application.c', gtkdemo_resources,
sources: ['application.c', gtkdemo_resources],
c_args: gtkdemo_args + common_cflags,
dependencies: gtkdemo_deps,
include_directories: confinc,
gui_app: true,
link_args: extra_demo_ldflags,
install: true)
install: true,
)
# icons
icontheme_dir = join_paths(gtk_datadir, 'icons/hicolor')
foreach size: ['scalable', 'symbolic']
install_subdir('data/' + size,
install_dir: icontheme_dir
)
install_subdir('data/' + size, install_dir: icontheme_dir)
endforeach
# desktop file

View File

@ -8,24 +8,24 @@ iconbrowser_sources = [
iconbrowser_resources = gnome.compile_resources('iconbrowser_resources',
'iconbrowser.gresource.xml',
source_dir: '.')
source_dir: '.',
)
executable('gtk4-icon-browser',
iconbrowser_sources, iconbrowser_resources,
sources: [iconbrowser_sources, iconbrowser_resources],
c_args: common_cflags,
dependencies: libgtk_dep,
include_directories: confinc,
gui_app: true,
link_args: extra_demo_ldflags,
install: true)
install: true,
)
# icons
icontheme_dir = join_paths(gtk_datadir, 'icons/hicolor')
foreach size: ['scalable', 'symbolic']
install_subdir('data/' + size,
install_dir: icontheme_dir
)
install_subdir('data/' + size, install_dir: icontheme_dir)
endforeach
# desktop file

View File

@ -7,10 +7,11 @@ node_editor_sources = [
node_editor_resources = gnome.compile_resources('node_editor_resources',
'node-editor.gresource.xml',
source_dir: '.')
source_dir: '.',
)
executable('gtk4-node-editor',
node_editor_sources, node_editor_resources,
sources: [node_editor_sources, node_editor_resources],
dependencies: libgtk_dep,
include_directories: confinc,
c_args: [
@ -18,13 +19,12 @@ executable('gtk4-node-editor',
] + common_cflags,
gui_app: true,
link_args: extra_demo_ldflags,
install: false)
install: false,
)
# icons, don't install them until we decide to install gtk4-node-editor
#icontheme_dir = join_paths(gtk_datadir, 'icons/hicolor')
#foreach size: ['scalable', 'symbolic']
# install_subdir('data/' + size,
# install_dir: icontheme_dir
# )
# install_subdir('data/' + size, install_dir: icontheme_dir)
#endforeach

View File

@ -1,11 +1,12 @@
executable('gtk4-print-editor',
['print-editor.c'],
sources: ['print-editor.c'],
c_args: common_cflags,
dependencies: libgtk_dep,
include_directories: confinc,
gui_app: true,
link_args: extra_demo_ldflags,
install: true)
install: true,
)
# desktop file
install_data('org.gtk.PrintEditor4.desktop', install_dir: gtk_applicationsdir)
@ -17,7 +18,5 @@ install_data('org.gtk.PrintEditor4.appdata.xml', install_dir: gtk_appdatadir)
icontheme_dir = join_paths(gtk_datadir, 'icons/hicolor')
foreach size: ['scalable', 'symbolic']
install_subdir('data/' + size,
install_dir: icontheme_dir
)
install_subdir('data/' + size, install_dir: icontheme_dir)
endforeach

View File

@ -2,16 +2,18 @@
widgetfactory_resources = gnome.compile_resources('widgetfactory_resources',
'widget-factory.gresource.xml',
source_dir: '.')
source_dir: '.',
)
executable('gtk4-widget-factory',
'widget-factory.c', widgetfactory_resources,
sources: ['widget-factory.c', widgetfactory_resources],
c_args: common_cflags,
dependencies: libgtk_dep,
include_directories: confinc,
gui_app: true,
link_args: extra_demo_ldflags,
install: true)
install: true,
)
# desktop file
install_data('org.gtk.WidgetFactory4.desktop', install_dir: gtk_applicationsdir)
@ -20,9 +22,7 @@ install_data('org.gtk.WidgetFactory4.desktop', install_dir: gtk_applicationsdir)
icontheme_dir = join_paths(gtk_datadir, 'icons/hicolor')
foreach size: ['scalable', 'symbolic']
install_subdir('data/' + size,
install_dir: icontheme_dir
)
install_subdir('data/' + size, install_dir: icontheme_dir)
endforeach
# appdata

View File

@ -196,6 +196,7 @@ gdk_surface_create_cairo_context
<SUBSECTION>
gdk_surface_queue_render
gdk_surface_get_frame_clock
gdk_surface_request_layout
<SUBSECTION>
gdk_surface_set_cursor
@ -501,7 +502,6 @@ gdk_crossing_event_get_focus
gdk_grab_broken_event_get_grab_surface
gdk_grab_broken_event_get_implicit
gdk_dnd_event_get_drop
gdk_configure_event_get_size
gdk_touchpad_event_get_gesture_phase
gdk_touchpad_event_get_n_fingers
gdk_touchpad_event_get_deltas
@ -645,6 +645,7 @@ GdkToplevelSize
gdk_toplevel_size_get_bounds
gdk_toplevel_size_set_size
gdk_toplevel_size_set_min_size
gdk_toplevel_size_set_shadow_width
<SUBSECTION Standard>
GDK_TYPE_TOPLEVEL_SIZE
gdk_toplevel_size_get_type

View File

@ -179,5 +179,6 @@ if get_option('gtk_doc')
'--extra-dir=@0@'.format(cairo_docpath),
],
html_assets: images,
install: true)
install: true,
)
endif

View File

@ -32,6 +32,7 @@ GskCairoNode
GskClipNode
GskColorMatrixNode
GskColorNode
GskConicGradientNode
GskContainerNode
GskCrossFadeNode
GskDebugNode
@ -56,6 +57,7 @@ gsk_render_node_get_node_type
gsk_render_node_draw
GskSerializationError
GskParseErrorFunc
GskParseLocation
gsk_render_node_serialize
gsk_render_node_deserialize
gsk_render_node_write_to_file
@ -175,6 +177,7 @@ GSK_TYPE_CLIP_NODE
GSK_TYPE_COLOR_MATRIX_NODE
GSK_TYPE_COLOR_NODE
GSK_TYPE_CONTAINER_NODE
GSK_TYPE_CONIC_GRADIENT_NODE
GSK_TYPE_CROSS_FADE_NODE
GSK_TYPE_DEBUG_NODE
GSK_TYPE_INSET_SHADOW_NODE
@ -199,22 +202,25 @@ gsk_cairo_renderer_get_type
gsk_clip_node_get_type
gsk_color_matrix_node_get_type
gsk_color_node_get_type
gsk_conic_gradient_node_get_type
gsk_container_node_get_type
gsk_cross_fade_node_get_type
gsk_debug_node_get_type
gsk_gl_shader_node_get_type
gsk_inset_shadow_node_get_type
gsk_linear_gradient_node_get_type
gsk_opacity_node_get_type
gsk_outset_shadow_node_get_type
gsk_radial_gradient_node_get_type
gsk_render_node_get_type
gsk_repeating_linear_gradient_node_get_type
gsk_repeating_radial_gradient_node_get_type
gsk_repeat_node_get_type
gsk_rounded_clip_node_get_type
gsk_shadow_node_get_type
gsk_text_node_get_type
gsk_texture_node_get_type
gsk_transform_node_get_type
gsk_gl_shader_node_get_type
GSK_TYPE_BLEND_MODE
<SUBSECTION Standard>
gsk_serialization_error_quark
@ -286,10 +292,12 @@ gsk_gl_shader_new_from_bytes
gsk_gl_shader_new_from_resource
gsk_gl_shader_compile
gsk_gl_shader_get_source
gsk_gl_shader_get_resource
gsk_gl_shader_get_n_textures
gsk_gl_shader_get_n_uniforms
gsk_gl_shader_get_uniform_name
gsk_gl_shader_find_uniform_by_name
GskGLUniformType
gsk_gl_shader_get_uniform_type
gsk_gl_shader_get_uniform_offset
gsk_gl_shader_get_args_size
@ -321,4 +329,7 @@ gsk_shader_args_builder_set_bool
gsk_shader_args_builder_set_vec2
gsk_shader_args_builder_set_vec3
gsk_shader_args_builder_set_vec4
<SUBSECTION Private>
gsk_shader_args_builder_get_type
</SECTION>

View File

@ -1,27 +1,48 @@
private_headers = [
'gsk-autocleanup.h',
'gskcairoblurprivate.h',
'gskcairorendererprivate.h',
'gskdebugprivate.h',
'gskgldriverprivate.h',
'gskglprofilerprivate.h',
'gskglrendererprivate.h',
'gskdiffprivate.h',
'gskglshaderprivate.h',
'gskprivate.h',
'gskprofilerprivate.h',
'gskrendererprivate.h',
'gskrendernodeprivate.h',
'gskrendernodeparserprivate.h',
'gskroundedrectprivate.h',
'gskshaderbuilderprivate.h',
'gsktextureprivate.h',
'gsktransformprivate.h',
'gskvulkanblendpipelineprivate.h',
# gsk/gl
'glutilsprivate.h',
'gskgldriverprivate.h',
'gskglglyphcacheprivate.h',
'gskgliconcacheprivate.h',
'gskglimageprivate.h',
'gskglnodesampleprivate.h',
'gskglprofilerprivate.h',
'gskglrendererprivate.h',
'gskglrenderopsprivate.h',
'gskglshaderbuilderprivate.h',
'gskglshadowcacheprivate.h',
'gskgltextureatlasprivate.h',
'opbuffer.h',
'stb_rect_pack.h',
# gsk/vulkan
'gskvulkanblendmodepipelineprivate.h',
'gskvulkanblurpipelineprivate.h',
'gskvulkanborderpipelineprivate.h',
'gskvulkanboxshadowpipelineprivate.h',
'gskvulkanbufferprivate.h',
'gskvulkanclipprivate.h',
'gskvulkancolorpipelineprivate.h',
'gskvulkancolortextpipelineprivate.h',
'gskvulkancommandpoolprivate.h',
'gskvulkancrossfadepipelineprivate.h',
'gskvulkaneffectpipelineprivate.h',
'gskvulkanglyphcacheprivate.h',
'gskvulkanimageprivate.h',
'gskvulkanlineargradientpipelineprivate.h',
'gskvulkanmemoryprivate.h',
@ -31,6 +52,8 @@ private_headers = [
'gskvulkanrenderpassprivate.h',
'gskvulkanrenderprivate.h',
'gskvulkanshaderprivate.h',
'gskvulkantextpipelineprivate.h',
'gskvulkantexturepipelineprivate.h',
]
images = [
@ -51,6 +74,9 @@ if get_option('gtk_doc')
'--ignore-decorators=_GDK_EXTERN',
'--ignore-headers=' + ' '.join(private_headers),
],
mkdb_args: [
'--ignore-files=' + ' '.join(private_headers),
],
fixxref_args: [
'--html-dir=@0@'.format(docpath),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
@ -60,5 +86,6 @@ if get_option('gtk_doc')
'--extra-dir=../gdk',
],
html_assets: images,
install: true)
install: true,
)
endif

View File

@ -618,6 +618,14 @@ GtkBuildable
GtkBuildableIface
GtkBuildableParser
gtk_buildable_get_buildable_id
<SUBSECTION Parser>
gtk_buildable_parse_context_get_element
gtk_buildable_parse_context_get_element_stack
gtk_buildable_parse_context_get_position
gtk_buildable_parse_context_pop
gtk_buildable_parse_context_push
<SUBSECTION Standard>
GTK_BUILDABLE
GTK_IS_BUILDABLE
@ -835,6 +843,8 @@ gtk_combo_box_get_active_id
gtk_combo_box_set_active_id
gtk_combo_box_get_model
gtk_combo_box_set_model
gtk_combo_box_popup
gtk_combo_box_popup_for_device
gtk_combo_box_popdown
gtk_combo_box_get_row_separator_func
gtk_combo_box_set_row_separator_func
@ -1133,6 +1143,8 @@ gtk_password_entry_set_show_peek_icon
gtk_password_entry_get_show_peek_icon
gtk_password_entry_set_extra_menu
gtk_password_entry_get_extra_menu
gtk_password_entry_get_text_widget
gtk_password_entry_toggle_peek
<SUBSECTION Private>
gtk_password_entry_get_type
</SECTION>
@ -2627,7 +2639,9 @@ GtkSorterOrder
GtkSorterChange
gtk_sorter_compare
gtk_sorter_get_order
gtk_sorter_get_keys
gtk_sorter_changed
gtk_sorter_changed_with_keys
<SUBSECTION Standard>
GTK_SORTER
GTK_IS_SORTER
@ -2757,7 +2771,6 @@ gtk_sort_list_model_get_type
GtkSpinButton
GtkSpinButtonUpdatePolicy
GtkSpinType
gtk_spin_button_configure
gtk_spin_button_new
gtk_spin_button_new_with_range
gtk_spin_button_set_adjustment
@ -2781,8 +2794,10 @@ gtk_spin_button_set_snap_to_ticks
gtk_spin_button_get_snap_to_ticks
gtk_spin_button_set_climb_rate
gtk_spin_button_get_climb_rate
gtk_spin_button_configure
gtk_spin_button_spin
gtk_spin_button_update
gtk_spin_button_get_text_widget
GTK_INPUT_ERROR
<SUBSECTION Standard>
GTK_SPIN_BUTTON
@ -2829,6 +2844,7 @@ gtk_statusbar_push
gtk_statusbar_pop
gtk_statusbar_remove
gtk_statusbar_remove_all
gtk_statusbar_get_message
<SUBSECTION Standard>
GTK_STATUSBAR
GTK_IS_STATUSBAR
@ -2963,6 +2979,8 @@ GTK_TEXT_BUFFER_GET_CLASS
gtk_text_buffer_get_type
<SUBSECTION Private>
GtkTextBufferPrivate
gtk_text_byte_begins_utf8_char
gtk_text_unknown_char_utf8_gtk_tests_only
</SECTION>
<SECTION>
@ -4002,6 +4020,10 @@ gtk_cell_renderer_get_padding
gtk_cell_renderer_set_padding
gtk_cell_renderer_get_state
gtk_cell_renderer_is_activatable
gtk_cell_renderer_get_is_expanded
gtk_cell_renderer_get_is_expander
gtk_cell_renderer_set_is_expanded
gtk_cell_renderer_set_is_expander
<SUBSECTION Width-for-height>
gtk_cell_renderer_get_preferred_height
@ -4286,6 +4308,7 @@ gtk_snapshot_push_shadow
gtk_snapshot_push_debug
gtk_snapshot_push_gl_shader
gtk_snapshot_pop
gtk_snapshot_gl_shader_pop_texture
gtk_snapshot_save
gtk_snapshot_restore
gtk_snapshot_transform
@ -4308,6 +4331,9 @@ gtk_snapshot_append_conic_gradient
gtk_snapshot_append_border
gtk_snapshot_append_inset_shadow
gtk_snapshot_append_outset_shadow
gtk_snapshot_append_radial_gradient
gtk_snapshot_append_repeating_radial_gradient
gtk_snapshot_render_insertion_cursor
gtk_snapshot_render_background
gtk_snapshot_render_frame
gtk_snapshot_render_focus
@ -4442,6 +4468,7 @@ gtk_widget_get_focusable
gtk_widget_set_focusable
gtk_widget_get_focus_on_click
gtk_widget_set_focus_on_click
gtk_widget_get_focus_child
gtk_widget_set_focus_child
gtk_widget_get_can_target
gtk_widget_set_can_target
@ -5105,6 +5132,34 @@ GTK_PRINTER_GET_CLASS
<SUBSECTION Private>
GtkPrinterPrivate
gtk_printer_get_type
GtkPrinterOption
gtk_printer_option_allocate_choices
gtk_printer_option_choices_from_array
gtk_printer_option_clear_has_conflict
gtk_printer_option_get_activates_default
gtk_printer_option_get_type
gtk_printer_option_has_choice
gtk_printer_option_new
gtk_printer_option_set
gtk_printer_option_set_activates_default
gtk_printer_option_set_add
gtk_printer_option_set_boolean
gtk_printer_option_set_clear_conflicts
gtk_printer_option_set_foreach
gtk_printer_option_set_foreach_in_group
gtk_printer_option_set_get_groups
gtk_printer_option_set_get_type
gtk_printer_option_set_has_conflict
gtk_printer_option_set_lookup
gtk_printer_option_set_new
gtk_printer_option_set_remove
GtkPrinterOptionWidget
gtk_printer_option_widget_get_external_label
gtk_printer_option_widget_get_type
gtk_printer_option_widget_get_value
gtk_printer_option_widget_has_external_label
gtk_printer_option_widget_new
gtk_printer_option_widget_set_source
</SECTION>
@ -5297,6 +5352,7 @@ GtkCustomPaperUnixDialogClass
<SUBSECTION Private>
gtk_paper_size_get_type
gtk_custom_paper_unix_dialog_get_type
gtk_print_load_custom_papers
GtkCustomPaperUnixDialogPrivate
</SECTION>
@ -5452,6 +5508,19 @@ gtk_test_init
gtk_test_list_all_types
gtk_test_register_all_types
gtk_test_widget_wait_for_draw
<SUBSECTION Accessibility>
gtk_test_accessible_assert_property
gtk_test_accessible_assert_relation
gtk_test_accessible_assert_role
gtk_test_accessible_assert_state
gtk_test_accessible_assertion_message_role
gtk_test_accessible_check_property
gtk_test_accessible_check_relation
gtk_test_accessible_check_state
gtk_test_accessible_has_property
gtk_test_accessible_has_relation
gtk_test_accessible_has_role
gtk_test_accessible_has_state
</SECTION>
<SECTION>
@ -6131,6 +6200,8 @@ gtk_popover_get_offset
gtk_popover_set_default_widget
gtk_popover_set_cascade_popdown
gtk_popover_get_cascade_popdown
gtk_popover_get_mnemonics_visible
gtk_popover_set_mnemonics_visible
<SUBSECTION Standard>
GTK_TYPE_POPOVER
GTK_IS_POPOVER
@ -6974,6 +7045,8 @@ gtk_native_get_for_surface
gtk_native_get_surface
gtk_native_get_renderer
gtk_native_get_surface_transform
gtk_native_realize
gtk_native_unrealize
<SUBSECTION Private>
gtk_native_get_type
@ -7514,6 +7587,9 @@ gtk_accessible_reset_property
gtk_accessible_update_relation
gtk_accessible_update_relation_value
gtk_accessible_reset_relation
gtk_accessible_property_init_value
gtk_accessible_relation_init_value
gtk_accessible_state_init_value
<SUBSECTION Standard>
GTK_TYPE_ACCESSIBLE

View File

@ -20,13 +20,19 @@ private_headers = [
'gtkbindingsprivate.h',
'gtkbitmaskprivateimpl.h',
'gtkbitmaskprivate.h',
'gtkbuildableprivate.h',
'gtkbuilderprivate.h',
'gtkbuilderscopeprivate.h',
'gtkbuiltiniconprivate.h',
'gtkbuttonprivate.h',
'gtkcellareaboxcontextprivate.h',
'gtkcheckbuttonprivate.h',
'gtkcolorchooserprivate.h',
'gtkcoloreditorprivate.h',
'gtkcolorpickerkwinprivate.h',
'gtkcolorpickerportalprivate.h',
'gtkcolorpickerprivate.h',
'gtkcolorpickershellprivate.h',
'gtkcolorplaneprivate.h',
'gtkcolorscaleprivate.h',
'gtkcolorswatchprivate.h',
@ -38,6 +44,7 @@ private_headers = [
'gtkcolumnviewsorterprivate.h',
'gtkcolumnviewtitleprivate.h',
'gtkcomboboxprivate.h',
'gtkcomposetable.h',
'gtkconstraintexpressionprivate.h',
'gtkconstraintguideprivate.h',
'gtkconstraintlayoutprivate.h',
@ -45,6 +52,7 @@ private_headers = [
'gtkconstraintsolverprivate.h',
'gtkconstrainttypesprivate.h',
'gtkconstraintvflparserprivate.h',
'gtkcountingbloomfilterprivate.h',
'gtkcssanimatedstyleprivate.h',
'gtkcssanimationprivate.h',
'gtkcssarrayvalueprivate.h',
@ -55,6 +63,7 @@ private_headers = [
'gtkcsscalcvalueprivate.h',
'gtkcsscolorvalueprivate.h',
'gtkcsscornervalueprivate.h',
'gtkcssdataurlprivate.h',
'gtkcssdimensionvalueprivate.h',
'gtkcssdynamicprivate.h',
'gtkcsseasevalueprivate.h',
@ -63,6 +72,7 @@ private_headers = [
'gtkcssfontfeaturesvalueprivate.h',
'gtkcssfontvariationsvalueprivate.h',
'gtkcssiconthemevalueprivate.h',
'gtkcssimageconicprivate.h',
'gtkcssimagecrossfadeprivate.h',
'gtkcssimagefallbackprivate.h',
'gtkcssimageiconthemeprivate.h',
@ -79,6 +89,7 @@ private_headers = [
'gtkcssinheritvalueprivate.h',
'gtkcssinitialvalueprivate.h',
'gtkcsskeyframesprivate.h',
'gtkcsslocationprivate.h',
'gtkcsslookupprivate.h',
'gtkcssmatcherprivate.h',
'gtkcssnodedeclarationprivate.h',
@ -94,6 +105,7 @@ private_headers = [
'gtkcssrgbavalueprivate.h',
'gtkcsssectionprivate.h',
'gtkcssselectorprivate.h',
'gtkcssserializerprivate.h',
'gtkcssshadowsvalueprivate.h',
'gtkcssshadowvalueprivate.h',
'gtkcssshorthandpropertyprivate.h',
@ -102,6 +114,7 @@ private_headers = [
'gtkcssstylechangeprivate.h',
'gtkcssstyleprivate.h',
'gtkcssstylepropertyprivate.h',
'gtkcsstokenizerprivate.h',
'gtkcsstransformvalueprivate.h',
'gtkcsstransientnodeprivate.h',
'gtkcsstransitionprivate.h',
@ -111,6 +124,9 @@ private_headers = [
'gtkcsswidgetnodeprivate.h',
'gtkcsswin32sizevalueprivate.h',
'gtkdialogprivate.h',
'gtkdragdestprivate.h',
'gtkdropprivate.h',
'gtkemojicompletion.h',
'gtkentryprivate.h',
'gtkeventcontrollerlegacyprivate.h',
'gtkeventcontrollerprivate.h',
@ -119,6 +135,7 @@ private_headers = [
'gtkfilechooserprivate.h',
'gtkfilechooserwidgetprivate.h',
'gtkfilefilterprivate.h',
'gtkflowboxprivate.h',
'gtkfontchooserprivate.h',
'gtkfontchooserwidgetprivate.h',
'gtkgesturedragprivate.h',
@ -142,16 +159,25 @@ private_headers = [
'gtkiconviewprivate.h',
'gtkimagedefinitionprivate.h',
'gtkimageprivate.h',
'gtkimcontextbroadway.h',
'gtkimcontextime.h',
'gtkimcontextquartz.h',
'gtkimcontextsimpleprivate.h',
'gtkimcontextsimpleseqs.h',
'gtkimcontextwayland.h',
'gtkimmoduleprivate.h',
'gtkimmodule.h',
'gtkintl.h',
'gtkistringprivate.h',
'gtkkineticscrollingprivate.h',
'gtklabelprivate.h',
'gtklayoutmanagerprivate.h',
'gtklistbaseprivate.h',
'gtklistitemprivate.h',
'gtklistitemfactoryprivate.h',
'gtklistitemmanagerprivate.h',
'gtklistitemwidgetprivate.h',
'gtklistlistmodelprivate.h',
'gtklockbuttonprivate.h',
'gtkmagnifierprivate.h',
'gtkmediafileprivate.h',
@ -159,22 +185,32 @@ private_headers = [
'gtkmenusectionboxprivate.h',
'gtkmenutrackeritemprivate.h',
'gtkmenutrackerprivate.h',
'gtkmodelbuttonprivate.h',
'gtkmodulesprivate.h',
'gtkmountoperationprivate.h',
'gtknativedialogprivate.h',
'gtknativeprivate.h',
'gtknomediafileprivate.h',
'gtkpango.h',
'gtkpasswordentrybufferprivate.h',
'gtkpathbar.h',
'gdkpixbufutilsprivate.h',
'gtkplacessidebarprivate.h',
'gtkplacesviewprivate.h',
'gtkplacesviewrowprivate.h',
'gtkpointerfocusprivate.h',
'gtkpopcountprivate.h',
'gtkpopovermenubarprivate.h',
'gtkpopovermenuprivate.h',
'gtkpopoverprivate.h',
'gtkprintbackendprivate.h',
'gtkprinterprivate.h',
'gtkprintoperation-portal.h',
'gtkprintoperation-private.h',
'gtkprintutils.h',
'gtkprivate.h',
'gtkprogresstrackerprivate.h',
'gtkpropertylookuplistmodelprivate.h',
'gtkquery.h',
'gtkrangeprivate.h',
'gtkrbtreeprivate.h',
@ -182,6 +218,7 @@ private_headers = [
'gtkrenderborderprivate.h',
'gtkrendericonprivate.h',
'gtkrendernodepaintableprivate.h',
'gtkrootprivate.h',
'gtkroundedboxprivate.h',
'gtkscalerprivate.h',
'gtksearchengine.h',
@ -189,19 +226,25 @@ private_headers = [
'gtksearchenginequartz.h',
'gtksearchenginetracker3.h',
'gtksearchentryprivate.h',
'gtksecurememoryprivate.h',
'gtksettingsprivate.h',
'gtkshortcutactionprivate.h',
'gtkshortcutcontrollerprivate.h',
'gtkshortcutmanagerprivate.h',
'gtkshortcutsshortcutprivate.h',
'gtkshortcutswindowprivate.h',
'gtksidebarrowprivate.h',
'gtksizegroup-private.h',
'gtksizerequestcacheprivate.h',
'gtksnapshotprivate.h',
'gtksortkeysprivate.h',
'gtkstyleanimationprivate.h',
'gtkstylecascadeprivate.h',
'gtkstylecontextprivate.h',
'gtkstylepropertyprivate.h',
'gtkstyleproviderprivate.h',
'gtktestatcontextprivate.h',
'gtktextattributes.h',
'gtktextbufferprivate.h',
'gtktextchildprivate.h',
'gtktextdisplayprivate.h',
@ -211,12 +254,17 @@ private_headers = [
'gtktextlayoutprivate.h',
'gtktextlinedisplaycacheprivate.h',
'gtktextmarkprivate.h',
'gtktextprivate.h',
'gtktextsegment.h',
'gtktexttagprivate.h',
'gtktextutil.h',
'gtktextviewchildprivate.h',
'gtktextviewprivate.h',
'gtktogglebuttonprivate.h',
'gtktoolbarprivate.h',
'gtktooltipprivate.h',
'gtktooltipwindowprivate.h',
'gtktreedatalist.h',
'gtktreepopoverprivate.h',
'gtktreeprivate.h',
'gtktreerbtreeprivate.h',
@ -228,14 +276,20 @@ private_headers = [
'gtkwin32themeprivate.h',
'gtkwindowprivate.h',
'gsettings-mapping.h',
'gskpango.h',
'gtkdbusgenerated.h',
'imm-extra.h',
'language-names.h',
'open-type-layout.h',
'script-names.h',
'text-input-unstable-v3-client-protocol.h',
'a11y',
'inspector',
'roaring',
'timsort',
'tools',
]
images = [
@ -462,7 +516,8 @@ if get_option('gtk_doc')
expand_md_targets += custom_target(t,
input: [ t ],
output: [ fs.replace_suffix(t, '.xml') ],
command: [ expand_md, '@INPUT@', '@OUTPUT@'])
command: [ expand_md, '@INPUT@', '@OUTPUT@'],
)
endforeach
gnome.gtkdoc('gtk4',
@ -497,7 +552,8 @@ if get_option('gtk_doc')
],
content_files: content_files + expand_md_targets,
html_assets: images,
install: true)
install: true,
)
endif
xsltproc = find_program('xsltproc', required: false)
@ -542,6 +598,7 @@ if get_option('man-pages') and xsltproc.found()
'@INPUT@',
],
install: true,
install_dir: join_paths(get_option('mandir'), 'man@0@'.format(man_section)))
install_dir: join_paths(get_option('mandir'), 'man@0@'.format(man_section)),
)
endforeach
endif

View File

@ -59,17 +59,25 @@ libgdk_broadway = static_library('gdk-broadway',
'-DGTK_COMPILATION',
'-DG_LOG_DOMAIN="Gdk"',
] + common_cflags,
link_args: common_ldflags,
dependencies: [gdk_deps, gdk_broadway_deps])
dependencies: [gdk_deps, gdk_broadway_deps],
)
# gtk4-broadwayd
broadwayd_syslib = os_win32 ? find_library('ws2_32') : shmlib
executable('gtk4-broadwayd',
clienthtml_h, broadwayjs_h, gdkconfig, gdkenum_h,
'broadwayd.c', 'broadway-server.c', 'broadway-output.c',
sources: [
clienthtml_h,
broadwayjs_h,
gdkconfig,
gdkenum_h,
'broadwayd.c',
'broadway-server.c',
'broadway-output.c',
],
include_directories: [confinc, gdkinc, include_directories('.')],
c_args: ['-DGTK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', ],
dependencies: [ broadwayd_syslib, gdk_deps ],
install : true)
install: true,
)

View File

@ -476,10 +476,6 @@ GdkEvent * gdk_focus_event_new (GdkSurface *surface,
GdkDevice *device,
gboolean focus_in);
GdkEvent * gdk_configure_event_new (GdkSurface *surface,
int width,
int height);
GdkEvent * gdk_delete_event_new (GdkSurface *surface);
GdkEvent * gdk_scroll_event_new (GdkSurface *surface,

View File

@ -57,7 +57,7 @@ libgdk_c_args += ['-xobjective-c']
libgdk_macos = static_library('gdk-macos',
gdk_macos_sources, gdkconfig, gdkenum_h,
include_directories: [ confinc, gdkinc, ],
c_args: libgdk_c_args + common_cflags,
link_args: common_ldflags,
c_args: [ libgdk_c_args, common_cflags, ],
link_with: [],
dependencies: gdk_deps + gdk_macos_deps)
dependencies: [ gdk_deps, gdk_macos_deps, ],
)

View File

@ -114,14 +114,19 @@ gdk_private_h_sources = files([
gdk_gresource_xml = configure_file(output: 'gdk.gresource.xml',
input: 'gen-gdk-gresources-xml.py',
command : [find_program('gen-gdk-gresources-xml.py'),
meson.current_source_dir(), '@OUTPUT@'])
command: [
find_program('gen-gdk-gresources-xml.py'),
meson.current_source_dir(),
'@OUTPUT@',
],
)
gdkresources = gnome.compile_resources('gdkresources',
gdk_gresource_xml,
source_dir: '.',
c_name: '_gdk',
extra_args: '--manual-register')
extra_args: '--manual-register',
)
gdk_headers = gdk_public_headers
@ -129,15 +134,17 @@ gdk_enums = gnome.mkenums('gdkenumtypes',
sources: gdk_public_headers,
c_template: 'gdkenumtypes.c.template',
h_template: 'gdkenumtypes.h.template',
install_dir: join_paths(gtk_includedir, 'gtk-4.0/gdk'),
install_header : true)
install_dir: gtk_includedir / 'gtk-4.0/gdk',
install_header: true,
)
gdkenum_h = gdk_enums[1]
gdk_marshalers = gnome.genmarshal('gdkmarshalers',
sources: 'gdkmarshalers.list',
prefix: '_gdk_marshal',
valist_marshallers : true)
valist_marshallers: true,
)
gdkmarshal_h = gdk_marshalers[1]
@ -153,8 +160,8 @@ gdkconfig = configure_file(
input: 'gdkconfig.h.meson',
output: 'gdkconfig.h',
configuration: gdkconfig_cdata,
install_dir: join_paths(gtk_includedir, 'gtk-4.0/gdk'))
install_dir: gtk_includedir / 'gtk-4.0/gdk',
)
gdkversion_cdata = configuration_data()
gdkversion_cdata.set('GTK_MAJOR_VERSION', gtk_major_version)
@ -165,7 +172,8 @@ gdkversionmacros = configure_file(
input: 'gdkversionmacros.h.in',
output: 'gdkversionmacros.h',
configuration: gdkversion_cdata,
install_dir: join_paths(gtk_includedir, 'gtk-4.0/gdk'))
install_dir: gtk_includedir / 'gtk-4.0/gdk',
)
gdkinc = include_directories('.')
gdkx11_inc = include_directories('x11')
@ -251,7 +259,7 @@ libgdk = static_library('gdk',
include_directories: [confinc, gdkx11_inc, wlinc],
c_args: libgdk_c_args + common_cflags,
link_whole: gdk_backends,
link_args: common_ldflags)
)
# We don't have link_with: to internal static libs here on purpose, just
# list the dependencies and generated headers and such, for use in the
@ -259,4 +267,5 @@ libgdk = static_library('gdk',
libgdk_dep = declare_dependency(
sources: ['gdk.h', gdkconfig, gdkenum_h],
include_directories: [confinc, gdkx11_inc, wlinc],
dependencies: gdk_deps + [libgtk_css_dep])
dependencies: gdk_deps + [libgtk_css_dep],
)

View File

@ -9,4 +9,4 @@ libwayland_cursor = static_library('wayland+cursor',
include_directories: [ confinc, ],
dependencies: [ glib_dep, wlclientdep, ],
c_args: common_cflags,
link_args: common_ldflags)
)

View File

@ -83,7 +83,8 @@ foreach p: proto_sources
wayland_scanner,
'client-header',
'@INPUT@', '@OUTPUT@',
])
],
)
gdk_wayland_sources += custom_target('@0@ source'.format(output_base),
input: input,
@ -92,16 +93,22 @@ foreach p: proto_sources
wayland_scanner,
'private-code',
'@INPUT@', '@OUTPUT@',
])
],
)
endforeach
libgdk_wayland = static_library('gdk-wayland',
gdk_wayland_sources, gdk_wayland_gen_headers, gdkconfig, gdkenum_h,
sources: [
gdk_wayland_sources,
gdk_wayland_gen_headers,
gdkconfig,
gdkenum_h,
],
include_directories: [ confinc, gdkinc, ],
c_args: [
'-DGTK_COMPILATION',
'-DG_LOG_DOMAIN="Gdk"',
] + common_cflags,
link_args: common_ldflags,
link_with: [ libwayland_cursor, ],
dependencies: [ gdk_deps, gdk_wayland_deps])
dependencies: [ gdk_deps, gdk_wayland_deps ],
)

View File

@ -56,5 +56,10 @@ gdk_win32_deps = [ # FIXME
libgdk_win32 = static_library('gdk-win32',
gdk_win32_sources, gdkconfig, gdkenum_h,
include_directories: [ confinc, gdkinc ],
c_args: ['-DGTK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', '-DINSIDE_GDK_WIN32'] + GDK_WIN32_EGL_CFLAGS,
dependencies: [gdk_deps, gdk_win32_deps])
c_args: [
'-DGTK_COMPILATION',
'-DG_LOG_DOMAIN="Gdk"',
'-DINSIDE_GDK_WIN32',
] + GDK_WIN32_EGL_CFLAGS,
dependencies: [ gdk_deps, gdk_win32_deps ],
)

View File

@ -1,9 +1,40 @@
/* gdkdevice-xi2-private.h: Private header for GdkX11DeviceXI2
*
* Copyright 2020 Red Hat
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GDK_DEVICE_XI2_PRIVATE_H__
#define __GDK_DEVICE_XI2_PRIVATE_H__
#include "gdkx11device-xi2.h"
G_BEGIN_DECLS
void gdk_x11_device_xi2_query_state (GdkDevice *device,
GdkSurface *surface,
double *win_x,
double *win_y,
GdkModifierType *mask);
GdkX11DeviceType gdk_x11_device_xi2_get_device_type (GdkX11DeviceXI2 *device);
void gdk_x11_device_xi2_set_device_type (GdkX11DeviceXI2 *device,
GdkX11DeviceType type);
G_END_DECLS
#endif

View File

@ -18,8 +18,8 @@
#include "config.h"
#include "gdkx11devicemanager-xi2.h"
#include "gdkx11device-xi2.h"
#include "gdkdevice-xi2-private.h"
#include "gdkdeviceprivate.h"
#include "gdkdevicetoolprivate.h"
#include "gdkdisplayprivate.h"

View File

@ -41,10 +41,6 @@ typedef enum {
GDK_AVAILABLE_IN_ALL
GType gdk_x11_device_xi2_get_type (void) G_GNUC_CONST;
GdkX11DeviceType gdk_x11_device_xi2_get_device_type (GdkX11DeviceXI2 *device);
void gdk_x11_device_xi2_set_device_type (GdkX11DeviceXI2 *device,
GdkX11DeviceType type);
G_END_DECLS
#endif /* __GDK_X11_DEVICE_XI2_H__ */

View File

@ -72,12 +72,17 @@ gdk_x11_deps = [
xinerama_dep,
]
libgdk_x11 = static_library('gdk-x11', gdkmarshal_h,
gdk_x11_sources, gdkconfig, gdkenum_h,
libgdk_x11 = static_library('gdk-x11',
sources: [
gdkmarshal_h,
gdkenum_h,
gdkconfig,
gdk_x11_sources,
],
include_directories: [ confinc, gdkinc, ],
c_args: [
'-DGTK_COMPILATION',
'-DG_LOG_DOMAIN="Gdk"',
] + common_cflags,
link_args: common_ldflags,
dependencies: [ gdk_deps, gdk_x11_deps, ])
dependencies: [ gdk_deps, gdk_x11_deps, ],
)

View File

@ -137,17 +137,16 @@ gsk_resources_xml = configure_file(output: 'gsk.resources.xml',
gsk_private_gl_shaders,
gsk_private_vulkan_compiled_shaders,
gsk_private_vulkan_shaders
])
# FIXME: do we need this variable?
gsk_sources = gsk_public_sources + gsk_private_sources
],
)
gsk_enums = gnome.mkenums('gskenumtypes',
sources: gsk_public_headers,
c_template: 'gskenumtypes.c.template',
h_template: 'gskenumtypes.h.template',
install_dir: join_paths(gtk_includedir, 'gtk-4.0/gsk'),
install_header: true)
install_dir: gtk_includedir / 'gtk-4.0/gsk',
install_header: true,
)
gskenum_h = gsk_enums[1]
@ -156,7 +155,8 @@ gskresources = gnome.compile_resources('gskresources',
dependencies: gsk_private_vulkan_compiled_shaders_deps,
source_dir: '.',
c_name: '_gsk',
extra_args: [ '--manual-register', ])
extra_args: [ '--manual-register', ],
)
gsk_gen_headers = [ gskenum_h, ]
@ -170,7 +170,12 @@ gsk_deps = [
]
libgsk = static_library('gsk',
sources: [ gsk_sources, gsk_enums, gskresources, ],
sources: [
gsk_public_sources,
gsk_private_sources,
gsk_enums,
gskresources,
],
dependencies: gsk_deps,
include_directories: [ confinc, ],
c_args: [
@ -179,11 +184,12 @@ libgsk = static_library('gsk',
'-DG_LOG_STRUCTURED=1',
] + common_cflags,
link_with: libgdk,
link_args: common_ldflags)
)
# We don't have link_with: to internal static libs here on purpose, just
# list the dependencies and generated headers and such, for use in the
# "public" libgtk_dep used by internal executables.
libgsk_dep = declare_dependency(include_directories: [ confinc, ],
sources: [ gskenum_h, ],
dependencies: libgdk_dep)
dependencies: libgdk_dep,
)

View File

@ -32,7 +32,8 @@ gtk_css_enums = gnome.mkenums('gtkcssenumtypes',
c_template: 'gtkcssenumtypes.c.template',
h_template: 'gtkcssenumtypes.h.template',
install_dir: join_paths(gtk_includedir, 'gtk-4.0/gtk/css'),
install_header: true)
install_header: true,
)
gtk_css_enum_h = gtk_css_enums[1]
@ -48,11 +49,12 @@ libgtk_css = static_library('gtk_css',
'-DGTK_COMPILATION',
'-DG_LOG_DOMAIN="Gtk"',
] + common_cflags,
link_args: common_ldflags)
)
# We don't have link_with: to internal static libs here on purpose, just
# list the dependencies and generated headers and such, for use in the
# "public" libgtk_dep used by internal executables.
libgtk_css_dep = declare_dependency(include_directories: [ confinc, ],
sources: [ gtk_css_enum_h ],
dependencies: gtk_css_deps)
dependencies: gtk_css_deps,
)

View File

@ -226,6 +226,11 @@ gtk_event_controller_class_init (GtkEventControllerClass *klass)
GTK_LIMIT_SAME_NATIVE,
GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
/**
* GtkEventController:name:
*
* The name for this controller, typically used for debugging purposes.
*/
properties[PROP_NAME] =
g_param_spec_string ("name",
P_("Name"),
@ -364,7 +369,7 @@ gtk_event_controller_handle_event (GtkEventController *controller,
return retval;
}
/**
/*< private >
* gtk_event_controller_handle_crossing:
* @controller: a #GtkEventController
* @crossing: a #GtkCrossingData
@ -373,7 +378,7 @@ gtk_event_controller_handle_event (GtkEventController *controller,
*
* Feeds a crossing event into @controller, so it can be interpreted
* and the controller actions triggered.
**/
*/
void
gtk_event_controller_handle_crossing (GtkEventController *controller,
const GtkCrossingData *crossing,
@ -658,33 +663,3 @@ gtk_event_controller_get_current_event_state (GtkEventController *controller)
return 0;
}
static GtkCrossingData *
gtk_crossing_data_copy (GtkCrossingData *crossing)
{
GtkCrossingData *copy;
copy = g_new (GtkCrossingData, 1);
copy->type = crossing->type;
copy->direction = crossing->direction;
if (crossing->old_target)
copy->old_target = g_object_ref (crossing->old_target);
if (crossing->new_target)
copy->new_target = g_object_ref (crossing->new_target);
return copy;
}
static void
gtk_crossing_data_free (GtkCrossingData *crossing)
{
g_clear_object (&crossing->old_target);
g_clear_object (&crossing->new_target);
g_free (crossing);
}
G_DEFINE_BOXED_TYPE (GtkCrossingData, gtk_crossing_data,
gtk_crossing_data_copy, gtk_crossing_data_free)

View File

@ -40,9 +40,6 @@ G_BEGIN_DECLS
#define GTK_EVENT_CONTROLLER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_EVENT_CONTROLLER, GtkEventControllerClass))
GDK_AVAILABLE_IN_ALL
GType gtk_crossing_data_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GType gtk_event_controller_get_type (void) G_GNUC_CONST;

View File

@ -100,10 +100,6 @@ gtk_text_attributes_copy (GtkTextAttributes *src)
return dest;
}
G_DEFINE_BOXED_TYPE (GtkTextAttributes, gtk_text_attributes,
gtk_text_attributes_ref,
gtk_text_attributes_unref)
/**
* gtk_text_attributes_copy_values:
* @src: a #GtkTextAttributes

View File

@ -58,9 +58,6 @@
G_BEGIN_DECLS
typedef struct _GtkTextAttributes GtkTextAttributes;
#define GTK_TYPE_TEXT_ATTRIBUTES (gtk_text_attributes_get_type ())
typedef struct _GtkTextAppearance GtkTextAppearance;
/**
@ -184,23 +181,13 @@ struct _GtkTextAttributes
char *font_features;
};
GDK_AVAILABLE_IN_ALL
GtkTextAttributes* gtk_text_attributes_new (void);
GDK_AVAILABLE_IN_ALL
GtkTextAttributes* gtk_text_attributes_copy (GtkTextAttributes *src);
GDK_AVAILABLE_IN_ALL
void gtk_text_attributes_copy_values (GtkTextAttributes *src,
GtkTextAttributes *dest);
GDK_AVAILABLE_IN_ALL
void gtk_text_attributes_unref (GtkTextAttributes *values);
GDK_AVAILABLE_IN_ALL
GtkTextAttributes *gtk_text_attributes_ref (GtkTextAttributes *values);
GDK_AVAILABLE_IN_ALL
GType gtk_text_attributes_get_type (void) G_GNUC_CONST;
G_END_DECLS
#endif

View File

@ -729,7 +729,8 @@ foreach p: proto_sources
wayland_scanner,
'client-header',
'@INPUT@', '@OUTPUT@',
])
],
)
im_wayland_sources += custom_target('@0@ source'.format(output_base),
input: input,
@ -738,7 +739,8 @@ foreach p: proto_sources
wayland_scanner,
'private-code',
'@INPUT@', '@OUTPUT@',
])
],
)
endif
endforeach
@ -831,7 +833,8 @@ gtk_gresources_xml = configure_file(output: 'gtk.gresources.xml',
gen_gtk_gresources_xml,
meson.current_source_dir(),
'@OUTPUT@'
])
],
)
# Build the theme files
sassc = find_program('sassc', required: false)
@ -875,7 +878,7 @@ foreach lang : [ 'de', 'fr', 'es', 'zh' ]
source_dir: 'emoji',
gresource_bundle: true,
install: true,
install_dir: join_paths(gtk_datadir, 'gtk-4.0', 'emoji')
install_dir: gtk_datadir / 'gtk-4.0/emoji',
)
endforeach
@ -895,12 +898,14 @@ gtk_use_wayland_or_x11_c_sources = files([
gtk_dbus_src = gnome.gdbus_codegen('gtkdbusgenerated',
'gtkdbusinterfaces.xml',
interface_prefix: 'org.Gtk.',
namespace: '_Gtk')
namespace: '_Gtk',
)
gtkmarshalers = gnome.genmarshal('gtkmarshalers',
sources: 'gtkmarshalers.list',
prefix: '_gtk_marshal',
valist_marshallers: true)
valist_marshallers: true,
)
gtkmarshal_h = gtkmarshalers[1]
@ -908,15 +913,17 @@ gtktypebuiltins = gnome.mkenums('gtktypebuiltins',
sources: gtk_public_headers + gtk_deprecated_headers,
c_template: 'gtktypebuiltins.c.template',
h_template: 'gtktypebuiltins.h.template',
install_dir: join_paths(gtk_includedir, 'gtk-4.0/gtk'),
install_header: true)
install_dir: gtk_includedir / 'gtk-4.0/gtk',
install_header: true,
)
gtktypebuiltins_h = gtktypebuiltins[1]
gtkprivatetypebuiltins = gnome.mkenums('gtkprivatetypebuiltins',
sources: gtk_private_type_headers,
c_template: 'gtkprivatetypebuiltins.c.template',
h_template: 'gtkprivatetypebuiltins.h.template')
h_template: 'gtkprivatetypebuiltins.h.template',
)
gtkprivatetypebuiltins_h = gtkprivatetypebuiltins[1]
@ -935,7 +942,8 @@ typefuncs = custom_target('gtktypefuncs.inc',
'@OUTPUT@',
'@INPUT@',
],
install: false)
install: false,
)
gtkversion_cdata = configuration_data()
gtkversion_cdata.set('GTK_MAJOR_VERSION', gtk_major_version)
@ -953,7 +961,9 @@ endif
gtkversion = configure_file(input: 'gtkversion.h.in',
output: 'gtkversion.h',
configuration: gtkversion_cdata,
install_dir: join_paths(gtk_includedir, 'gtk-4.0/gtk'))
install: true,
install_dir: gtk_includedir / 'gtk-4.0/gtk',
)
gtk_gen_headers = [
gtkmarshal_h,
@ -1015,21 +1025,25 @@ if win32_enabled
gtk_cargs += ['-DGTK_PRINT_BACKENDS="file,lpr"']
gtk_deps += [ giowin32_dep, pangowin32_dep ]
gtk_deps += [cc.find_library('advapi32'),
gtk_deps += [
cc.find_library('advapi32'),
cc.find_library('comctl32'),
cc.find_library('crypt32'), # For CryptProtectMemory()
cc.find_library('dwmapi'),
cc.find_library('imm32'),
cc.find_library('setupapi'),
cc.find_library('winmm')]
cc.find_library('winmm'),
]
gtkwin32rc = configure_file(input: 'gtk-win32.rc.body.in',
output: 'gtk-win32.rc.body',
configuration: gtkversion_cdata)
configuration: gtkversion_cdata,
)
win32_manifest = configure_file(input: 'libgtk4.manifest.in',
output: 'libgtk4.manifest',
configuration: gtkversion_cdata)
configuration: gtkversion_cdata,
)
win32res = import('windows').compile_resources(gtkwin32rc, include_directories: win32rcinc)
gtk_sources += win32res
@ -1066,8 +1080,7 @@ gtk_settings_schemas = [
'org.gtk.gtk4.Settings.Debug.gschema.xml',
]
install_data(gtk_settings_schemas, install_dir: gtk_schemasdir)
gnome.compile_schemas(depend_files: files(gtk_settings_schemas),
build_by_default: true)
gnome.compile_schemas(depend_files: files(gtk_settings_schemas), build_by_default: true)
gtk_schema_build_dir = meson.current_build_dir()
# Check for more things
@ -1080,11 +1093,13 @@ if cc.has_header('langinfo.h')
endforeach
endif
# Maintain compatibility with autotools
gtk_ldflags = []
if os_darwin
gtk_ldflags += [ '-compatibility_version 1', '-current_version 1.0', ]
endif
# Generate versions for macOS dylib
darwin_versions = [
# compatibility version
1 + '@0@'.format(gtk_binary_age - gtk_interface_age).to_int(),
# current version
'@0@.@1@'.format(1 + '@0@'.format(gtk_binary_age - gtk_interface_age).to_int(), gtk_interface_age),
]
# Library
libgtk = library('gtk-4',
@ -1095,8 +1110,10 @@ libgtk = library('gtk-4',
include_directories: [confinc, gdkinc, gskinc, gtkinc],
dependencies: gtk_deps + [libgtk_css_dep, libgdk_dep, libgsk_dep],
link_whole: [libgtk_css, libgdk, libgsk, ],
link_args: common_ldflags + gtk_ldflags,
install: true)
link_args: common_ldflags,
darwin_versions: darwin_versions,
install: true,
)
gtk_dep_sources = [gtkversion, gtktypebuiltins_h]
@ -1231,9 +1248,8 @@ if build_gir
header: 'gtk/gtk.h',
install: true,
dependencies: gsk_gir_dep,
extra_args: gir_args + [
'-DGTK_COMPILATION',
])
extra_args: gir_args,
)
gtk_dep_sources += gtk_gir
endif
@ -1241,6 +1257,7 @@ libgtk_dep = declare_dependency(sources: gtk_dep_sources,
include_directories: [confinc, gtkinc],
dependencies: gtk_deps + [libgtk_css_dep, libgdk_dep, libgsk_dep],
link_with: libgtk,
link_args: common_ldflags)
link_args: common_ldflags,
)
subdir('tools')

View File

@ -18,19 +18,23 @@ foreach tool: gtk_tools
tool_name = tool.get(0)
tool_srcs = tool.get(1)
exe = executable(tool_name, tool_srcs,
exe = executable(tool_name,
sources: tool_srcs,
include_directories: [confinc],
c_args: common_cflags,
dependencies: libgtk_dep,
install: true)
install: true,
)
set_variable(tool_name.underscorify(), exe) # used in testsuites
endforeach
# Data to install
install_data('gtk4builder.rng',
install_dir: join_paths(gtk_datadir, 'gtk-4.0'))
install_data('gtk4builder.loc', 'gtk4builder.its',
install_dir: join_paths(gtk_datadir, 'gettext/its'))
install_data('gtk4builder.rng', install_dir: gtk_datadir / 'gtk-4.0')
install_data([
'gtk4builder.loc',
'gtk4builder.its',
],
install_dir: gtk_datadir / 'gettext/its',
)

View File

@ -319,15 +319,11 @@ if get_option('default_library') != 'static'
endif
endif
common_ldflags = []
if os_unix and not os_darwin
foreach ldflag: [ '-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now', ]
if cc.links('int main () { return 0; }', name: ldflag, args: ldflag)
common_ldflags += [ ldflag ]
endif
endforeach
endif
common_ldflags = cc.get_supported_link_arguments([
'-Wl,-Bsymbolic',
'-Wl,-z,relro',
'-Wl,-z,now',
])
confinc = include_directories('.')
gdkinc = include_directories('gdk')
@ -414,8 +410,6 @@ else
endif
backend_immodules = []
pc_gdk_extra_libs = []
cairo_backends = []
@ -457,7 +451,6 @@ if wayland_enabled
wlclientdep = dependency('wayland-client', version: wayland_req)
wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req, required: false)
wlegldep = dependency('wayland-egl')
backend_immodules += ['wayland']
if not wlprotocolsdep.found()
wlproto_dir = subproject('wayland-protocols').get_variable('wayland_protocols_srcdir')
@ -487,8 +480,6 @@ if x11_enabled
xcomposite_dep = dependency('xcomposite', required: false)
fontconfig_dep = dependency('fontconfig')
backend_immodules += ['xim']
x11_pkgs = ['fontconfig', 'x11', 'xext', 'xi', 'xrandr']
if xcursor_dep.found()
@ -551,12 +542,10 @@ endif
if broadway_enabled
pc_gdk_extra_libs += ['-lz']
backend_immodules += ['broadway']
endif
if macos_enabled
pc_gdk_extra_libs += ['-framework Cocoa', '-framework Carbon']
backend_immodules += ['quartz']
endif
extra_demo_ldflags = []
@ -571,7 +560,6 @@ if win32_enabled
pc_gdk_extra_libs += ['-Wl,-luuid']
endif
pc_gdk_extra_libs += ['-lwinmm', '-ldwmapi', '-lsetupapi', '-lcfgmgr32']
backend_immodules += ['ime']
# Check whether libepoxy is built with EGL support on Windows
win32_has_egl = epoxy_dep.get_variable(

View File

@ -32,11 +32,12 @@ if ffmpeg_found
media_backends += 'ffmpeg'
cdata.set('HAVE_FFMPEG', 1)
shared_module('media-ffmpeg',
'gtkffmediafile.c',
sources: 'gtkffmediafile.c',
c_args: extra_c_args,
dependencies: [ libgtk_dep, ffmpeg_deps ],
install_dir: media_install_dir,
install : true)
install: true,
)
endif
gstplayer_dep = dependency('gstreamer-player-1.0', version: '>= 1.12.3',
@ -45,11 +46,14 @@ if gstplayer_dep.found()
media_backends += 'gstreamer'
cdata.set('HAVE_GSTREAMER', 1)
shared_module('media-gstreamer',
sources: [
'gtkgstmediafile.c',
'gtkgstpaintable.c',
'gtkgstsink.c',
],
c_args: extra_c_args,
dependencies: [ libgtk_dep, gstplayer_dep ],
install_dir: media_install_dir,
install : true)
install: true,
)
endif

View File

@ -29,23 +29,27 @@ cups_dep = dependency('cups', version : '>=2.0', required: get_option('print-cup
if cups_dep.found()
print_backends += 'cups'
shared_module('printbackend-cups',
sources: [
'gtkprintbackendcups.c',
'gtkprintercups.c',
'gtkcupsutils.c',
'gtkcupssecretsutils.c',
],
c_args: printbackends_args,
dependencies: [libgtk_dep, cups_dep, colord_dep],
install_dir: printbackends_install_dir,
install : true)
install: true,
)
else
# Automatic fall-back to the lpr backend
print_backends += 'lpr'
shared_module('printbackend-lpr',
'gtkprintbackendlpr.c',
sources: 'gtkprintbackendlpr.c',
c_args: printbackends_args,
dependencies: libgtk_dep,
install_dir: printbackends_install_dir,
install : true)
install: true,
)
endif
rest_dep = dependency('rest-0.7', required : get_option('print-cloudprint'))
@ -53,9 +57,11 @@ json_glib_dep = dependency('json-glib-1.0', required : get_option('print-cloudpr
if rest_dep.found() and json_glib_dep.found()
print_backends += 'cloudprint'
shared_module('printbackend-cloudprint',
sources: [
'gtkprintbackendcloudprint.c',
'gtkprintercloudprint.c',
'gtkcloudprintaccount.c',
],
c_args: printbackends_args,
dependencies: [ libgtk_dep, rest_dep, json_glib_dep ],
install_dir: printbackends_install_dir,
@ -65,8 +71,9 @@ endif
# The 'file' print backend cannot be disabled
print_backends += 'file'
shared_module('printbackend-file',
'gtkprintbackendfile.c',
sources: 'gtkprintbackendfile.c',
c_args: printbackends_args,
dependencies: libgtk_dep,
install_dir: printbackends_install_dir,
install : true)
install: true,
)

View File

@ -131,13 +131,17 @@ test_args = ['-DGTK_SRCDIR="@0@"'.format(meson.current_source_dir())]
foreach t: gtk_tests
test_name = t.get(0)
test_srcs = ['@0@.c'.format(test_name), t.get(1, [])]
executable(test_name, test_srcs,
executable(test_name,
sources: test_srcs,
include_directories: [confinc, gdkinc],
c_args: test_args + common_cflags,
dependencies: [libgtk_dep, libm])
dependencies: [libgtk_dep, libm],
)
endforeach
if profiler_enabled
executable('testperf', 'testperf.c',
dependencies: [libsysprof_dep, platform_gio_dep, libm])
executable('testperf',
sources: 'testperf.c',
dependencies: [libsysprof_dep, platform_gio_dep, libm],
)
endif

View File

@ -19,24 +19,30 @@ test_api = executable('api', 'api.c',
c_args: common_cflags,
dependencies: libgtk_dep,
install: get_option('install-tests'),
install_dir: testexecdir)
install_dir: testexecdir,
)
test('api', test_api,
args: ['--tap', '-k' ],
protocol: 'tap',
env: csstest_env,
suite: 'css')
suite: 'css',
)
test_data = executable('data', ['data.c', '../../gtk/css/gtkcssdataurl.c'],
c_args: common_cflags,
include_directories: [confinc, ],
dependencies: gtk_deps,
install: get_option('install-tests'),
install_dir: testexecdir)
install_dir: testexecdir,
)
test('data', test_data,
args: ['--tap', '-k' ],
protocol: 'tap',
env: csstest_env,
suite: 'css')
suite: 'css',
)
if get_option('install-tests')
conf = configuration_data()
@ -44,7 +50,8 @@ if get_option('install-tests')
configure_file(input: 'api.test.in',
output: 'api.test',
configuration: conf,
install_dir: testdatadir)
install_dir: testdatadir,
)
endif
if false and get_option ('profiler')
@ -52,21 +59,26 @@ if false and get_option ('profiler')
adwaita_env = csstest_env
adwaita_env.set('GTK_THEME', 'Adwaita')
test('performance-adwaita', test_performance,
args: [ '--mark', 'css validation',
args: [
'--mark', 'css validation',
'--name', 'performance-adwaita',
'--output', join_paths(meson.current_build_dir(), 'output'),
join_paths(meson.current_build_dir(), '../../demos/widget-factory/gtk4-widget-factory') ],
join_paths(meson.current_build_dir(), '../../demos/widget-factory/gtk4-widget-factory'),
],
env: adwaita_env,
suite: [ 'css' ])
suite: [ 'css' ],
)
empty_env = csstest_env
empty_env.set('GTK_THEME', 'Empty')
test('performance-empty', test_performance,
args: [ '--mark', 'css validation',
args: [
'--mark', 'css validation',
'--name', 'performance-empty',
'--output', join_paths(meson.current_build_dir(), 'output'),
join_paths(meson.current_build_dir(), '../../demos/widget-factory/gtk4-widget-factory') ],
join_paths(meson.current_build_dir(), '../../demos/widget-factory/gtk4-widget-factory'),
],
env: empty_env,
suite: [ 'css' ])
suite: [ 'css' ],
)
endif

View File

@ -96,16 +96,19 @@ foreach renderer : renderers
if ((renderer[1] == '' or not test.contains(renderer[1])) and
(renderer[0] != 'broadway' or broadway_enabled))
test(renderer[0] + ' ' + test, compare_render,
args: ['--output', join_paths(meson.current_build_dir(), 'compare', renderer[0]),
args: [
'--output', join_paths(meson.current_build_dir(), 'compare', renderer[0]),
join_paths(meson.current_source_dir(), 'compare', test + '.node'),
join_paths(meson.current_source_dir(), 'compare', test + '.png')],
join_paths(meson.current_source_dir(), 'compare', test + '.png'),
],
env: [
'GSK_RENDERER=' + renderer[0],
'GTK_A11Y=test',
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir())
],
suite: [ 'gsk', 'gsk-compare', 'gsk-' + renderer[0], 'gsk-compare-' + renderer[0] ])
suite: [ 'gsk', 'gsk-compare', 'gsk-' + renderer[0], 'gsk-compare-' + renderer[0] ],
)
endif
endforeach
endforeach
@ -175,7 +178,8 @@ node_parser_tests = [
foreach test : node_parser_tests
if test.endswith('.node') and not test.endswith('.ref.node')
test('parser ' + test, node_parser,
args: [ join_paths(meson.current_source_dir(), 'nodeparser', test)
args: [
join_paths(meson.current_source_dir(), 'nodeparser', test)
],
env: [
'GSK_RENDERER=opengl',
@ -183,7 +187,8 @@ foreach test : node_parser_tests
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir())
],
suite: 'gsk')
suite: 'gsk',
)
endif
endforeach
@ -206,7 +211,8 @@ foreach t : tests
link_args : test_extra_ldflags,
dependencies : libgtk_dep,
install: get_option('install-tests'),
install_dir: testexecdir)
install_dir: testexecdir,
)
test(test_name, test_exe,
args: [ '--tap', '-k' ],
@ -217,5 +223,6 @@ foreach t : tests
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir())
],
suite: 'gsk')
suite: 'gsk',
)
endforeach

View File

@ -174,12 +174,14 @@ foreach t : tests
test_extra_suites = t.get('suites', [])
test_timeout = 60
test_exe = executable(test_name, test_srcs,
test_exe = executable(test_name,
sources: test_srcs,
c_args: test_cargs + test_extra_cargs,
link_args: test_extra_ldflags,
dependencies: libgtk_dep,
install: get_option('install-tests'),
install_dir: testexecdir)
install_dir: testexecdir,
)
expect_fail = xfail.contains(test_name)
@ -198,18 +200,20 @@ foreach t : tests
endforeach
# FIXME: if objc autotestkeywords_CPPFLAGS += -DHAVE_OBJC=1 -x objective-c++
if add_languages('cpp', required: false)
if add_languages('cpp', required: false, native: false)
test_exe = executable('autotestkeywords',
'autotestkeywords.cc',
sources: 'autotestkeywords.cc',
c_args: test_cargs + ['-Idummy-headers'],
dependencies: libgtk_dep,
install: get_option('install-tests'),
install_dir: testexecdir)
install_dir: testexecdir,
)
test('c++ keywords', test_exe,
args: [ '--tap', '-k' ],
#protocol: 'tap',
env: test_env,
suite: 'gtk')
suite: 'gtk',
)
if get_option('install-tests')
conf = configuration_data()
conf.set('testexecdir', testexecdir)
@ -217,7 +221,8 @@ if add_languages('cpp', required: false)
configure_file(input: 'gtk.test.in',
output: 'autotestkeywords.test',
configuration: conf,
install_dir: testdatadir)
install_dir: testdatadir,
)
endif
endif
@ -245,7 +250,7 @@ focus_chain_tests = [
focus_chain = executable(
'test-focus-chain',
['test-focus-chain.c'],
sources: ['test-focus-chain.c'],
dependencies: libgtk_dep,
c_args: common_cflags,
install: get_option('install-tests'),
@ -254,10 +259,13 @@ focus_chain = executable(
foreach test : focus_chain_tests
test(test[0] + ' ' + test[1], focus_chain,
args: [ join_paths(meson.current_source_dir(), 'focus-chain', test[0] + '.ui'),
join_paths(meson.current_source_dir(), 'focus-chain', test[0] + '.' + test[1]) ],
args: [
join_paths(meson.current_source_dir(), 'focus-chain', test[0] + '.ui'),
join_paths(meson.current_source_dir(), 'focus-chain', test[0] + '.' + test[1]),
],
env: test_env,
suite: [ 'gtk', 'focus' ])
suite: [ 'gtk', 'focus' ],
)
endforeach
@ -270,13 +278,13 @@ if get_option('install-tests')
configure_file(input: 'gtk.test.in',
output: '@0@.test'.format(test_name),
configuration: conf,
install_dir: testdatadir)
install_dir: testdatadir,
)
endforeach
install_subdir('icons', install_dir: testexecdir)
install_subdir('icons2', install_dir: testexecdir)
install_subdir('ui', install_dir: testexecdir)
endif
if false and get_option ('profiler')
@ -285,13 +293,20 @@ if false and get_option ('profiler')
performance_env.set('GTK_THEME', 'Empty')
test('performance-layout', test_performance,
args: [ '--mark', 'size allocation', join_paths(meson.current_build_dir(), '../../demos/widget-factory/gtk4-widget-factory') ],
args: [
'--mark', 'size allocation',
join_paths(meson.current_build_dir(), '../../demos/widget-factory/gtk4-widget-factory'),
],
env: performance_env,
suite: [ 'gtk' ])
suite: [ 'gtk' ],
)
test('performance-snapshot', test_performance,
args: [ '--mark', 'widget snapshot', join_paths(meson.current_build_dir(), '../../demos/widget-factory/gtk4-widget-factory') ],
env: performance_end,
suite: [ 'gtk' ])
args: [
'--mark', 'widget snapshot',
join_paths(meson.current_build_dir(), '../../demos/widget-factory/gtk4-widget-factory'),
],
env: performance_env,
suite: [ 'gtk' ],
)
endif

View File

@ -1,7 +1,9 @@
if profiler_enabled
if libsysprof_dep.found()
test_performance = executable('test-performance', 'test-performance.c',
test_performance = executable('test-performance',
sources: 'test-performance.c',
c_args: common_cflags,
dependencies: [libsysprof_dep, platform_gio_dep, libm])
dependencies: [libsysprof_dep, platform_gio_dep, libm],
)
endif
endif

View File

@ -9,12 +9,13 @@ endforeach
libgtkreftestprivate = library('gtkreftestprivate',
'reftest-compare.c', 'reftest-module.c', 'reftest-snapshot.c',
sources: [ 'reftest-compare.c', 'reftest-module.c', 'reftest-snapshot.c', ],
dependencies: libgtk_dep,
c_args: reftest_cflags)
libreftest = library('reftest',
[ 'expand-expander.c',
sources: [
'expand-expander.c',
'frame-inhibitor.c',
'letter-spacing.c',
'set-default-direction.c',
@ -37,12 +38,15 @@ tcdata.set('libexecdir', join_paths(get_option('prefix'), get_option('libexecdir
# configuration : tcdata)
#endforeach
gtk_reftest = executable('gtk-reftest', 'gtk-reftest.c',
gtk_reftest = executable('gtk-reftest',
sources: 'gtk-reftest.c',
c_args: common_cflags,
link_with : [libgtkreftestprivate, libreftest],
dependencies : libgtk_dep)
dependencies : libgtk_dep,
)
image_compare = executable('image-compare', 'image-compare.c',
image_compare = executable('image-compare',
sources: 'image-compare.c',
c_args: common_cflags,
link_with : [libgtkreftestprivate, libreftest],
dependencies : libgtk_dep)
@ -467,7 +471,8 @@ reftest_env.set('REFTEST_MODULE_DIR', meson.current_build_dir())
foreach testname : testdata
if testname.endswith('.ui') and not testname.endswith('.ref.ui')
test('reftest ' + testname, gtk_reftest,
args: [ '--tap',
args: [
'--tap',
'-k',
'-o', join_paths(meson.current_build_dir(), 'output'),
join_paths(meson.current_source_dir(), testname),
@ -475,7 +480,8 @@ foreach testname : testdata
protocol: 'tap',
env: reftest_env,
suite: 'reftest',
should_fail: xfails.contains(testname))
should_fail: xfails.contains(testname),
)
endif
endforeach

View File

@ -10,11 +10,13 @@ if bash.found()
configure_file(output: t,
input: '@0@.in'.format(t),
copy: true,
install_dir: testexecdir)
install_dir: testexecdir,
)
else
configure_file(output: t,
input: '@0@.in'.format(t),
copy: true)
copy: true,
)
endif
test(t, bash,
args: t,
@ -27,7 +29,8 @@ if bash.found()
'GTK_BUILDER_TOOL=@0@'.format(get_variable('gtk4_builder_tool').full_path()),
'GTK_QUERY_SETTINGS=@0@'.format(get_variable('gtk4_query_settings').full_path())
],
suite: 'tools')
suite: 'tools',
)
endforeach
endif
@ -39,7 +42,8 @@ if get_option('install-tests')
configure_file(output: '@0@.test'.format(t),
input: 'tools.test.in',
configuration: test_conf,
install_dir: testdatadir)
install_dir: testdatadir,
)
endforeach
install_subdir('simplify-data', install_dir: testexecdir)