[gnome-builder/wip/gtk4-port: 18/67] build: start on GTK 4 build system changes




commit db615ce2d31456e8e57feca98ae08ffdfa83e2fe
Author: Christian Hergert <chergert redhat com>
Date:   Thu Sep 23 16:16:30 2021 -0700

    build: start on GTK 4 build system changes
    
    This gets the initial configuration going (with all plugins disabled)
    even though it wont build yet. We will need to start removing the
    libdazzle bits from libide as well as reduce/remove libide-sourceview
    now that most things are in GtkSourceView 5.x.

 meson.build                          | 29 ++++++++++++++++-------------
 src/gstyle/meson.build               |  1 -
 src/libide/code/meson.build          |  1 -
 src/libide/core/meson.build          |  1 -
 src/libide/debugger/meson.build      |  1 -
 src/libide/editor/meson.build        |  1 -
 src/libide/foundry/meson.build       |  1 -
 src/libide/greeter/meson.build       |  1 -
 src/libide/gui/meson.build           |  3 +--
 src/libide/lsp/meson.build           |  1 -
 src/libide/meson.build               |  5 +----
 src/libide/plugins/meson.build       |  2 --
 src/libide/projects/meson.build      |  1 -
 src/libide/search/meson.build        |  1 -
 src/libide/sourceview/meson.build    |  1 -
 src/libide/terminal/meson.build      |  1 -
 src/libide/webkit/meson.build        |  5 +++++
 src/meson.build                      |  5 ++---
 src/plugins/dspy/libdspy/meson.build |  1 -
 src/plugins/meson.build              |  1 -
 20 files changed, 25 insertions(+), 38 deletions(-)
---
diff --git a/meson.build b/meson.build
index d22ec56d7..7de7e8070 100644
--- a/meson.build
+++ b/meson.build
@@ -22,15 +22,19 @@ pkggirdir = join_paths(get_option('datadir'),'gnome-builder', 'gir-1.0')
 pkgtypelibdir = join_paths(get_option('libdir'), 'gnome-builder', 'girepository-1.0')
 
 # Check dependencies
-glib_req_version = '2.69.1'
-gtk_req_version = '3.24'
+glib_req_version = '2.70.0'
+gtk_req_version = '4.4'
+gtksourceview_req_version = '5.2'
 
 glib_req = '>= @0@'.format(glib_req_version)
 gtk_req = '>= @0@'.format(gtk_req_version)
+gtksourceview_req = '>= @0@'.format(gtksourceview_req_version)
 glib_major = glib_req_version.split('.')[0].to_int()
 glib_minor = glib_req_version.split('.')[1].to_int()
 gtk_major = gtk_req_version.split('.')[0].to_int()
 gtk_minor = gtk_req_version.split('.')[1].to_int()
+gtksourceview_major = gtksourceview_req_version.split('.')[0].to_int()
+gtksourceview_minor = gtksourceview_req_version.split('.')[1].to_int()
 
 if glib_minor % 2 == 1
   glib_minor = glib_minor + 1
@@ -38,6 +42,9 @@ endif
 if gtk_minor % 2 == 1
   gtk_minor = gtk_minor + 1
 endif
+if gtksourceview_minor % 2 == 1
+  gtksourceview_minor = gtksourceview_minor + 1
+endif
 
 # These default values are obtained by running /bin/sh without setting PATH
 safe_path = get_option('with_safe_path')
