mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 09:32:14 +02:00
gobject-introspection: update to 1.64.1
All the cross-support patches are finally merged upstream; the maintainer also changed the option naming to his preference, so the recipe is adjusted. (From OE-Core rev: 4f024e10f2c889ca8c09257b7c09f2cbe2eb6d4e) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
3c2e77b186
commit
4a971a2ed0
@@ -1,50 +0,0 @@
|
||||
From 59d2cbb54c012b25adeb965a94b6585d911a4539 Mon Sep 17 00:00:00 2001
|
||||
From: Joshua Watt <JPEWhacker@gmail.com>
|
||||
Date: Wed, 20 Nov 2019 09:03:47 -0600
|
||||
Subject: [PATCH] Fix build reproducibility
|
||||
|
||||
ba744068 ("Make meson.override_find_program working on more complex use
|
||||
cases") made the build no longer reproducible by encoding a build system
|
||||
path into the output. This shouldn't be necessary anyway, since it
|
||||
should be possible to add new paths to search for gir files by setting
|
||||
the XDG_DATA_DIR environment variable.
|
||||
|
||||
Closes #318
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/192]
|
||||
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
|
||||
---
|
||||
girepository/girparser.c | 4 ----
|
||||
meson.build | 1 -
|
||||
2 files changed, 5 deletions(-)
|
||||
|
||||
diff --git a/girepository/girparser.c b/girepository/girparser.c
|
||||
index fb47e75c..53450baf 100644
|
||||
--- a/girepository/girparser.c
|
||||
+++ b/girepository/girparser.c
|
||||
@@ -309,10 +309,6 @@ locate_gir (GIrParser *parser,
|
||||
if (g_file_test (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR))
|
||||
return path;
|
||||
g_free (path);
|
||||
- path = g_build_filename (UNINSTALLED_GIR_DIR, girname, NULL);
|
||||
- if (g_file_test (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR))
|
||||
- return path;
|
||||
- g_free (path);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index d6231c5f..2f248579 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -90,7 +90,6 @@ endif
|
||||
girdir = join_paths(gir_dir_prefix, 'gir-1.0')
|
||||
config.set_quoted('GIR_DIR', girdir)
|
||||
config.set_quoted('GOBJECT_INTROSPECTION_LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
|
||||
-config.set_quoted('UNINSTALLED_GIR_DIR', join_paths(meson.current_build_dir(), 'gir'))
|
||||
|
||||
foreach type : ['char', 'short', 'int', 'long']
|
||||
size = cc.sizeof(type)
|
||||
--
|
||||
2.23.0
|
||||
|
||||
@@ -1,163 +0,0 @@
|
||||
From 0417a1bb08745f2bf5310d20b342c2b3b9b212d3 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Thu, 15 Nov 2018 15:10:05 +0100
|
||||
Subject: [PATCH] Port cross-compilation support to meson
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
gir/meson.build | 62 ++++++++++++++++++++++++++++++++++-------------
|
||||
meson.build | 4 ++-
|
||||
meson_options.txt | 20 +++++++++++++++
|
||||
3 files changed, 68 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/gir/meson.build b/gir/meson.build
|
||||
index c312100..a028033 100644
|
||||
--- a/gir/meson.build
|
||||
+++ b/gir/meson.build
|
||||
@@ -41,16 +41,29 @@ gir_files = [
|
||||
typelibdir = join_paths(get_option('libdir'), 'girepository-1.0')
|
||||
install_data(gir_files, install_dir: girdir)
|
||||
|
||||
-scanner_command = [
|
||||
- python,
|
||||
- girscanner,
|
||||
- '--output=@OUTPUT@',
|
||||
- '--no-libtool',
|
||||
- '--quiet',
|
||||
- '--reparse-validate',
|
||||
- '--add-include-path', join_paths(meson.current_build_dir()),
|
||||
- '--add-include-path', join_paths(meson.current_source_dir()),
|
||||
-]
|
||||
+if get_option('enable-host-gi')
|
||||
+ scanner_command = [
|
||||
+ 'g-ir-scanner',
|
||||
+ '--output=@OUTPUT@',
|
||||
+ '--no-libtool',
|
||||
+ '--quiet',
|
||||
+ '--reparse-validate',
|
||||
+ '--add-include-path', join_paths(meson.current_build_dir()),
|
||||
+ '--add-include-path', join_paths(meson.current_source_dir()),
|
||||
+ ]
|
||||
+else
|
||||
+ scanner_command = [
|
||||
+ python,
|
||||
+ girscanner,
|
||||
+ '--output=@OUTPUT@',
|
||||
+ '--no-libtool',
|
||||
+ '--quiet',
|
||||
+ '--reparse-validate',
|
||||
+ '--add-include-path', join_paths(meson.current_build_dir()),
|
||||
+ '--add-include-path', join_paths(meson.current_source_dir()),
|
||||
+ ]
|
||||
+endif
|
||||
+
|
||||
|
||||
dep_type = glib_dep.type_name()
|
||||
if dep_type == 'internal'
|
||||
@@ -63,6 +76,12 @@ if dep_type == 'internal'
|
||||
'--extra-library=glib-2.0', '--extra-library=gobject-2.0']
|
||||
endif
|
||||
|
||||
+if get_option('enable-gi-cross-wrapper') != ''
|
||||
+ scanner_command += ['--use-binary-wrapper=' + get_option('enable-gi-cross-wrapper')]
|
||||
+endif
|
||||
+if get_option('enable-gi-ldd-wrapper') != ''
|
||||
+ scanner_command += ['--use-ldd-wrapper=' + get_option('enable-gi-ldd-wrapper')]
|
||||
+endif
|
||||
# Take a glob and print to newlines
|
||||
globber = '''
|
||||
from glob import glob
|
||||
@@ -89,8 +108,8 @@ glib_command = scanner_command + [
|
||||
|
||||
if dep_type == 'pkgconfig'
|
||||
glib_command += ['--external-library', '--pkg=glib-2.0']
|
||||
- glib_libdir = glib_dep.get_pkgconfig_variable('libdir')
|
||||
- glib_incdir = join_paths(glib_dep.get_pkgconfig_variable('includedir'), 'glib-2.0')
|
||||
+ glib_libdir = get_option('pkgconfig-sysroot-path') + glib_dep.get_pkgconfig_variable('libdir')
|
||||
+ glib_incdir = get_option('pkgconfig-sysroot-path') + join_paths(glib_dep.get_pkgconfig_variable('includedir'), 'glib-2.0')
|
||||
glib_libincdir = join_paths(glib_libdir, 'glib-2.0', 'include')
|
||||
glib_files += join_paths(glib_incdir, 'gobject', 'glib-types.h')
|
||||
glib_files += join_paths(glib_libincdir, 'glibconfig.h')
|
||||
@@ -345,7 +364,7 @@ if giounix_dep.found()
|
||||
dep_type = giounix_dep.type_name()
|
||||
if dep_type == 'pkgconfig'
|
||||
gio_command += ['--pkg=gio-unix-2.0']
|
||||
- giounix_includedir = join_paths(giounix_dep.get_pkgconfig_variable('includedir'), 'gio-unix-2.0')
|
||||
+ giounix_includedir = get_option('pkgconfig-sysroot-path') + join_paths(giounix_dep.get_pkgconfig_variable('includedir'), 'gio-unix-2.0')
|
||||
# Get the installed gio-unix header list
|
||||
ret = run_command(python, '-c', globber.format(join_paths(giounix_includedir, 'gio', '*.h')))
|
||||
if ret.returncode() != 0
|
||||
@@ -428,15 +447,24 @@ gir_files += custom_target('gir-girepository',
|
||||
)
|
||||
|
||||
typelibs = []
|
||||
+if get_option('enable-gi-cross-wrapper') != ''
|
||||
+ gircompiler_command = [get_option('enable-gi-cross-wrapper'), gircompiler.full_path(), '-o', '@OUTPUT@', '@INPUT@',
|
||||
+ '--includedir', meson.current_build_dir(),
|
||||
+ '--includedir', meson.current_source_dir(),
|
||||
+ ]
|
||||
+else
|
||||
+ gircompiler_command = [gircompiler, '-o', '@OUTPUT@', '@INPUT@',
|
||||
+ '--includedir', meson.current_build_dir(),
|
||||
+ '--includedir', meson.current_source_dir(),
|
||||
+ ]
|
||||
+endif
|
||||
+
|
||||
foreach gir : gir_files
|
||||
typelibs += custom_target('generate-typelib-@0@'.format(gir).underscorify(),
|
||||
input: gir,
|
||||
output: '@BASENAME@.typelib',
|
||||
depends: [gobject_gir, ],
|
||||
- command: [gircompiler, '-o', '@OUTPUT@', '@INPUT@',
|
||||
- '--includedir', meson.current_build_dir(),
|
||||
- '--includedir', meson.current_source_dir(),
|
||||
- ],
|
||||
+ command: gircompiler_command,
|
||||
install: true,
|
||||
install_dir: typelibdir,
|
||||
)
|
||||
diff --git a/meson.build b/meson.build
|
||||
index a5e825f..a28490a 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -168,7 +168,9 @@ endif
|
||||
subdir('girepository')
|
||||
subdir('tools')
|
||||
subdir('giscanner')
|
||||
-subdir('gir')
|
||||
+if get_option('enable-introspection-data') == true
|
||||
+ subdir('gir')
|
||||
+endif
|
||||
subdir('examples')
|
||||
subdir('docs')
|
||||
subdir('tests')
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 445a68a..a325511 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -25,3 +25,23 @@ option('python', type: 'string', value: 'python3',
|
||||
option('gir_dir_prefix', type: 'string',
|
||||
description: 'Intermediate prefix for gir installation under ${prefix}'
|
||||
)
|
||||
+
|
||||
+option('enable-host-gi', type: 'boolean', value : false,
|
||||
+ description: 'Use gobject introspection tools installed in the host system (useful when cross-compiling)'
|
||||
+)
|
||||
+
|
||||
+option('enable-gi-cross-wrapper', type: 'string',
|
||||
+ description: 'Use a wrapper to run gicompiler and binaries produced by giscanner (useful when cross-compiling)'
|
||||
+)
|
||||
+
|
||||
+option('enable-gi-ldd-wrapper', type: 'string',
|
||||
+ description: 'Use a ldd wrapper instead of system ldd command in giscanner (useful when cross-compiling)'
|
||||
+)
|
||||
+
|
||||
+option('enable-introspection-data', type: 'boolean', value : true,
|
||||
+ description: 'Build introspection data (.gir and .typelib files) in addition to library and tools'
|
||||
+)
|
||||
+
|
||||
+option('pkgconfig-sysroot-path', type: 'string',
|
||||
+ description: 'Specify a sysroot path to prepend to pkgconfig output (useful when cross-compiling)'
|
||||
+)
|
||||
@@ -1,4 +1,4 @@
|
||||
From 673623851fb70c0e43cf79cef67b3751432ebe72 Mon Sep 17 00:00:00 2001
|
||||
From 8dfb44450ca9fffc15977e95eadcb7054ab60a9a Mon Sep 17 00:00:00 2001
|
||||
From: Sascha Silbe <x-yo17@se-silbe.de>
|
||||
Date: Fri, 8 Jun 2018 13:55:10 +0200
|
||||
Subject: [PATCH] Relocate the repository directory for native builds
|
||||
@@ -21,7 +21,7 @@ Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de>
|
||||
2 files changed, 14 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/girepository/girepository.c b/girepository/girepository.c
|
||||
index ca5dc2b..7a4d17f 100644
|
||||
index b7948d6..39a2586 100644
|
||||
--- a/girepository/girepository.c
|
||||
+++ b/girepository/girepository.c
|
||||
@@ -21,6 +21,8 @@
|
||||
@@ -42,7 +42,7 @@ index ca5dc2b..7a4d17f 100644
|
||||
/**
|
||||
* SECTION:girepository
|
||||
* @short_description: GObject Introspection repository manager
|
||||
@@ -212,9 +216,16 @@ init_globals (void)
|
||||
@@ -215,9 +219,16 @@ init_globals (void)
|
||||
g_free (custom_dirs);
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ index ca5dc2b..7a4d17f 100644
|
||||
typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir);
|
||||
|
||||
diff --git a/girepository/meson.build b/girepository/meson.build
|
||||
index 1d7aed6..5637fb5 100644
|
||||
index 204659f..3e61d31 100644
|
||||
--- a/girepository/meson.build
|
||||
+++ b/girepository/meson.build
|
||||
@@ -44,7 +44,7 @@ girepo_internals_lib = static_library('girepository-internals',
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
From 6653c28f0b76aad86e26c512b03efcec6d9d9e95 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Wed, 3 Jan 2018 17:02:01 +0200
|
||||
Subject: [PATCH] giscanner: add a --lib-dirs-envvar option
|
||||
|
||||
By default LD_LIBRARY_PATH is set to the list of target library paths;
|
||||
this breaks down in cross-compilation environment, as we need to run a
|
||||
native emulation wrapper rather than the target binary itself. This patch
|
||||
allows exporting those paths to a different environment variable
|
||||
which can be picked up and used by the wrapper.
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
giscanner/ccompiler.py | 4 ++--
|
||||
giscanner/dumper.py | 3 ++-
|
||||
giscanner/scannermain.py | 3 +++
|
||||
3 files changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
|
||||
index 32c9296..3fb262b 100644
|
||||
--- a/giscanner/ccompiler.py
|
||||
+++ b/giscanner/ccompiler.py
|
||||
@@ -174,7 +174,7 @@ class CCompiler(object):
|
||||
|
||||
self._cflags_no_deprecation_warnings = "-Wno-deprecated-declarations"
|
||||
|
||||
- def get_internal_link_flags(self, args, libtool, libraries, extra_libraries, libpaths):
|
||||
+ def get_internal_link_flags(self, args, libtool, libraries, extra_libraries, libpaths, lib_dirs_envvar):
|
||||
# An "internal" link is where the library to be introspected
|
||||
# is being built in the current directory.
|
||||
|
||||
@@ -184,7 +184,7 @@ class CCompiler(object):
|
||||
if os.name == 'nt':
|
||||
runtime_path_envvar = ['LIB', 'PATH']
|
||||
else:
|
||||
- runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH']
|
||||
+ runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH'] if not lib_dirs_envvar else [lib_dirs_envvar]
|
||||
# Search the current directory first
|
||||
# (This flag is not supported nor needed for Visual C++)
|
||||
args.append('-L.')
|
||||
diff --git a/giscanner/dumper.py b/giscanner/dumper.py
|
||||
index 2b851a5..10a7c39 100644
|
||||
--- a/giscanner/dumper.py
|
||||
+++ b/giscanner/dumper.py
|
||||
@@ -244,7 +244,8 @@ class DumpCompiler(object):
|
||||
libtool,
|
||||
self._options.libraries,
|
||||
self._options.extra_libraries,
|
||||
- self._options.library_paths)
|
||||
+ self._options.library_paths,
|
||||
+ self._options.lib_dirs_envvar)
|
||||
args.extend(pkg_config_libs)
|
||||
|
||||
else:
|
||||
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
|
||||
index 9013562..9c9fe12 100644
|
||||
--- a/giscanner/scannermain.py
|
||||
+++ b/giscanner/scannermain.py
|
||||
@@ -126,6 +126,9 @@ def _get_option_parser():
|
||||
parser.add_option("", "--use-ldd-wrapper",
|
||||
action="store", dest="ldd_wrapper", default=None,
|
||||
help="wrapper to use instead of ldd (useful when cross-compiling)")
|
||||
+ parser.add_option("", "--lib-dirs-envvar",
|
||||
+ action="store", dest="lib_dirs_envvar", default=None,
|
||||
+ help="environment variable to write a list of library directories to (for running the transient binary), instead of standard LD_LIBRARY_PATH")
|
||||
parser.add_option("", "--program-arg",
|
||||
action="append", dest="program_args", default=[],
|
||||
help="extra arguments to program")
|
||||
@@ -1,26 +0,0 @@
|
||||
From 2c384187cc22113c0c9b1cd233948118f7c085ef Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Mon, 25 Mar 2019 13:28:48 +0100
|
||||
Subject: [PATCH] meson.build: disable tests when cross-compiling
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/64]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
meson.build | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 2544ff3..4c16fe5 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -168,7 +168,9 @@ if get_option('enable-introspection-data') == true
|
||||
endif
|
||||
subdir('examples')
|
||||
subdir('docs')
|
||||
-subdir('tests')
|
||||
+if not meson.is_cross_build()
|
||||
+ subdir('tests')
|
||||
+endif
|
||||
|
||||
install_data('Makefile.introspection', install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0'))
|
||||
install_data('m4/introspection.m4', install_dir: join_paths(get_option('datadir'), 'aclocal'))
|
||||
@@ -1,49 +0,0 @@
|
||||
From 5f985fd8a24764ccb38af6335d4584d7e33fc3a1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Mon, 19 Oct 2015 18:26:40 +0300
|
||||
Subject: [PATCH] giscanner: add --use-binary-wrapper option
|
||||
|
||||
With this option, giscanner will use a wrapper executable to run
|
||||
binaries it's producing, instead of running them directly. This
|
||||
is useful when binaries are cross-compiled and cannot be run directly,
|
||||
but they can be run using for example QEMU emulation.
|
||||
|
||||
Upstream-Status: Pending [review on oe-core list]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
giscanner/scannermain.py | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
|
||||
index c004fb1..0b6a2d2 100644
|
||||
--- a/giscanner/scannermain.py
|
||||
+++ b/giscanner/scannermain.py
|
||||
@@ -120,6 +120,9 @@ def _get_option_parser():
|
||||
parser.add_option("", "--program",
|
||||
action="store", dest="program", default=None,
|
||||
help="program to execute")
|
||||
+ parser.add_option("", "--use-binary-wrapper",
|
||||
+ action="store", dest="wrapper", default=None,
|
||||
+ help="wrapper to use for running programs (useful when cross-compiling)")
|
||||
parser.add_option("", "--program-arg",
|
||||
action="append", dest="program_args", default=[],
|
||||
help="extra arguments to program")
|
||||
@@ -417,6 +420,17 @@ def create_binary(transformer, options, args):
|
||||
gdump_parser.get_error_quark_functions())
|
||||
|
||||
shlibs = resolve_shlibs(options, binary, options.libraries)
|
||||
+ if options.wrapper:
|
||||
+ # The wrapper needs the binary itself, not the libtool wrapper script,
|
||||
+ # so we check if libtool has sneaked the binary into .libs subdirectory
|
||||
+ # and adjust the path accordingly
|
||||
+ import os.path
|
||||
+ dir_name, binary_name = os.path.split(binary.args[0])
|
||||
+ libtool_binary = os.path.join(dir_name, '.libs', binary_name)
|
||||
+ if os.path.exists(libtool_binary):
|
||||
+ binary.args[0] = libtool_binary
|
||||
+ # Then prepend the wrapper to the command line to execute
|
||||
+ binary.args = [options.wrapper] + binary.args
|
||||
gdump_parser.set_introspection_binary(binary)
|
||||
gdump_parser.parse()
|
||||
return shlibs
|
||||
@@ -1,45 +0,0 @@
|
||||
From cba7807888a4a1f1d630d16c51c89859209334b3 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Fri, 30 Oct 2015 16:28:46 +0200
|
||||
Subject: [PATCH] giscanner: add a --use-ldd-wrapper option
|
||||
|
||||
This is useful in cross-compile environments where system's ldd
|
||||
command does not work on binaries built for a different architecture
|
||||
|
||||
Upstream-Status: Pending [review in oe-core]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
giscanner/scannermain.py | 3 +++
|
||||
giscanner/shlibs.py | 4 +++-
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
|
||||
index 0b6a2d2..9013562 100644
|
||||
--- a/giscanner/scannermain.py
|
||||
+++ b/giscanner/scannermain.py
|
||||
@@ -123,6 +123,9 @@ def _get_option_parser():
|
||||
parser.add_option("", "--use-binary-wrapper",
|
||||
action="store", dest="wrapper", default=None,
|
||||
help="wrapper to use for running programs (useful when cross-compiling)")
|
||||
+ parser.add_option("", "--use-ldd-wrapper",
|
||||
+ action="store", dest="ldd_wrapper", default=None,
|
||||
+ help="wrapper to use instead of ldd (useful when cross-compiling)")
|
||||
parser.add_option("", "--program-arg",
|
||||
action="append", dest="program_args", default=[],
|
||||
help="extra arguments to program")
|
||||
diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
|
||||
index 2c61f2f..d67df95 100644
|
||||
--- a/giscanner/shlibs.py
|
||||
+++ b/giscanner/shlibs.py
|
||||
@@ -96,7 +96,9 @@ def _resolve_non_libtool(options, binary, libraries):
|
||||
args.extend(libtool)
|
||||
args.append('--mode=execute')
|
||||
platform_system = platform.system()
|
||||
- if platform_system == 'Darwin':
|
||||
+ if options.ldd_wrapper:
|
||||
+ args.extend([options.ldd_wrapper, binary.args[0]])
|
||||
+ elif platform_system == 'Darwin':
|
||||
args.extend(['otool', '-L', binary.args[0]])
|
||||
else:
|
||||
args.extend(['ldd', binary.args[0]])
|
||||
@@ -1,39 +0,0 @@
|
||||
From 740d91151ffe576e0c08513af9d7bc8133eb9dfb Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Thu, 8 Oct 2015 18:30:35 +0300
|
||||
Subject: [PATCH] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR
|
||||
environment variable
|
||||
|
||||
This environment variable sets the location of sysroot directory in cross-compilation
|
||||
environments; if the variable is not set, the prefix will be empty.
|
||||
|
||||
Upstream-Status: Pending [review on oe-core list]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
m4/introspection.m4 | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/m4/introspection.m4 b/m4/introspection.m4
|
||||
index d89c3d9..b562266 100644
|
||||
--- a/m4/introspection.m4
|
||||
+++ b/m4/introspection.m4
|
||||
@@ -56,14 +56,14 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
|
||||
INTROSPECTION_GIRDIR=
|
||||
INTROSPECTION_TYPELIBDIR=
|
||||
if test "x$found_introspection" = "xyes"; then
|
||||
- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
|
||||
- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
|
||||
- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
|
||||
+ INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
|
||||
+ INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
|
||||
+ INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
|
||||
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
|
||||
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
|
||||
INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
|
||||
INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
|
||||
- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
|
||||
+ INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
|
||||
fi
|
||||
AC_SUBST(INTROSPECTION_SCANNER)
|
||||
AC_SUBST(INTROSPECTION_COMPILER)
|
||||
@@ -14,18 +14,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
|
||||
"
|
||||
|
||||
SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
|
||||
file://0003-giscanner-add-use-binary-wrapper-option.patch \
|
||||
file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \
|
||||
file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
|
||||
file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \
|
||||
file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \
|
||||
file://0001-Port-cross-compilation-support-to-meson.patch \
|
||||
file://0001-meson.build-disable-tests-when-cross-compiling.patch \
|
||||
file://0001-Fix-build-reproducibility.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "37278eab3704e42234b6080b8cf241f1"
|
||||
SRC_URI[sha256sum] = "b1ee7ed257fdbc008702bdff0ff3e78a660e7e602efa8f211dc89b9d1e7d90a2"
|
||||
SRC_URI[md5sum] = "3419dfd086efcf83768e0579ab6abd2b"
|
||||
SRC_URI[sha256sum] = "80beae6728c134521926affff9b2e97125749b38d38744dc901f4010ee3e7fa7"
|
||||
|
||||
SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
|
||||
|
||||
@@ -49,16 +42,16 @@ export STAGING_DIR_HOST
|
||||
export B
|
||||
|
||||
PACKAGECONFIG ?= ""
|
||||
PACKAGECONFIG[doctool] = "-Ddoctool=true,-Ddoctool=false,python3-mako,"
|
||||
PACKAGECONFIG[doctool] = "-Ddoctool=enabled,-Ddoctool=disabled,python3-mako,"
|
||||
|
||||
# Configure target build to use native tools of itself and to use a qemu wrapper
|
||||
# and optionally to generate introspection data
|
||||
EXTRA_OEMESON_class-target = " \
|
||||
-Denable-host-gi=true \
|
||||
-Denable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
|
||||
-Denable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
|
||||
-Dpkgconfig-sysroot-path=${PKG_CONFIG_SYSROOT_DIR} \
|
||||
${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-introspection-data=true', '-Denable-introspection-data=false', d)} \
|
||||
-Dgi_cross_use_host_gi=true \
|
||||
-Dgi_cross_binary_wrapper=${B}/g-ir-scanner-qemuwrapper \
|
||||
-Dgi_cross_ldd_wrapper=${B}/g-ir-scanner-lddwrapper \
|
||||
-Dgi_cross_pkgconfig_sysroot_path=${PKG_CONFIG_SYSROOT_DIR} \
|
||||
${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dbuild_introspection_data=true', '-Dbuild_introspection_data=false', d)} \
|
||||
${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user