Re: mingw sysroot paths (and generalizing them)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 28, 2023 at 8:23 AM Florian Weimer <fweimer@xxxxxxxxxx> wrote:
>
> Looking at
>
>   Information for RPM mingw64-zlib-1.2.13-2.fc38.noarch.rpm
>   <https://koji.fedoraproject.org/koji/rpminfo?rpmID=33118048>
>
> sysroot paths look like this:
>
>   /usr/x86_64-w64-mingw32/sys-root/mingw/bin/zlib1.dll
>   /usr/x86_64-w64-mingw32/sys-root/mingw/include/zconf.h
>   /usr/x86_64-w64-mingw32/sys-root/mingw/include/zlib.h
>   /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libz.dll.a
>   /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig/zlib.pc
>
> Is the /mingw/ part of the sysroot path, or is it within the sysroot?
> Would I use --sysroot=/usr/x86_64-w64-mingw32/sys-root or
> --sysroot=/usr/x86_64-w64-mingw32/sys-root/mingw to build against the
> sysroot?
>
> I assumed the latter, but now I wonder if /mingw in the sysroot is the
> analogue of /usr in GNU/Linux sysroots.
>
> Eventually, we want to produce some GNU/Linux sysroots.  I picked
>
>   /usr/%{_arch}-redhat-linux/sys-root/fc%{fedora}
>
> or (depending on the operating system)
>
>   /usr/%{_arch}-redhat-linux/sys-root/el%{rhel}
>
> or (as the fallback)
>
>   /usr/%{_arch}-redhat-linux/sys-root/root
>
> and we have /usr inside the sysroot, e.g. <stdio.h> is
>
>   /usr/x86_64-redhat-linux/sys-root/fc35/usr/include/stdio.h
>
> in a Fedora 35 sysroot on x86-64 (although the Fedora 35 update with
> this never actually went out).  We essentially use the /mingw/ part as
> an OS ABI version indicator, to make the different versions
> co-installable.
>
> I want to pick this up again and would like to solicit comments if that
> OS ABI variant thing is the right approach, or if we should drop it.
> Sysroot packages are by nature relocatable, and do not have to be
> installed in /, so it's perhaps not a great loss if their version
> variants are not co-installable.
>
> We need something like this before we can drop i686 on ELN; it's only
> way to enable -m32 in GCC in a sustainable fashion.  But we don't need
> OS ABI variants for that.
>

Years ago, when we originally started talking about multilib and
multiarch stuff on the list (I think in the context of both x86 and
ARM), the Exherbo developer brought up the idea of reworking the whole
operating system to sysroots[1].

I was actually in favor of this idea, and I prototyped a distribution
setup with it. The result of that was I found a few issues with how
RPM handles dependency generation for supporting such a setup. One of
the biggest ones is in how we generate the library dependencies, which
I attempted to fix a few years ago[2].

Unfortunately, it hasn't gone anywhere even though I'd still like to do it...

[1]: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/F64O5RZE27JWCRDIUM5RE2V6C354PC52/
[2]: https://github.com/rpm-software-management/rpm/pull/1038



-- 
真実はいつも一つ!/ Always, there's only one truth!
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux