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 9:13 AM Daniel P. Berrangé <berrange@xxxxxxxxxx> wrote:
> On Fri, Apr 28, 2023 at 01:41:05PM +0100, Richard W.M. Jones wrote:
> > On Fri, Apr 28, 2023 at 02:22:40PM +0200, Florian Weimer 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.
> >
> > FWIW:
> >
> > $ x86_64-w64-mingw32-gcc -print-sysroot
> > /usr/x86_64-w64-mingw32/sys-root
> >
> > which would indicate that you are correct that /mingw is somehow
> > "inside" the sysroot.
>
> Then on the Meson side we define
>
>   root = '/usr/i686-w64-mingw32/sys-root/mingw'
>
> in the /usr/share/mingw/toolchain-mingw32.meson spec, while with
> configure we invoke
>
>   configure \
>         --host=i686-w64-mingw32 \
>         --build=x86_64-redhat-linux-gnu \
>         --target=i686-w64-mingw32 \
>         --prefix=/usr/i686-w64-mingw32/sys-root/mingw \
>         --exec-prefix=/usr/i686-w64-mingw32/sys-root/mingw \
>         --bindir=/usr/i686-w64-mingw32/sys-root/mingw/bin \
>         --sbindir=/usr/i686-w64-mingw32/sys-root/mingw/sbin \
>         --sysconfdir=/usr/i686-w64-mingw32/sys-root/mingw/etc \
>         --datadir=/usr/i686-w64-mingw32/sys-root/mingw/share \
>         --includedir=/usr/i686-w64-mingw32/sys-root/mingw/include \
>         --libdir=/usr/i686-w64-mingw32/sys-root/mingw/lib \
>         --libexecdir=/usr/i686-w64-mingw32/sys-root/mingw/libexec \
>         --localstatedir=/usr/i686-w64-mingw32/sys-root/mingw/var \
>         --sharedstatedir=/usr/i686-w64-mingw32/sys-root/mingw/com \
>         --mandir=/usr/i686-w64-mingw32/sys-root/mingw/share/man \
>         --infodir=/usr/i686-w64-mingw32/sys-root/mingw/share/info \
>
> is there any difference between the notion of the 'sysroot' vs
> the install 'prefix' ?

There is at least one minor difference which I recently encountered
with musl packaging:  The gcc/cpp/ld --sysroot option rewrites paths
that include the configured /usr prefix, so e.g.

gcc --sysroot=/usr/x86_64-SYSROOT-linux-gnu -E -Wp,-v -xc /dev/null

shows that it will only search
/usr/x86_64-SYSROOT-linux-gnu/usr/include for headers.  It would be
nice if all new sysroots standardized on a prefix of $SYSROOT/usr
since it's useful for quickly building small things without needing a
build system, but it's a minor detail overall.

Thanks.

David
_______________________________________________
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