@@ -132,6 +139,8 @@ global_c_args = [
   '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_@0@_@1@'.format(glib_major, glib_minor),
   '-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_@0@_@1@'.format(gtk_major, gtk_minor),
   '-DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_@0@_@1@'.format(gtk_major, gtk_minor),
+  '-DGTK_SOURCE_VERSION_MIN_REQUIRED=GTK_SOURCE_VERSION_@0@_@1@'.format(gtk_major, gtksourceview_minor),
+  '-DGTK_SOURCE_VERSION_MAX_ALLOWED=GTK_SOURCE_VERSION_@0@_@1@'.format(gtk_major, gtksourceview_minor),
 ]
 test_c_args = [
   '-Wcast-align',
@@ -272,26 +281,20 @@ ld_supports_version_script = cc.links('''
 message('Linker supports --version-script: @0@'.format(ld_supports_version_script))
 
 # Commonly used deps
-libdazzle_dep = dependency('libdazzle-1.0', version: '>= 3.37.0')
 libglib_dep = dependency('glib-2.0', version: glib_req)
 libgio_dep = dependency('gio-2.0', version: glib_req)
 libgiounix_dep = dependency('gio-unix-2.0', version: glib_req)
-libgtk_dep = dependency('gtk+-3.0', version: gtk_req)
-libgtksource_dep = dependency('gtksourceview-4', version: '>= 4.0.0')
+libgtk_dep = dependency('gtk4', version: gtk_req)
+libgtksource_dep = dependency('gtksourceview-5', version: gtksourceview_req)
 libjson_glib_dep = dependency('json-glib-1.0', version: '>= 1.2.0')
 libjsonrpc_glib_dep = dependency('jsonrpc-glib-1.0', version: '>= 3.29.91')
 libm_dep = cc.find_library('m', required: false)
 libpangoft2_dep = dependency('pangoft2', version: '>= 1.38.0')
 libpeas_dep = dependency('libpeas-1.0', version: '>= 1.22.0')
 libportal_dep = dependency('libportal', version: '>= 0.3', required: false)
-libtemplate_glib_dep = dependency('template-glib-1.0', version: '>= 3.28.0')
-libvte_dep = dependency('vte-2.91', version: '>= 0.65.0')
-libwebkit_dep = dependency('webkit2gtk-4.0', version: '>= 2.26', required: false)
 libxml2_dep = dependency('libxml-2.0', version: '>= 2.9.0')
-
-if libwebkit_dep.found()
-  config_h.set10('HAVE_WEBKIT', 1)
-endif
+libtemplate_glib_dep = dependency('template-glib-1.0', version: '>= 3.28.0')
+libvte_dep = dependency('vte-2.91-gtk4', version: '>= 0.67.0')
 
 check_functions = [
   # pty
@@ -313,7 +316,7 @@ endforeach
 # to the SYSPROF_TRACE_FD. We use sysprof-4 instead since we will
 # already have to link against that for the plugin.
 #
-libsysprof_capture = dependency('sysprof-4', version: '>= 3.37.1', required: false)
+libsysprof_capture = dependency('sysprof-capture-4', version: '>= 3.42.0', static: true, required: false)
 if libsysprof_capture.found()
   config_h.set10('ENABLE_TRACING_SYSCAP', true)
 endif
diff --git a/src/gstyle/meson.build b/src/gstyle/meson.build
index 95e00ed62..950bdcc35 100644
--- a/src/gstyle/meson.build
+++ b/src/gstyle/meson.build
@@ -69,7 +69,6 @@ libgstyle_sources = [
 ]
 
 libgstyle_deps = [
-  libdazzle_dep,
   libgtk_dep,
   libportal_dep,
   libm_dep,
diff --git a/src/libide/code/meson.build b/src/libide/code/meson.build
index 1a4fc5d26..957a12e88 100644
--- a/src/libide/code/meson.build
+++ b/src/libide/code/meson.build
@@ -149,7 +149,6 @@ libide_code_deps = [
   libgio_dep,
   libgtk_dep,
   libgtksource_dep,
-  libdazzle_dep,
   libtemplate_glib_dep,
 
   libide_core_dep,
diff --git a/src/libide/core/meson.build b/src/libide/core/meson.build
index d4ebbf1a8..2e4c4cf7a 100644
--- a/src/libide/core/meson.build
+++ b/src/libide/core/meson.build
@@ -104,7 +104,6 @@ libide_core_sources += libide_core_public_sources
 libide_core_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libpeas_dep,
 ]
 
diff --git a/src/libide/debugger/meson.build b/src/libide/debugger/meson.build
index b5e72d5c0..87c56c7a0 100644
--- a/src/libide/debugger/meson.build
+++ b/src/libide/debugger/meson.build
@@ -62,7 +62,6 @@ libide_debugger_private_sources = [
 libide_debugger_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
 
   libide_core_dep,
   libide_io_dep,
diff --git a/src/libide/editor/meson.build b/src/libide/editor/meson.build
index 808ed784f..db9a5d905 100644
--- a/src/libide/editor/meson.build
+++ b/src/libide/editor/meson.build
@@ -80,7 +80,6 @@ libide_editor_sources += libide_editor_resources
 libide_editor_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libpeas_dep,
 
   libide_core_dep,
diff --git a/src/libide/foundry/meson.build b/src/libide/foundry/meson.build
index 4da8d1fcf..4c676c424 100644
--- a/src/libide/foundry/meson.build
+++ b/src/libide/foundry/meson.build
@@ -159,7 +159,6 @@ libide_foundry_generated_headers += [libide_foundry_enums[1]]
 libide_foundry_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libpeas_dep,
   libvte_dep,
   libjson_glib_dep,
diff --git a/src/libide/greeter/meson.build b/src/libide/greeter/meson.build
index 121d498d0..4825fd46f 100644
--- a/src/libide/greeter/meson.build
+++ b/src/libide/greeter/meson.build
@@ -61,7 +61,6 @@ libide_greeter_private_sources += libide_greeter_resources
 libide_greeter_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
 
   libide_core_dep,
   libide_gui_dep,
diff --git a/src/libide/gui/meson.build b/src/libide/gui/meson.build
index 5ebc9474f..028591b13 100644
--- a/src/libide/gui/meson.build
+++ b/src/libide/gui/meson.build
@@ -176,9 +176,8 @@ libide_gui_deps = [
   libgio_dep,
   libgtk_dep,
   libgtksource_dep,
-  libdazzle_dep,
   libpeas_dep,
-  libwebkit_dep,
+
   dependency('libcmark', version: '>= 0.29.0'),
 
   libide_core_dep,
diff --git a/src/libide/lsp/meson.build b/src/libide/lsp/meson.build
index 786e5eb04..1643caa26 100644
--- a/src/libide/lsp/meson.build
+++ b/src/libide/lsp/meson.build
@@ -81,7 +81,6 @@ libide_lsp_sources = libide_lsp_public_sources + libide_lsp_private_sources + li
 libide_lsp_deps = [
   libgio_dep,
   libjsonrpc_glib_dep,
-  libdazzle_dep,
 
   libide_code_dep,
   libide_core_dep,
diff --git a/src/libide/meson.build b/src/libide/meson.build
index 49499430f..d46259c4e 100644
--- a/src/libide/meson.build
+++ b/src/libide/meson.build
@@ -19,10 +19,7 @@ subdir('sourceview')
 subdir('editor')
 subdir('lsp')
 subdir('greeter')
-if libwebkit_dep.found()
-  subdir('webkit')
-endif
-
+subdir('webkit')
 subdir('tree')
 
 py_installation = pymod.find_installation('python3')
diff --git a/src/libide/plugins/meson.build b/src/libide/plugins/meson.build
index fff599db3..c3337a283 100644
--- a/src/libide/plugins/meson.build
+++ b/src/libide/plugins/meson.build
@@ -37,8 +37,6 @@ libide_plugins_private_sources = [
 libide_plugins_deps = [
   libgio_dep,
   libpeas_dep,
-  libdazzle_dep,
-
   libide_core_dep,
 ]
 
diff --git a/src/libide/projects/meson.build b/src/libide/projects/meson.build
index 3cc9725c6..7db2627da 100644
--- a/src/libide/projects/meson.build
+++ b/src/libide/projects/meson.build
@@ -56,7 +56,6 @@ libide_projects_sources = libide_projects_public_sources + libide_projects_priva
 libide_projects_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libtemplate_glib_dep,
   libxml2_dep,
 
diff --git a/src/libide/search/meson.build b/src/libide/search/meson.build
index 760c5a882..ef39c4da2 100644
--- a/src/libide/search/meson.build
+++ b/src/libide/search/meson.build
@@ -35,7 +35,6 @@ libide_search_sources = libide_search_public_sources
 
 libide_search_deps = [
   libgio_dep,
-  libdazzle_dep,
   libpeas_dep,
   libide_core_dep,
   libide_threading_dep,
diff --git a/src/libide/sourceview/meson.build b/src/libide/sourceview/meson.build
index 99641298b..1fd63e0ee 100644
--- a/src/libide/sourceview/meson.build
+++ b/src/libide/sourceview/meson.build
@@ -132,7 +132,6 @@ libide_sourceview_deps = [
   libgio_dep,
   libgtk_dep,
   libgtksource_dep,
-  libdazzle_dep,
 
   libide_core_dep,
   libide_threading_dep,
diff --git a/src/libide/terminal/meson.build b/src/libide/terminal/meson.build
index 6affcae14..8caa0bb94 100644
--- a/src/libide/terminal/meson.build
+++ b/src/libide/terminal/meson.build
@@ -71,7 +71,6 @@ libide_terminal_generated_headers += [libide_terminal_resources[1]]
 libide_terminal_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libvte_dep,
 
   libide_core_dep,
diff --git a/src/libide/webkit/meson.build b/src/libide/webkit/meson.build
index fce477b36..e1457270f 100644
--- a/src/libide/webkit/meson.build
+++ b/src/libide/webkit/meson.build
@@ -1,3 +1,6 @@
+libwebkit_dep = dependency('webkit2gtk-5.0', required: false)
+
+if libwebkit_dep.found()
 
 #
 # Sources
@@ -43,3 +46,5 @@ libide_webkit_dep = declare_dependency(
   include_directories: include_directories('.'),
               sources: libide_webkit_generated_headers,
 )
+
+endif
diff --git a/src/meson.build b/src/meson.build
index dac1e1611..bbbf8ec12 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -24,7 +24,6 @@ subdir('plugins')
 gnome_builder_deps = [
   libgio_dep,
   libgiounix_dep,
-  libdazzle_dep,
   libgtk_dep,
 
   libide_code_dep,
@@ -100,7 +99,7 @@ pkgconfig.generate(
      filebase: 'gnome-builder-@0@.@1@'.format(MAJOR_VERSION, MINOR_VERSION),
   description: 'Contains the plugin container for Builder.',
   install_dir: join_paths(pkglibdir, 'pkgconfig'),
-     requires: [ 'gio-2.0', 'gio-unix-2.0', 'gtk+-3.0', 'gtksourceview-4', 'libdazzle-1.0', 'vte-2.91', 
'template-glib-1.0', 'libpeas-1.0' ],
+     requires: [ 'gio-2.0', 'gio-unix-2.0', 'gtk4', 'vte-2.91-gtk4', 'gtksourceview-5', 'template-glib-1.0', 
'libpeas-1.0' ],
 )
 
 libide_gir = gnome.generate_gir(gnome_builder,
@@ -112,7 +111,7 @@ libide_gir = gnome.generate_gir(gnome_builder,
             namespace: 'Ide',
         symbol_prefix: 'ide',
     identifier_prefix: 'Ide',
-             includes: [ 'Gio-2.0', 'Gtk-3.0', 'Dazzle-1.0', 'Peas-1.0', 'Vte-2.91', 'GtkSource-4', 
'Template-1.0' ],
+             includes: [ 'Gio-2.0', 'Gtk-4.0', 'Peas-1.0', 'Vte-2.91', 'GtkSource-5', 'Template-1.0' ],
               install: true,
       install_dir_gir: pkggirdir,
   install_dir_typelib: pkgtypelibdir,
diff --git a/src/plugins/dspy/libdspy/meson.build b/src/plugins/dspy/libdspy/meson.build
index e87b2bab6..fe7d9d5a9 100644
--- a/src/plugins/dspy/libdspy/meson.build
+++ b/src/plugins/dspy/libdspy/meson.build
@@ -17,7 +17,6 @@ libdspy_sources = [
 libdspy_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
 ]
 
 libdspy_sources += gnome.compile_resources('libdspy-resources', 'libdspy.gresource.xml',
diff --git a/src/plugins/meson.build b/src/plugins/meson.build
index 6150ccacf..e21f81ae8 100644
--- a/src/plugins/meson.build
+++ b/src/plugins/meson.build
@@ -7,7 +7,6 @@ plugins_generated_sources = []
 plugins_link_with = []
 
 plugins_deps = [
-  libdazzle_dep,
   libgtk_dep,
   libgtksource_dep,
   libjsonrpc_glib_dep,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]