| Message ID | 20260128063200.99314-1-dev@qinc.tv |
|---|---|
| State | New |
| Headers | show |
| Series | [meta-darwin] Add GDB and CLANG (conditionally) to the SDK builds | expand |
Hi Eric, thanks for the patch! Applied as https://git.yoctoproject.org/meta-darwin/commit/?id=c6cd4d7f83d079bc03419872c57269e8bbded95b On Wed, Jan 28, 2026 at 7:32 AM Eric L. Hernes via lists.yoctoproject.org <dev=qinc.tv@lists.yoctoproject.org> wrote: > From: "Eric L. Hernes" <eric@qinc.tv> > > GDB and CLANG are not included in the SDK builds on Darwin. This patch > adds them. GDB is added to the packagegroup files. I had to disable > some of the advanced options for gdb to get a compile. > > CLANG is added conditionally from the `CLANGSDK=1` variable. This > also was missing from the *packagegroup* files. > > Signed-off-by: Eric L. Hernes <dev@qinc.tv> > --- > .../openssl/openssl_%.bbappend | 25 +++++++++++++++++++ > .../nativesdk-packagegroup-sdk-host.bbappend | 3 +++ > .../packagegroup-cross-canadian.bbappend | 5 ++++ > .../gcc/gcc-cross-canadian_%.bbappend | 2 +- > .../gdb/gdb-cross-canadian_%.bbappend | 19 ++++++++++++++ > 5 files changed, 53 insertions(+), 1 deletion(-) > create mode 100644 recipes-connectivity/openssl/openssl_%.bbappend > create mode 100644 recipes-devtools/gdb/gdb-cross-canadian_%.bbappend > > diff --git a/recipes-connectivity/openssl/openssl_%.bbappend > b/recipes-connectivity/openssl/openssl_%.bbappend > new file mode 100644 > index 0000000..3b0674c > --- /dev/null > +++ b/recipes-connectivity/openssl/openssl_%.bbappend > @@ -0,0 +1,25 @@ > + > +do_configure:darwin21 () { > + target="${@'darwin64-arm64-cc' if d.getVar('SDK_ARCH') == 'aarch64' > else 'darwin64-x86_64-cc'}" > + > + useprefix=${prefix} > + if [ "x$useprefix" = "x" ]; then > + useprefix=/ > + fi > + # WARNING: do not set compiler/linker flags (-I/-D etc.) in > EXTRA_OECONF, as they will fully replace the > + # environment variables set by bitbake. Adjust the environment > variables instead. > + PERLEXTERNAL="$(realpath ${S}/external/perl/Text-Template-*/lib)" > + test -d "$PERLEXTERNAL" || bberror "PERLEXTERNAL '$PERLEXTERNAL' not > found!" > + HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="$PERLEXTERNAL" \ > + perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} > ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-3 > --libdir=${libdir} $target > + perl ${B}/configdata.pm --dump > +} > + > +RDEPENDS:remove:${PN}-misc = "perl" > +RDEPENDS:remove:${PN}-ptest = "openssl-bin" > +RDEPENDS:remove:${PN}-ptest = "perl" > +RDEPENDS:remove:${PN}-ptest = "perl-modules" > +RDEPENDS:remove:${PN}-ptest = "bash" > +RDEPENDS:remove:${PN}-ptest = "sed" > +RDEPENDS:remove:${PN}-ptest = "openssl-engines" > +RDEPENDS:remove:${PN}-ptest = "openssl-ossl-module-legacy" > diff --git > a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend > b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend > index 170a8c1..d1191e7 100644 > --- a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend > +++ b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend > @@ -4,3 +4,6 @@ RDEPENDS:${PN}:darwin21 = "\ > nativesdk-bison \ > nativesdk-sdk-provides-dummy \ > " > + > +RDEPENDS:${PN}:darwin21 += "${@bb.utils.contains('CLANGSDK', '1', > 'nativesdk-clang', '', d)}" > + > diff --git > a/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend > b/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend > index de29f47..4e46eae 100644 > --- a/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend > +++ b/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend > @@ -1,9 +1,14 @@ > # Use indirection to stop these being expanded prematurely > BINUTILS = "binutils-cross-canadian-${TRANSLATED_TARGET_ARCH}" > GCC = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}" > +GDB = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}" > +CLANG = "clang-cross-canadian-${TRANSLATED_TARGET_ARCH}" > > RDEPENDS:${PN}:darwinsdk = "\ > ${@all_multilib_tune_values(d, 'BINUTILS')} \ > ${@all_multilib_tune_values(d, 'GCC')} \ > + ${GDB} \ > meta-environment-${MACHINE} \ > " > + > +RDEPENDS:${PN}:darwinsdk += "${@bb.utils.contains('CLANGSDK', '1', > '${CLANGCROSSCANADIANDEPS}', '', d)}" > diff --git a/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend > b/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend > index 192ee0d..5a4b8f9 100644 > --- a/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend > +++ b/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend > @@ -3,7 +3,7 @@ ELFUTILS:darwinsdk = "" > > EXTRA_OECONF:append:darwinsdk = " \ > --with-gmp=${STAGING_EXECPREFIXDIR} \ > - --with-mpft=${STAGING_EXECPREFIXDIR} \ > + --with-mpfr=${STAGING_EXECPREFIXDIR} \ > --with-mpc=${STAGING_EXECPREFIXDIR} \ > " > > diff --git a/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend > b/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend > new file mode 100644 > index 0000000..3f69019 > --- /dev/null > +++ b/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend > @@ -0,0 +1,19 @@ > +PACKAGECONFIG:remove = "python" > +PACKAGECONFIG:remove = "debuginfod" > + > +EXTRA_OECONF:append:darwinsdk = " \ > + --with-gmp=${STAGING_EXECPREFIXDIR} \ > + --with-mpfr=${STAGING_EXECPREFIXDIR} \ > + --with-mpc=${STAGING_EXECPREFIXDIR} \ > +" > + > +EXTRA_OECONF:remove:darwinsdk = "--disable-gas" > +EXTRA_OECONF:remove:darwinsdk = "--disable-binutils" > +EXTRA_OECONF:remove:darwinsdk = "--disable-ld" > +EXTRA_OECONF:remove:darwinsdk = "--disable-gold" > +EXTRA_OECONF:remove:darwinsdk = "--with-system-readline" > + > +# Remove -rpath-link and -rpath > +LDFLAGS:darwinsdk = "${BUILDSDK_LDFLAGS}" > + > +INSANE_SKIP:append:darwin21 = " buildpaths" > -- > 2.50.1 (Apple Git-155) > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#3124): > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_g_yocto-2Dpatches_message_3124&d=DwIFAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=Fp2eoTk4Zck92dmwd9nMaE-SHRvw9vw8S8ErdK_olZxHo2hZ8DjEEFQys_fZni3S&s=hj8tOSn4d9fQ908oAmpEbnRkgmin_r0W0NVabMqJSgc&e= > Mute This Topic: > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_mt_117366396_7048771&d=DwIFAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=Fp2eoTk4Zck92dmwd9nMaE-SHRvw9vw8S8ErdK_olZxHo2hZ8DjEEFQys_fZni3S&s=xeJ1pU9u9JWzdF43UkuTGVRK_mS6RIG-x0s5uXn6Wy4&e= > Group Owner: yocto-patches+owner@lists.yoctoproject.org > Unsubscribe: > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_g_yocto-2Dpatches_leave_13184993_7048771_1814342232_xyzzy&d=DwIFAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=AhkbNonVuMIGRfPx_Qj9TsRih1DULJTKUkSGa66m67E&m=Fp2eoTk4Zck92dmwd9nMaE-SHRvw9vw8S8ErdK_olZxHo2hZ8DjEEFQys_fZni3S&s=rx3_LvbCd61-o8p9w2FT181MqA-v-vky8JEbc8kjyW0&e= > [ecordonnier@snap.com] > -=-=-=-=-=-=-=-=-=-=-=- > > >
diff --git a/recipes-connectivity/openssl/openssl_%.bbappend b/recipes-connectivity/openssl/openssl_%.bbappend new file mode 100644 index 0000000..3b0674c --- /dev/null +++ b/recipes-connectivity/openssl/openssl_%.bbappend @@ -0,0 +1,25 @@ + +do_configure:darwin21 () { + target="${@'darwin64-arm64-cc' if d.getVar('SDK_ARCH') == 'aarch64' else 'darwin64-x86_64-cc'}" + + useprefix=${prefix} + if [ "x$useprefix" = "x" ]; then + useprefix=/ + fi + # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the + # environment variables set by bitbake. Adjust the environment variables instead. + PERLEXTERNAL="$(realpath ${S}/external/perl/Text-Template-*/lib)" + test -d "$PERLEXTERNAL" || bberror "PERLEXTERNAL '$PERLEXTERNAL' not found!" + HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="$PERLEXTERNAL" \ + perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-3 --libdir=${libdir} $target + perl ${B}/configdata.pm --dump +} + +RDEPENDS:remove:${PN}-misc = "perl" +RDEPENDS:remove:${PN}-ptest = "openssl-bin" +RDEPENDS:remove:${PN}-ptest = "perl" +RDEPENDS:remove:${PN}-ptest = "perl-modules" +RDEPENDS:remove:${PN}-ptest = "bash" +RDEPENDS:remove:${PN}-ptest = "sed" +RDEPENDS:remove:${PN}-ptest = "openssl-engines" +RDEPENDS:remove:${PN}-ptest = "openssl-ossl-module-legacy" diff --git a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend index 170a8c1..d1191e7 100644 --- a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend +++ b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend @@ -4,3 +4,6 @@ RDEPENDS:${PN}:darwin21 = "\ nativesdk-bison \ nativesdk-sdk-provides-dummy \ " + +RDEPENDS:${PN}:darwin21 += "${@bb.utils.contains('CLANGSDK', '1', 'nativesdk-clang', '', d)}" + diff --git a/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend b/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend index de29f47..4e46eae 100644 --- a/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend +++ b/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend @@ -1,9 +1,14 @@ # Use indirection to stop these being expanded prematurely BINUTILS = "binutils-cross-canadian-${TRANSLATED_TARGET_ARCH}" GCC = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}" +GDB = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}" +CLANG = "clang-cross-canadian-${TRANSLATED_TARGET_ARCH}" RDEPENDS:${PN}:darwinsdk = "\ ${@all_multilib_tune_values(d, 'BINUTILS')} \ ${@all_multilib_tune_values(d, 'GCC')} \ + ${GDB} \ meta-environment-${MACHINE} \ " + +RDEPENDS:${PN}:darwinsdk += "${@bb.utils.contains('CLANGSDK', '1', '${CLANGCROSSCANADIANDEPS}', '', d)}" diff --git a/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend b/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend index 192ee0d..5a4b8f9 100644 --- a/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend +++ b/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend @@ -3,7 +3,7 @@ ELFUTILS:darwinsdk = "" EXTRA_OECONF:append:darwinsdk = " \ --with-gmp=${STAGING_EXECPREFIXDIR} \ - --with-mpft=${STAGING_EXECPREFIXDIR} \ + --with-mpfr=${STAGING_EXECPREFIXDIR} \ --with-mpc=${STAGING_EXECPREFIXDIR} \ " diff --git a/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend b/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend new file mode 100644 index 0000000..3f69019 --- /dev/null +++ b/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend @@ -0,0 +1,19 @@ +PACKAGECONFIG:remove = "python" +PACKAGECONFIG:remove = "debuginfod" + +EXTRA_OECONF:append:darwinsdk = " \ + --with-gmp=${STAGING_EXECPREFIXDIR} \ + --with-mpfr=${STAGING_EXECPREFIXDIR} \ + --with-mpc=${STAGING_EXECPREFIXDIR} \ +" + +EXTRA_OECONF:remove:darwinsdk = "--disable-gas" +EXTRA_OECONF:remove:darwinsdk = "--disable-binutils" +EXTRA_OECONF:remove:darwinsdk = "--disable-ld" +EXTRA_OECONF:remove:darwinsdk = "--disable-gold" +EXTRA_OECONF:remove:darwinsdk = "--with-system-readline" + +# Remove -rpath-link and -rpath +LDFLAGS:darwinsdk = "${BUILDSDK_LDFLAGS}" + +INSANE_SKIP:append:darwin21 = " buildpaths"