I've finally found time to work on preparing a mingw-llvm-3.0 package, so that I can cross-compile a program that uses the LLVM libraries. I've run into a few problems that I could use some help with.

1) The %mingw_configure macro defines a bunch of environment variables such as AR, CXX, GCC, LD, etc., which interfere with building LLVM, because the LLVM build system already knows how to deal with cross-builds, but the env vars screw up some things that have to compiled and run on the build system. Is there any way to convince %mingw_configure not to set those variables? Or maybe an alternate macro that doesn't?

For now, I use a patch to the LLVM configure script that unsets all those variables at the start, and then it builds fine for mingw32.


2) The LLVM build produces some .exe and .dll files in %{mingw_bindir}, but there aren't any .dll.a or .la files anywhere either in the BUILDROOT or in the BUILD tree. How are these supposed to be produced? For my own purposes I only need the static libraries in the -static subpackage, but obviously I need to fix this so that the DLLs are usable also.


3) Building for mingw64 fails with all sorts of undefined mangled C++ symbols. I think I'll need help from upstream with that. Is it OK to submit a package in the mean time that builds for mingw32 only?

For now I've used "%global mingw_build_win64 0". That mostly works, until rpmbuild tries to generate debuginfo and provides, and apparently is still looking for an x86_64-w64-mingw32 directory, when all I have is i686-w64-mingw32. Is there something else I must do to convince it not to look for 64-bit stuff?

find: `/home/eric/rpmbuild/BUILDROOT/mingw-llvm-3.0-1.fc16.x86_64/usr/x86_64-w64-mingw32/sys-root/mingw': No such file or directory error: failed to write all data to /usr/lib/rpm/mingw-find-debuginfo.sh: Broken pipe Finding Provides: /usr/lib/rpm/mingw-find-debuginfo.sh /home/eric/rpmbuild/BUILD/ mingw32 mingw64
error: Failed to find Provides:
Requires(rpmlib): rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
RPM build errors:
failed to write all data to /usr/lib/rpm/mingw-find-debuginfo.sh: Broken pipe
    Failed to find Provides:


In case anyone is interested, I put the current almost-but-not-quite-working spec file and a build log at:
    http://fedorapeople.org/~brouhaha/mingw-llvm/

Thanks for any advice and help!
Eric

_______________________________________________
mingw mailing list
mingw@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/mingw

Reply via email to