From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Message-ID: <588c0a97-4ea9-eb9a-833b-9d7fc2d97e17@pr.hu> Date: Wed, 18 May 2022 15:28:22 +0200 MIME-Version: 1.0 Subject: Re: [OE-core] [PATCH] python3-setuptools: Fix building python modules using cython References: <20220518071525.4169607-1-zboszor@pr.hu> From: "Zoltan Boszormenyi" In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: 8bit List-id: To: Ross Burton , "openembedded-core@lists.openembedded.org" Cc: =?UTF-8?B?Wm9sdMOhbiBCw7ZzesO2cm3DqW55aQ==?= 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. > > 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 > on behalf of Zoltan Boszormenyi via > lists.openembedded.org > *Date: *Wednesday, 18 May 2022 at 08:16 > *To: *openembedded-core@lists.openembedded.org > *Cc: *Zoltán Böszörményi > *Subject: *[OE-core] [PATCH] python3-setuptools: Fix building python modules using cython > > From: Zoltán Böszörményi > > 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 > --- >  ...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?= > + > +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 > ] > + > +Signed-off-by: Zoltán Böszörményi > +--- > + 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 > >  SRC_URI += "\ > file://0001-change-shebang-to-python3.patch \ > file://0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.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. > > > >