From: Matthias Clasen Date: Wed, 28 Jun 2023 11:11:01 +0000 (-0400) Subject: build: Move objcopy checks to one place X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~86^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=70edacc68d2fea8118d306fabda3952bb6147262;p=gtk4.git build: Move objcopy checks to one place We were doing the same thing in three places. Move it to the toplevel meson.build, so we can change it in one place. --- diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build index b1a4b52514..a464e6e0a8 100644 --- a/demos/gtk-demo/meson.build +++ b/demos/gtk-demo/meson.build @@ -158,17 +158,7 @@ demos_h = custom_target('gtk4 demo header', command: [ find_program('geninclude.py'), '@OUTPUT@', '@INPUT@' ], ) -objcopy_supports_add_symbol = false -objcopy = find_program('objcopy', required : false) -if objcopy.found() - objcopy_supports_add_symbol = run_command(objcopy, '--help', check: false).stdout().contains('--add-symbol') -endif - -ld = find_program('ld', required : false) - -if not meson.is_cross_build() and build_machine.cpu_family() != 'arm' and build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_add_symbol and ld.found() - glib_compile_resources = find_program('glib-compile-resources') - +if can_use_objcopy_for_resources # Create the resource blob gtkdemo_gresource = custom_target('gtkdemo.gresource', input : 'demo.gresource.xml', diff --git a/demos/widget-factory/meson.build b/demos/widget-factory/meson.build index bc4bb29478..8e61c24869 100644 --- a/demos/widget-factory/meson.build +++ b/demos/widget-factory/meson.build @@ -1,16 +1,6 @@ # demos/widget-factory -objcopy_supports_add_symbol = false -objcopy = find_program('objcopy', required : false) -if objcopy.found() - objcopy_supports_add_symbol = run_command(objcopy, '--help', check: false).stdout().contains('--add-symbol') -endif - -ld = find_program('ld', required : false) - -if not meson.is_cross_build() and build_machine.cpu_family() != 'arm' and build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_add_symbol and ld.found() - glib_compile_resources = find_program('glib-compile-resources') - +if can_use_objcopy_for_resources # Create the resource blob widgetfactory_gresource = custom_target('widgetfactory.gresource', input : 'widget-factory.gresource.xml', diff --git a/gtk/meson.build b/gtk/meson.build index 80ed4cae16..19bc221277 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -758,17 +758,7 @@ if not fs.exists('theme/Default/Default-light.css') endif -objcopy_supports_add_symbol = false -objcopy = find_program('objcopy', required : false) -if objcopy.found() - objcopy_supports_add_symbol = run_command(objcopy, '--help', check: false).stdout().contains('--add-symbol') -endif - -ld = find_program('ld', required : false) - -if not meson.is_cross_build() and build_machine.cpu_family() == 'x86_64' and build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_add_symbol and ld.found() - glib_compile_resources = find_program('glib-compile-resources') - +if can_use_objcopy_for_resources # Create the resource blob gtk_gresource = custom_target('gtk.gresource', input : gtk_gresources_xml, diff --git a/meson.build b/meson.build index 2959a8dbfe..c0c605f5ce 100644 --- a/meson.build +++ b/meson.build @@ -737,6 +737,23 @@ endif build_gir = gir.found() and (get_option('introspection').enabled() or (get_option('introspection').allowed() and get_option('gtk_doc'))) +# Resource building +glib_compile_resources = find_program('glib-compile-resources') + +objcopy_supports_add_symbol = false +objcopy = find_program('objcopy', required : false) +if objcopy.found() + objcopy_supports_add_symbol = run_command(objcopy, '--help', check: false).stdout().contains('--add-symbol') +endif + +ld = find_program('ld', required : false) + +if not meson.is_cross_build() and build_machine.cpu_family() == 'x86_64' and build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_add_symbol and ld.found() + can_use_objcopy_for_resources = true +else + can_use_objcopy_for_resources = false +endif + project_build_root = meson.current_build_dir() gen_visibility_macros = find_program('build-aux/meson/gen-visibility-macros.py')