From: "Khem Raj" <raj.khem@gmail.com>
To: zboszor@pr.hu, Ross Burton <ross.burton@arm.com>,
"openembedded-core@lists.openembedded.org"
<openembedded-core@lists.openembedded.org>
Cc: "Zoltán Böszörményi" <zboszor@gmail.com>
Subject: Re: [OE-core] [PATCH] python3-setuptools: Fix building python modules using cython
Date: Wed, 18 May 2022 08:55:40 -0700 [thread overview]
Message-ID: <12ef2c6a-8e7d-d4d5-aea3-97728316fb86@gmail.com> (raw)
In-Reply-To: <588c0a97-4ea9-eb9a-833b-9d7fc2d97e17@pr.hu>
On 5/18/22 6:28 AM, Zoltan Boszormenyi via lists.openembedded.org wrote:
> 2022. 05. 18. 14:32 keltezéssel, Ross Burton írta:
>> I left a comment on the PR you filed, but the triplet thing seems to
>> be a red herring as the old code uses ‘in’ so a compiler called
>> arm-poky-linux-gcc would still be detected as gcc.
>
> The "in" is also a problem. Any command can have a
> "gcc" substring somewhere in the middle.
>
> It's important that the command name ends in the pattern.
>
> Maybe compiler_name.endswith() would be a better choice
> but a regex is less typing and more compact then spelling
> out compiler_name.endswith() 4 times on the same line.
Sneaking clang under is_gcc() garb seems a bit dubious to me. Perhaps
check if is_gcc is meant to select some gcc'ness. Then you are better of
detecting clang separately.
>
>>
>> If this patch is just extending the logic to consider clang as gcc,
>> then that should be called out explicitly
>>
>> Ross
>>
>> *From: *openembedded-core@lists.openembedded.org
>> <openembedded-core@lists.openembedded.org> on behalf of Zoltan
>> Boszormenyi via lists.openembedded.org
>> <zboszor=pr.hu@lists.openembedded.org>
>> *Date: *Wednesday, 18 May 2022 at 08:16
>> *To: *openembedded-core@lists.openembedded.org
>> <openembedded-core@lists.openembedded.org>
>> *Cc: *Zoltán Böszörményi <zboszor@gmail.com>
>> *Subject: *[OE-core] [PATCH] python3-setuptools: Fix building python
>> modules using cython
>>
>> From: Zoltán Böszörményi <zboszor@gmail.com>
>>
>> The function _is_gcc() was not taking a machine triplet into
>> account. Also handle clang and clang++ because they also
>> want the rpath option via -Wl,-R instead of just -R.
>>
>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>> ---
>> ...cross-compiler-prefixes-and-handle-c.patch | 31 +++++++++++++++++++
>> .../python/python3-setuptools_59.5.0.bb | 1 +
>> 2 files changed, 32 insertions(+)
>> create mode 100644
>> meta/recipes-devtools/python/python3-setuptools/0001-Fix-_is_gcc-for-cross-compiler-prefixes-and-handle-c.patch
>>
>>
>> diff --git
>> a/meta/recipes-devtools/python/python3-setuptools/0001-Fix-_is_gcc-for-cross-compiler-prefixes-and-handle-c.patch
>> b/meta/recipes-devtools/python/python3-setuptools/0001-Fix-_is_gcc-for-cross-compiler-prefixes-and-handle-c.patch
>>
>> new file mode 100644
>> index 0000000000..7f91d8e6cd
>> --- /dev/null
>> +++
>> b/meta/recipes-devtools/python/python3-setuptools/0001-Fix-_is_gcc-for-cross-compiler-prefixes-and-handle-c.patch
>>
>> @@ -0,0 +1,31 @@
>> +From 695800847eb519209c2b45e26fd65d3117a4efcd Mon Sep 17 00:00:00 2001
>> +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
>> + <zboszor@gmail.com>
>> +Date: Wed, 18 May 2022 06:51:22 +0200
>> +Subject: [PATCH] Fix _is_gcc() for cross-compiler prefixes and handle
>> + clang and clang++
>> +
>> +Upstream-Status: Submitted
>> [https://github.com/pypa/setuptools/pull/3326
>> <https://github.com/pypa/setuptools/pull/3326>]
>> +
>> +Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>> +---
>> + setuptools/_distutils/unixccompiler.py | 3 ++-
>> + 1 file changed, 2 insertions(+), 1 deletion(-)
>> +
>> +diff --git a/setuptools/_distutils/unixccompiler.py
>> b/setuptools/_distutils/unixccompiler.py
>> +index 715408f5..3a4d642e 100644
>> +--- a/setuptools/_distutils/unixccompiler.py
>> ++++ b/setuptools/_distutils/unixccompiler.py
>> +@@ -260,7 +260,8 @@ class UnixCCompiler(CCompiler):
>> + return "-L" + dir
>> +
>> + def _is_gcc(self, compiler_name):
>> +- return "gcc" in compiler_name or "g++" in compiler_name
>> ++ cnpat = re.compile('.*(gcc|g\+\+|clang|clang\+\+)$')
>> ++ return not (cnpat.match(compiler_name) is None)
>> +
>> + def runtime_library_dir_option(self, dir):
>> + # XXX Hackish, at the very least. See Python bug #445902:
>> +--
>> +2.36.1
>> +
>> diff --git a/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
>> b/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
>> index f2810e18d3..20ecf5223d 100644
>> --- a/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
>> +++ b/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
>> @@ -11,6 +11,7 @@ SRC_URI:append:class-native = "
>> file://0001-conditionally-do-not-fetch-code-by-e
>> <file:///0001-conditionally-do-not-fetch-code-by-e>
>> SRC_URI += "\
>> file://0001-change-shebang-to-python3.patch
>> <file:///0001-change-shebang-to-python3.patch> \
>> file://0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch
>> <file:///0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch>
>> \
>> +
>> file://0001-Fix-_is_gcc-for-cross-compiler-prefixes-and-handle-c.patch
>> <file:///0001-Fix-_is_gcc-for-cross-compiler-prefixes-and-handle-c.patch>
>> \
>> "
>>
>> SRC_URI[sha256sum] =
>> "d144f85102f999444d06f9c0e8c737fd0194f10f2f7e5fdb77573f6e2fa4fad0"
>> --
>> 2.36.1
>>
>> IMPORTANT NOTICE: The contents of this email and any attachments are
>> confidential and may also be privileged. If you are not the intended
>> recipient, please notify the sender immediately and do not disclose
>> the contents to any other person, use it for any purpose, or store or
>> copy the information in any medium. Thank you.
>>
>>
>>
>>
>
>
>
>
>
next prev parent reply other threads:[~2022-05-18 15:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-18 7:15 [PATCH] python3-setuptools: Fix building python modules using cython Zoltan Boszormenyi
2022-05-18 12:32 ` [OE-core] " Ross Burton
2022-05-18 13:28 ` Zoltan Boszormenyi
2022-05-18 15:55 ` Khem Raj [this message]
2022-05-19 8:25 ` Zoltan Boszormenyi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=12ef2c6a-8e7d-d4d5-aea3-97728316fb86@gmail.com \
--to=raj.khem@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@arm.com \
--cc=zboszor@gmail.com \
--cc=zboszor@pr.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.