Including windows-binary files for cross compiling into package
Richard W.M. Jones
rjones at redhat.com
Fri Nov 6 08:18:21 UTC 2009
On Thu, Nov 05, 2009 at 04:44:10PM +0100, Joost van der Sluis wrote:
> On Thu, 2009-11-05 at 14:06 +0000, Richard W.M. Jones wrote:
> > On Thu, Nov 05, 2009 at 01:42:55PM +0100, Joost van der Sluis wrote:
> > > A little bit? Did you read my other mail on the subject:
> > >
> > > "That's an idea, but then we would be incompatible with upstream. I can
> > > try to patch the configuration files of fpc so that it searches for
> > > these binaries in /usr/x86_64-pc-fpc/sys-root/fpc/lib. But I prefer the
> > > 'standard' location. Also because other packages based in fpc relay on
> > > that.
> >
> > This is based on a misunderstanding of the packaging guidelines.
> >
> > The Fedora MinGW cross-compiler itself does not live in
> > /usr/i686-pc-mingw32, it lives in the usual places like /usr/bin and
> > /usr/lib (it's a native Fedora executable, so obviously this is where
> > it should go).
> > $ which i686-pc-mingw32-gcc
> > /usr/bin/i686-pc-mingw32-gcc
> > $ ls /usr/lib64/gcc/i686-pc-mingw32/4.3.2/
> > crtbegin.o include-fixed libssp.a libstdc++.a
> > crtend.o install-tools libssp.la libstdc++.la
> > crtfastmath.o libgcc.a libssp_nonshared.a libsupc++.a
> > include libgcov.a libssp_nonshared.la libsupc++.la
>
> Yes, I understood that, but the object files in windows-format should be
> in /usr/i686-pc-fpc/sys-root/fpc/lib, right?
Not necessarily. i686-pc-mingw32-gcc keeps its own internal
object files (libgcc.a etc) under /usr/lib{,64} also.
> That's what I meant. If you are actually on windows, MinGW needs a
> directory-structure with paths like 'lib', 'bin' etc. But fpc doesn't
> need that. Well, the application should be in 'program files', but I
> doubt that that's what we want in a Fedora-package.
It's nothing to do with what Windows needs. The directory is used
because the upstream gcc/mingw toolchain requires it. The sys-root
directory is neither used by, nor exported to Windows (in fact,
Windows is not involved at any point in the process).
> > You should use a prefix so that autoconf knows how to find your
> > cross-compiler. Read the documentation for AC_CHECK_TOOL.
>
> Autoconf? With Pascal? What's next, using 'make'? ;)
>
> You don't need those tools with Pascal, there's no need for makefiles
> because of the unit-system.
Well OCaml has an integrated build system but still uses autotools, so
it's not such a surprising thing. Using autotools has other
advantages - it's not merely a fancy version of 'make'.
What happens if a project isn't written entirely in Pascal? What
happens if you need to detect if the Pascal compiler is installed?
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v
More information about the fedora-devel-list
mailing list