Closed Bug 570342 Opened 15 years ago Closed 10 years ago

Metabug for mingw-w64 compilation

Categories

(Firefox Build System :: General, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jacek, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [tor])

Attachments

(2 files, 2 obsolete files)

Attached file mozconfig (obsolete) —
I've been able to successfully crosscompile win64 Firefox on Linux. All patches have been submitted to bugzilla. This bug is meant to keep track of them as well as document the process of compilation. Setting up compile environment: * Getting sources $ wget http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.bz2 $ tar -jxf binutils-2.20.tar.bz2 $ wget http://gcc.fyxm.net/releases/gcc-4.5.0/gcc-4.5.0.tar.bz2 $ tar -jxf gcc-4.5.0.tar.bz2 $ svn co https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64 mingw-w64-svn SVN version of mingw-w64 is required as well as a patch: $ cd mingw-w64-svn $ wget http://sourceforge.net/tracker/download.php?group_id=202880&atid=983356&file_id=375345&aid=3007914 $ patch -p0 <patch.diff * binutils $ mkdir binutils-2.20-mingw64 && cd binutils-2.20-mingw64 $ ../binutils-2.20/configure --prefix=/usr/local/ --target=x86_64-w64-mingw32 --disable-multilib $ make $ make install * mingw-w64 headers $ mkdir mingw-w64-headers64 && cd mingw-w64-headers64 $ ../mingw-w64-svn/mingw-w64-headers/configure --host=x86_64-w64-mingw32 --prefix=/usr/local/ --enable-sdk=all $ make install * GCC compiler $ mkdir gcc-4.5.0-mingw64 && cd gcc-4.5.0-mingw64 $ ../gcc-4.5.0/configure --target=x86_64-w64-mingw32 --disable-multilib --prefix=/usr/local/ --enable-languages=c,c++ --with-gnu-ld --with-gnu-as $ make all-gcc $ make install-gcc * mingw-w64 crt $ mkdir mingw-w64-lib64 && cd mingw-w64-lib64 $ ../mingw-w64-svn/mingw-w64-crt/configure --host=x86_64-w64-mingw32 --prefix=/usr/local/ $ make $ make install * Finishing GCC $ cd gcc-4.5.0-mingw64 $ make $ make install * Mozilla compilation There are currently quite a few (mostly small) patches needed for successful compilation. Apply patches from all dependencies of this bug to mozilla-central current source and use the attached mozconfig to compile 64-bit Firefox.
Depends on: 570949
Depends on: 449292
Attached patch current diff (obsolete) — Splinter Review
I've attached my current diff required for mingw-w64 compilation. Most of patches are in the tree now. Remaining are two patches waiting for NSS merge, two NSS patches waiting for wtc's review and one patch waiting for hunspell merge. Also mingw-w64 patch is no longer needed. It compiles fine with mingw-w64 SVN version.
Attached patch current diffSplinter Review
I'm attaching recent diff against m-c that is required for successful compilation with mingw-w64. Below are updated instruction for building (it should work with GCC up to 4.6.*, 4.7 requires a bit more fixes that are on their way). * Getting sources $ wget http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2 $ tar -jxf binutils-2.22.tar.bz2 $ wget http://gcc.fyxm.net/releases/gcc-4.6.3/gcc-4.6.3.tar.bz2 $ tar -jxf gcc-4.6.3.tar.bz2 SVN version of mingw-w64 is required: $ svn co https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk mingw-w64-svn * binutils $ mkdir binutils-2.22-mingw64 && cd binutils-2.22-mingw64 $ ../binutils-2.22/configure --prefix=/usr/local/ --target=x86_64-w64-mingw32 --disable-multilib $ make # make install * mingw-w64 headers $ mkdir mingw-w64-headers64 && cd mingw-w64-headers64 $ ../mingw-w64-svn/mingw-w64-headers/configure --host=x86_64-w64-mingw32 --prefix=/usr/local/ --enable-sdk=all --enable-secure-api # make install * GCC compiler $ mkdir gcc-4.6.3-mingw64 && cd gcc-4.6.3-mingw64 $ ../gcc-4.6.3/configure --target=x86_64-w64-mingw32 --disable-multilib --prefix=/usr/local/ --enable-languages=c,c++ --with-gnu-ld --with-gnu-as $ make all-gcc # make install-gcc * mingw-w64 crt $ mkdir mingw-w64-lib64 && cd mingw-w64-lib64 $ ../mingw-w64-svn/mingw-w64-crt/configure --host=x86_64-w64-mingw32 --prefix=/usr/local/ $ make # make install * Finishing GCC $ cd gcc-4.6.3-mingw64 $ make # make install
Attachment #456850 - Attachment is obsolete: true
Attached file mozconfig
Attachment #449470 - Attachment is obsolete: true
Whiteboard: [tor]
This is on the Tor spreadsheet and it appears that all of the bugs have been fixed. The related Tor Trac 10715 is closed. Can I close this and marked it fixed?
Flags: needinfo?(mikepery)
Flags: needinfo?(arthuredelstein)
I don't see much value in keeping this bug open. And the dependent bugs all being closed tell me this is FIXED instead of WORKSFORME or INCOMPLETE.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(mikepery)
Flags: needinfo?(arthuredelstein)
Resolution: --- → FIXED
Blocks: meta_tor
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: