https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&feed=atom&action=history
Building LDC on MinGW x86 - Revision history
2024-03-29T06:34:31Z
Revision history for this page on the wiki
MediaWiki 1.31.2
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=5112&oldid=prev
Redstar: Update usable MinGW-w64 versions.
2014-11-14T21:32:32Z
<p>Update usable MinGW-w64 versions.</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 21:32, 14 November 2014</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l9" >Line 9:</td>
<td colspan="2" class="diff-lineno">Line 9:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Get a ''recent'' build of '''MinGW-w64''' for i686 (i.e. 32 bit) targets, with DWARF2-style exception handling ('''-dw2'''). A fresh build is required because support for the ''SECREL32'' relocation type needed to implement TLS was only recently added to GNU <tt>as</tt>, and TLS support in the MinGW runtime was broken:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Get a ''recent'' build of '''MinGW-w64''' for i686 (i.e. 32 bit) targets, with DWARF2-style exception handling ('''-dw2'''). A fresh build is required because support for the ''SECREL32'' relocation type needed to implement TLS was only recently added to GNU <tt>as</tt>, and TLS support in the MinGW runtime was broken:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download and extract [http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.8-dw2-release/i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z/download i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z], renaming the top folder to <tt>C:\MinGW</tt>.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download and extract [http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.8-dw2-release/i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z/download i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z], renaming the top folder to <tt>C:\MinGW</tt>.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">#* You can also use newer builds of '''MinGW-w64''' for i686. E.g. [http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.1/threads-posix/dwarf/i686-4.9.1-release-posix-dwarf-rt_v3-rev1.7z/download i686-4.9.1-release-posix-dwarf-rt_v3-rev1] is known to work. Download the [http://sourceforge.net/projects/mingw-w64/files/latest/download?source=files installer] and choose a gcc version, architecture i686, posix threads and dwarf exceptions. If this fails then you can find the files [http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/ here].</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install MSYS and the usual tools like Git:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install MSYS and the usual tools like Git:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download [http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z/download msys+7za+wget+svn+git+mercurial+cvs-rev13.7z] from the MinGW-Builds project, extract it to <tt>C:\MinGW</tt>, add <tt>C:\MinGW\  /mingw</tt> to <tt>C:\MinGW\msys\etc\fstab</tt>.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download [http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z/download msys+7za+wget+svn+git+mercurial+cvs-rev13.7z] from the MinGW-Builds project, extract it to <tt>C:\MinGW</tt>, add <tt>C:\MinGW\  /mingw</tt> to <tt>C:\MinGW\msys\etc\fstab</tt>.</div></td></tr>
</table>
Redstar
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=4860&oldid=prev
Klickverbot at 23:38, 12 October 2014
2014-10-12T23:38:05Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 23:38, 12 October 2014</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l14" >Line 14:</td>
<td colspan="2" class="diff-lineno">Line 14:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* For your own sanity, you might want to use something like [http://sourceforge.net/projects/console/ Console2] to handle the MinGW shell (set the shell to <tt>C:\MinGW\msys\bin\bash.exe --login -i</tt>).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* For your own sanity, you might want to use something like [http://sourceforge.net/projects/console/ Console2] to handle the MinGW shell (set the shell to <tt>C:\MinGW\msys\bin\bash.exe --login -i</tt>).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install CMake 2.8.11 using the Windows installer from http://www.cmake.org/cmake/resources/software.html, making sure it is on your MSYS <tt>$PATH</tt> (e.g. by letting the installer put it on your <tt>%PATH%</tt>).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install CMake 2.8.11 using the Windows installer from http://www.cmake.org/cmake/resources/software.html, making sure it is on your MSYS <tt>$PATH</tt> (e.g. by letting the installer put it on your <tt>%PATH%</tt>).</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* ''Optional: Install [http://martine.github.com/ninja/ Ninja] somewhere on your MSYS <tt>$PATH</tt> for shorter compile times, especially on incremental builds. If you don't want to use Ninja, simply change the CMake generator to Makefiles (<tt>-G"MSYS Makefiles"</tt>) and use <tt>make (install)</tt> instead of the <tt>ninja</tt> commands.''</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* ''Optional: Install [http://martine.github.com/ninja/ Ninja] <ins class="diffchange diffchange-inline">([https://github.com/martine/ninja/releases binaries]) </ins>somewhere on your MSYS <tt>$PATH</tt> for shorter compile times, especially on incremental builds. If you don't want to use Ninja, simply change the CMake generator to Makefiles (<tt>-G"MSYS Makefiles"</tt>) and use <tt>make (install)</tt> instead of the <tt>ninja</tt> commands.''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LLVM:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LLVM:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.4 source: Either use the [http://llvm.org/releases/download.html#3.4 release tarball] or checkout the ''release_34'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.4 source: Either use the [http://llvm.org/releases/download.html#3.4 release tarball] or checkout the ''release_34'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository.</div></td></tr>
</table>
Klickverbot
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=4724&oldid=prev
Klickverbot at 21:47, 6 September 2014
2014-09-06T21:47:04Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 21:47, 6 September 2014</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l7" >Line 7:</td>
<td colspan="2" class="diff-lineno">Line 7:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Note that the below instructions refer to precise package versions and file system paths. The intention behind this is to record a known-good configuration. Newer releases or differing paths will probably work as well ''if you know what you are doing''.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Note that the below instructions refer to precise package versions and file system paths. The intention behind this is to record a known-good configuration. Newer releases or differing paths will probably work as well ''if you know what you are doing''.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># Get a ''recent'' build of MinGW-w64 for i686 (i.e. 32 bit) targets, with DWARF2-style exception handling. A fresh build is required because support for the ''SECREL32'' relocation type needed to implement TLS was only recently added to GNU <tt>as</tt>, and TLS support in the MinGW runtime was broken:</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># Get a ''recent'' build of <ins class="diffchange diffchange-inline">'''</ins>MinGW-w64<ins class="diffchange diffchange-inline">''' </ins>for i686 (i.e. 32 bit) targets, with DWARF2-style exception handling <ins class="diffchange diffchange-inline">('''-dw2''')</ins>. A fresh build is required because support for the ''SECREL32'' relocation type needed to implement TLS was only recently added to GNU <tt>as</tt>, and TLS support in the MinGW runtime was broken:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download and extract [http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.8-dw2-release/i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z/download i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z], renaming the top folder to <tt>C:\MinGW</tt>.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download and extract [http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.8-dw2-release/i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z/download i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z], renaming the top folder to <tt>C:\MinGW</tt>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install MSYS and the usual tools like Git:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install MSYS and the usual tools like Git:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download [http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z/download msys+7za+wget+svn+git+mercurial+cvs-rev13.7z] from the MinGW-Builds project, extract it to <tt>C:\MinGW</tt>, add <tt>C:\MinGW\  /mingw</tt> to <tt>C:\MinGW\msys\etc\fstab</tt>.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download [http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z/download msys+7za+wget+svn+git+mercurial+cvs-rev13.7z] from the MinGW-Builds project, extract it to <tt>C:\MinGW</tt>, add <tt>C:\MinGW\  /mingw</tt> to <tt>C:\MinGW\msys\etc\fstab</tt>.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* Ensure that C:\MinGW is in your PATH and make sure you're using <del class="diffchange diffchange-inline">v4.8.0 of </del>GCC by checking the output <del class="diffchange diffchange-inline">when running '''</del>gcc.exe --version<del class="diffchange diffchange-inline">'''</del>.  </div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* Ensure that C:\MinGW is in your PATH and make sure you're using <ins class="diffchange diffchange-inline">the </ins>GCC <ins class="diffchange diffchange-inline">version downloaded above </ins>by checking the output <ins class="diffchange diffchange-inline">of <tt></ins>gcc.exe --version<ins class="diffchange diffchange-inline"></tt></ins>.  </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* For your own sanity, you might want to use something like [http://sourceforge.net/projects/console/ Console2] to handle the MinGW shell (set the shell to <tt>C:\MinGW\msys\bin\bash.exe --login -i</tt>).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* For your own sanity, you might want to use something like [http://sourceforge.net/projects/console/ Console2] to handle the MinGW shell (set the shell to <tt>C:\MinGW\msys\bin\bash.exe --login -i</tt>).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install CMake 2.8.11 using the Windows installer from http://www.cmake.org/cmake/resources/software.html, making sure it is on your MSYS <tt>$PATH</tt> (e.g. by letting the installer put it on your <tt>%PATH%</tt>).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install CMake 2.8.11 using the Windows installer from http://www.cmake.org/cmake/resources/software.html, making sure it is on your MSYS <tt>$PATH</tt> (e.g. by letting the installer put it on your <tt>%PATH%</tt>).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* ''Optional: Install [http://martine.github.com/ninja/ Ninja] somewhere on your MSYS <tt>$PATH</tt> for shorter compile times, especially on incremental builds. If you don't want to use Ninja, simply change the CMake generator to Makefiles (<tt>-G"MSYS Makefiles"</tt>) and use <tt>make (install)</tt> instead of the <tt>ninja</tt> commands.''</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* ''Optional: Install [http://martine.github.com/ninja/ Ninja] somewhere on your MSYS <tt>$PATH</tt> for shorter compile times, especially on incremental builds. If you don't want to use Ninja, simply change the CMake generator to Makefiles (<tt>-G"MSYS Makefiles"</tt>) and use <tt>make (install)</tt> instead of the <tt>ninja</tt> commands.''</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LLVM:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LLVM:</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.<del class="diffchange diffchange-inline">3 </del>source: Either use the [http://llvm.org/releases/download.html#3.<del class="diffchange diffchange-inline">3 </del>release tarball] <del class="diffchange diffchange-inline">(as soon as the release is officially out) </del>or checkout the ''<del class="diffchange diffchange-inline">release_33</del>'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.<ins class="diffchange diffchange-inline">4 </ins>source: Either use the [http://llvm.org/releases/download.html#3.<ins class="diffchange diffchange-inline">4 </ins>release tarball] or checkout the ''<ins class="diffchange diffchange-inline">release_34</ins>'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* Build and install it: <tt>cd /n/Build/Work/llvm-3.<del class="diffchange diffchange-inline">3</del>-release && cmake /c/Build/Source/llvm/ -G Ninja -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=/n/Build/Intermediate/llvm-3.<del class="diffchange diffchange-inline">3</del>-release -DCMAKE_BUILD_TYPE=Release && ninja && ninja install</tt><del class="diffchange diffchange-inline">.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* Build and install it: <tt>cd /n/Build/Work/llvm-3.<ins class="diffchange diffchange-inline">4</ins>-release && cmake /c/Build/Source/llvm/ -G Ninja -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=/n/Build/Intermediate/llvm-3.<ins class="diffchange diffchange-inline">4</ins>-release -DCMAKE_BUILD_TYPE=Release && ninja && ninja install</tt>.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">#* If you do not want to use Ninja then use <tt>MSYS Makefiles</tt> as CMake generator</del>.</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Fetch the [http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz ''libconfig++'' tarball] and install it (<tt>./configure; make; make install</tt>). Don't try an out-of-source build, directory seperator issues tend to break the Makefiles.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Fetch the [http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz ''libconfig++'' tarball] and install it (<tt>./configure; make; make install</tt>). Don't try an out-of-source build, directory seperator issues tend to break the Makefiles.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LDC:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LDC:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Clone the repository: <tt>git clone --recursive https://github.com/ldc-developers/ldc.git</tt></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Clone the repository: <tt>git clone --recursive https://github.com/ldc-developers/ldc.git</tt></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* Build it: <tt>cmake /c/Build/Source/ldc/ -G Ninja -DLLVM_ROOT_DIR='/n/Build/Intermediate/llvm-3.<del class="diffchange diffchange-inline">3</del>-release' -DLIBCONFIG++_INCLUDE_DIR=/local/include -DLIBCONFIG++_LIBRARY=/local/lib/libconfig++.dll.a -DCMAKE_BUILD_TYPE=Release && ninja</tt></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* Build it: <tt>cmake /c/Build/Source/ldc/ -G Ninja -DLLVM_ROOT_DIR='/n/Build/Intermediate/llvm-3.<ins class="diffchange diffchange-inline">4</ins>-release' -DLIBCONFIG++_INCLUDE_DIR=/local/include -DLIBCONFIG++_LIBRARY=/local/lib/libconfig++.dll.a -DCMAKE_BUILD_TYPE=Release && ninja</tt></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Additional dependencies:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Additional dependencies:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* You will probably want to install libcurl in order to use std.net.curl (including as part of the test suite): Just fetch the latest [http://curl.haxx.se/download.html source release], extract it, and run <tt>./configure --prefix=/mingw && make && make install</tt>. Installing to <tt>/mingw</tt> is not strictly necessary, but will save you from manually specifying the path anywhere.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* You will probably want to install libcurl in order to use std.net.curl (including as part of the test suite): Just fetch the latest [http://curl.haxx.se/download.html source release], extract it, and run <tt>./configure --prefix=/mingw && make && make install</tt>. Installing to <tt>/mingw</tt> is not strictly necessary, but will save you from manually specifying the path anywhere.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:LDC]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:LDC]]</div></td></tr>
</table>
Klickverbot
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=3474&oldid=prev
Drey08: Add note about when the last time the instructions were verified to work.
2014-02-04T10:31:53Z
<p>Add note about when the last time the instructions were verified to work.</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 10:31, 4 February 2014</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This page is a step-by-step guide to setting up a development environment for LDC based on MinGW.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This page is a step-by-step guide to setting up a development environment for LDC based on MinGW.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Note:''' These instructions were last verified to work on date '''04 February 2014''', using LDC commit '''704ab30001582dc67084e6ea8967e61e8112d595'''.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The resulting compiler will create 32 bit executables. Due to the different exception handling models, it is not currently possible to use LDC to target 64 bit Windows/MinGW. Running the 32 bit compiler on a 64 bit Windows system is entirely possible, however.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The resulting compiler will create 32 bit executables. Due to the different exception handling models, it is not currently possible to use LDC to target 64 bit Windows/MinGW. Running the 32 bit compiler on a 64 bit Windows system is entirely possible, however.</div></td></tr>
</table>
Drey08
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=3470&oldid=prev
Drey08: Add note about using v4.8.0 of GCC
2014-02-04T09:21:08Z
<p>Add note about using v4.8.0 of GCC</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 09:21, 4 February 2014</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l9" >Line 9:</td>
<td colspan="2" class="diff-lineno">Line 9:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install MSYS and the usual tools like Git:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install MSYS and the usual tools like Git:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download [http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z/download msys+7za+wget+svn+git+mercurial+cvs-rev13.7z] from the MinGW-Builds project, extract it to <tt>C:\MinGW</tt>, add <tt>C:\MinGW\  /mingw</tt> to <tt>C:\MinGW\msys\etc\fstab</tt>.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Download [http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z/download msys+7za+wget+svn+git+mercurial+cvs-rev13.7z] from the MinGW-Builds project, extract it to <tt>C:\MinGW</tt>, add <tt>C:\MinGW\  /mingw</tt> to <tt>C:\MinGW\msys\etc\fstab</tt>.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">#* Ensure that C:\MinGW is in your PATH and make sure you're using v4.8.0 of GCC by checking the output when running '''gcc.exe --version'''. </ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* For your own sanity, you might want to use something like [http://sourceforge.net/projects/console/ Console2] to handle the MinGW shell (set the shell to <tt>C:\MinGW\msys\bin\bash.exe --login -i</tt>).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* For your own sanity, you might want to use something like [http://sourceforge.net/projects/console/ Console2] to handle the MinGW shell (set the shell to <tt>C:\MinGW\msys\bin\bash.exe --login -i</tt>).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install CMake 2.8.11 using the Windows installer from http://www.cmake.org/cmake/resources/software.html, making sure it is on your MSYS <tt>$PATH</tt> (e.g. by letting the installer put it on your <tt>%PATH%</tt>).</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install CMake 2.8.11 using the Windows installer from http://www.cmake.org/cmake/resources/software.html, making sure it is on your MSYS <tt>$PATH</tt> (e.g. by letting the installer put it on your <tt>%PATH%</tt>).</div></td></tr>
</table>
Drey08
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=3198&oldid=prev
Redstar: Add MSYS Makefiles generator.
2013-11-30T22:56:19Z
<p>Add MSYS Makefiles generator.</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 22:56, 30 November 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l15" >Line 15:</td>
<td colspan="2" class="diff-lineno">Line 15:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.3 source: Either use the [http://llvm.org/releases/download.html#3.3 release tarball] (as soon as the release is officially out) or checkout the ''release_33'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.3 source: Either use the [http://llvm.org/releases/download.html#3.3 release tarball] (as soon as the release is officially out) or checkout the ''release_33'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Build and install it: <tt>cd /n/Build/Work/llvm-3.3-release && cmake /c/Build/Source/llvm/ -G Ninja -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=/n/Build/Intermediate/llvm-3.3-release -DCMAKE_BUILD_TYPE=Release && ninja && ninja install</tt>.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Build and install it: <tt>cd /n/Build/Work/llvm-3.3-release && cmake /c/Build/Source/llvm/ -G Ninja -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=/n/Build/Intermediate/llvm-3.3-release -DCMAKE_BUILD_TYPE=Release && ninja && ninja install</tt>.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">#* If you do not want to use Ninja then use <tt>MSYS Makefiles</tt> as CMake generator.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Fetch the [http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz ''libconfig++'' tarball] and install it (<tt>./configure; make; make install</tt>). Don't try an out-of-source build, directory seperator issues tend to break the Makefiles.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Fetch the [http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz ''libconfig++'' tarball] and install it (<tt>./configure; make; make install</tt>). Don't try an out-of-source build, directory seperator issues tend to break the Makefiles.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LDC:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LDC:</div></td></tr>
</table>
Redstar
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=2613&oldid=prev
Klickverbot: LDC category
2013-05-26T22:53:06Z
<p>LDC category</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 22:53, 26 May 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l21" >Line 21:</td>
<td colspan="2" class="diff-lineno">Line 21:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Additional dependencies:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Additional dependencies:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* You will probably want to install libcurl in order to use std.net.curl (including as part of the test suite): Just fetch the latest [http://curl.haxx.se/download.html source release], extract it, and run <tt>./configure --prefix=/mingw && make && make install</tt>. Installing to <tt>/mingw</tt> is not strictly necessary, but will save you from manually specifying the path anywhere.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* You will probably want to install libcurl in order to use std.net.curl (including as part of the test suite): Just fetch the latest [http://curl.haxx.se/download.html source release], extract it, and run <tt>./configure --prefix=/mingw && make && make install</tt>. Installing to <tt>/mingw</tt> is not strictly necessary, but will save you from manually specifying the path anywhere.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:LDC]]</ins></div></td></tr>
</table>
Klickverbot
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=2612&oldid=prev
Klickverbot: Updated guide to newer LLVM/MinGW versions containing the necessary patches
2013-05-26T22:52:21Z
<p>Updated guide to newer LLVM/MinGW versions containing the necessary patches</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 22:52, 26 May 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l3" >Line 3:</td>
<td colspan="2" class="diff-lineno">Line 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The resulting compiler will create 32 bit executables. Due to the different exception handling models, it is not currently possible to use LDC to target 64 bit Windows/MinGW. Running the 32 bit compiler on a 64 bit Windows system is entirely possible, however.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The resulting compiler will create 32 bit executables. Due to the different exception handling models, it is not currently possible to use LDC to target 64 bit Windows/MinGW. Running the 32 bit compiler on a 64 bit Windows system is entirely possible, however.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Note that <del class="diffchange diffchange-inline">several links </del>below refer to <del class="diffchange diffchange-inline">snapshot builds of different packages</del>. <del class="diffchange diffchange-inline">They were the most recent ones available at the time of writing, but newer ones might </del>work <del class="diffchange diffchange-inline">just </del>as well.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Note that <ins class="diffchange diffchange-inline">the </ins>below <ins class="diffchange diffchange-inline">instructions </ins>refer to <ins class="diffchange diffchange-inline">precise package versions and file system paths</ins>. <ins class="diffchange diffchange-inline">The intention behind this is to record a known-good configuration. Newer releases or differing paths will probably </ins>work as well <ins class="diffchange diffchange-inline">''if you know what you are doing''</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">You will probably also want to adapt the paths to your environment.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># Get a ''recent'' build of MinGW-w64 for i686 (i.e. 32 bit) targets, with DWARF2-style exception handling. A fresh build is required because support for the ''SECREL32'' relocation type needed to implement TLS was only recently added to GNU <ins class="diffchange diffchange-inline"><tt></ins>as<ins class="diffchange diffchange-inline"></tt>, and TLS support in the MinGW runtime was broken</ins>:</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* Download and extract [http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.<ins class="diffchange diffchange-inline">8-dw2</ins>-release/i686-w64-mingw32-gcc-dw2-4.<ins class="diffchange diffchange-inline">8</ins>.<ins class="diffchange diffchange-inline">0</ins>-win32_rubenvb.7z/download i686-w64-mingw32-gcc-dw2-4.<ins class="diffchange diffchange-inline">8</ins>.<ins class="diffchange diffchange-inline">0</ins>-win32_rubenvb.7z], renaming the top folder to <tt>C:\MinGW</tt>.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># Get a ''recent'' build of MinGW-w64 for i686 (i.e. 32 bit) targets, with DWARF2-style exception handling. A fresh build is required because support for the ''SECREL32'' relocation type needed to implement TLS was only recently added to GNU as <del class="diffchange diffchange-inline">(tested</del>: <del class="diffchange diffchange-inline">2.23.51.20120920).</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># <ins class="diffchange diffchange-inline">Install MSYS and </ins>the <ins class="diffchange diffchange-inline">usual tools like Git</ins>:</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* Download and extract [http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc<del class="diffchange diffchange-inline">-dw2</del>-4.<del class="diffchange diffchange-inline">7</del>-release/i686-w64-mingw32-gcc-dw2-4.<del class="diffchange diffchange-inline">7</del>.<del class="diffchange diffchange-inline">2-release</del>-win32_rubenvb.7z/download i686-w64-mingw32-gcc-dw2-4.<del class="diffchange diffchange-inline">7</del>.<del class="diffchange diffchange-inline">2-release</del>-win32_rubenvb.7z], renaming the top folder to <tt>C:\MinGW</tt> <del class="diffchange diffchange-inline">(or something similar)</del>.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#<ins class="diffchange diffchange-inline">* </ins>Download [http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-<ins class="diffchange diffchange-inline">rev13</ins>.7z/download msys+7za+wget+svn+git+mercurial+cvs-<ins class="diffchange diffchange-inline">rev13</ins>.7z] from the MinGW-Builds project, <ins class="diffchange diffchange-inline">extract it to <tt>C:\MinGW</tt>, add <tt>C:\MinGW\  /mingw</tt> to <tt>C:\MinGW\msys\etc\fstab</tt>.</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#<del class="diffchange diffchange-inline">* Download </del>the <del class="diffchange diffchange-inline">[http</del>:<del class="diffchange diffchange-inline">//sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/update/i686-w64-mingw32-mingw-w64-update-trunk-20130115_rubenvb.7z/download i686-w64-mingw32-mingw-w64-update-trunk-20130115_rubenvb.7z] update package and extract it over the previous directory.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">#* For </ins>your own sanity, you might want to use something like [http://sourceforge.net/projects/console/ Console2] <ins class="diffchange diffchange-inline">to handle the MinGW shell (set the shell to <tt>C:\MinGW\msys\bin\bash.exe --login -i</tt></ins>).</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># Download <del class="diffchange diffchange-inline">and extract MSYS (e.g. </del>[http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-<del class="diffchange diffchange-inline">rev9</del>.7z/download msys+7za+wget+svn+git+mercurial+cvs-<del class="diffchange diffchange-inline">rev9</del>.7z] from the MinGW-Builds project<del class="diffchange diffchange-inline">)</del>, <del class="diffchange diffchange-inline">open a MSYS shell (for </del>your own sanity, you might want to use something like [http://sourceforge.net/projects/console/ Console2]).</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># Install CMake <ins class="diffchange diffchange-inline">2</ins>.<ins class="diffchange diffchange-inline">8</ins>.<ins class="diffchange diffchange-inline">11 </ins>using the Windows installer from http://www.cmake.org/cmake/resources/software.html, <ins class="diffchange diffchange-inline">making </ins>sure it is on your MSYS <tt>$PATH</tt> <ins class="diffchange diffchange-inline">(e.g. by letting the installer put it on your <tt>%PATH%</tt>)</ins>.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># Install CMake <del class="diffchange diffchange-inline">(e</del>.<del class="diffchange diffchange-inline">g</del>. using the Windows installer from http://www.cmake.org/cmake/resources/software.html<del class="diffchange diffchange-inline">)</del>, <del class="diffchange diffchange-inline">make </del>sure it is on your MSYS <tt>$PATH</tt>.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* ''Optional: Install [http://martine.github.com/ninja/ Ninja] somewhere on your MSYS <tt>$PATH</tt> for shorter compile times, especially on incremental builds. If you don't want to use Ninja, simply change the CMake generator to Makefiles <ins class="diffchange diffchange-inline">(<tt>-G"MSYS Makefiles"</tt>) </ins>and use <tt>make (install)</tt> instead of the <tt>ninja</tt> commands.''</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* ''Optional: Install [http://martine.github.com/ninja/ Ninja] somewhere on your MSYS <tt>$PATH</tt> for shorter compile times, especially on incremental builds. If you don't want to use Ninja, simply change the CMake generator to Makefiles and use <tt>make (install)</tt> instead of the <tt>ninja</tt> commands.''</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"># Fetch the MinGW CRT sources from SVN (<tt>svn co https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk/mingw-w64-crt</tt>). They contain a patch to fix TLS support. Build it (<tt>./configure && make</tt>) and copy the resulting files in ''lib32'' (at least ''libmingw32.a'') to ''C:\MinGW\i686-w64-mingw32\lib''.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LLVM:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LLVM:</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.<del class="diffchange diffchange-inline">2 </del>source: Either use the [http://llvm.org/releases/download.html#3.<del class="diffchange diffchange-inline">2 </del>release tarball] or checkout the ''<del class="diffchange diffchange-inline">release_32</del>'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository<del class="diffchange diffchange-inline">. Don't use SVN trunk (3.3svn), it currently (r174855) has bugs that break compilation with debug info enabled in <tt>-singleobj</tt> mode.</del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.<ins class="diffchange diffchange-inline">3 </ins>source: Either use the [http://llvm.org/releases/download.html#3.<ins class="diffchange diffchange-inline">3 </ins>release tarball] <ins class="diffchange diffchange-inline">(as soon as the release is officially out) </ins>or checkout the ''<ins class="diffchange diffchange-inline">release_33</ins>'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">#* Apply the [https://gist.github.com/klickverbot/4956435 MinGW TLS support] patch. The changes will hopefully arrive in trunk soon</del>.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* Build and install it: <tt>cd /n/Build/Work/llvm-3.<ins class="diffchange diffchange-inline">3</ins>-release && cmake /c/Build/Source/llvm/ -G Ninja -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=/n/Build/Intermediate/llvm-3.<ins class="diffchange diffchange-inline">3</ins>-release -DCMAKE_BUILD_TYPE=Release && ninja && ninja install</tt>.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* Build and install it: <tt>cd /n/Build/Work/llvm-3.<del class="diffchange diffchange-inline">2p1</del>-release && cmake /c/Build/Source/llvm/ -G Ninja -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=/n/Build/Intermediate/llvm-3.<del class="diffchange diffchange-inline">2p1</del>-release -DCMAKE_BUILD_TYPE=Release && ninja && ninja install</tt>.</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Fetch the [http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz ''libconfig++'' tarball] and install it (<tt>./configure; make; make install</tt>). Don't try an out-of-source build, directory seperator issues tend to break the Makefiles.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Fetch the [http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz ''libconfig++'' tarball] and install it (<tt>./configure; make; make install</tt>). Don't try an out-of-source build, directory seperator issues tend to break the Makefiles.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LDC:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LDC:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Clone the repository: <tt>git clone --recursive https://github.com/ldc-developers/ldc.git</tt></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Clone the repository: <tt>git clone --recursive https://github.com/ldc-developers/ldc.git</tt></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* Build it: <tt>cmake /c/Build/Source/ldc/ -G Ninja -DLLVM_ROOT_DIR='/n/Build/Intermediate/llvm-3.<del class="diffchange diffchange-inline">2p1</del>-release' -DLIBCONFIG++_INCLUDE_DIR=/local/include -DLIBCONFIG++_LIBRARY=/local/lib/libconfig++.dll.a</tt></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* Build it: <tt>cmake /c/Build/Source/ldc/ -G Ninja -DLLVM_ROOT_DIR='/n/Build/Intermediate/llvm-3.<ins class="diffchange diffchange-inline">3</ins>-release' -DLIBCONFIG++_INCLUDE_DIR=/local/include -DLIBCONFIG++_LIBRARY=/local/lib/libconfig++.dll.a <ins class="diffchange diffchange-inline">-DCMAKE_BUILD_TYPE=Release && ninja</ins></tt></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Additional dependencies:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Additional dependencies:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* You will probably want to install libcurl in order to use std.net.curl (including as part of the test suite): Just fetch the latest [http://curl.haxx.se/download.html source release], extract it, and run <tt>./configure --prefix=/mingw && make && make install</tt>. Installing to <tt>/mingw</tt> is not strictly necessary, but will save you from manually specifying the path anywhere.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* You will probably want to install libcurl in order to use std.net.curl (including as part of the test suite): Just fetch the latest [http://curl.haxx.se/download.html source release], extract it, and run <tt>./configure --prefix=/mingw && make && make install</tt>. Installing to <tt>/mingw</tt> is not strictly necessary, but will save you from manually specifying the path anywhere.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">[[Category:LDC]]</del></div></td><td colspan="2"> </td></tr>
</table>
Klickverbot
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=2273&oldid=prev
Klickverbot: MinGW tls patch now in SVN
2013-03-11T21:41:38Z
<p>MinGW tls patch now in SVN</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 21:41, 11 March 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l13" >Line 13:</td>
<td colspan="2" class="diff-lineno">Line 13:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install CMake (e.g. using the Windows installer from http://www.cmake.org/cmake/resources/software.html), make sure it is on your MSYS <tt>$PATH</tt>.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Install CMake (e.g. using the Windows installer from http://www.cmake.org/cmake/resources/software.html), make sure it is on your MSYS <tt>$PATH</tt>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* ''Optional: Install [http://martine.github.com/ninja/ Ninja] somewhere on your MSYS <tt>$PATH</tt> for shorter compile times, especially on incremental builds. If you don't want to use Ninja, simply change the CMake generator to Makefiles and use <tt>make (install)</tt> instead of the <tt>ninja</tt> commands.''</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* ''Optional: Install [http://martine.github.com/ninja/ Ninja] somewhere on your MSYS <tt>$PATH</tt> for shorter compile times, especially on incremental builds. If you don't want to use Ninja, simply change the CMake generator to Makefiles and use <tt>make (install)</tt> instead of the <tt>ninja</tt> commands.''</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># Fetch the MinGW CRT sources from SVN (<tt>svn co https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk/mingw-w64-crt</tt>)<del class="diffchange diffchange-inline">, apply the [https://gist</del>.<del class="diffchange diffchange-inline">github</del>.<del class="diffchange diffchange-inline">com/klickverbot/4956469 TLS offset patch] and build </del>it (<tt>./configure && make</tt>)<del class="diffchange diffchange-inline">, </del>copy the resulting files in ''lib32'' (at least ''libmingw32.a'') to ''C:\MinGW\i686-w64-mingw32\lib''.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># Fetch the MinGW CRT sources from SVN (<tt>svn co https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk/mingw-w64-crt</tt>). <ins class="diffchange diffchange-inline">They contain a patch to fix TLS support</ins>. <ins class="diffchange diffchange-inline">Build </ins>it (<tt>./configure && make</tt>) <ins class="diffchange diffchange-inline">and </ins>copy the resulting files in ''lib32'' (at least ''libmingw32.a'') to ''C:\MinGW\i686-w64-mingw32\lib''.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LLVM:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LLVM:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.2 source: Either use the [http://llvm.org/releases/download.html#3.2 release tarball] or checkout the ''release_32'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository. Don't use SVN trunk (3.3svn), it currently (r174855) has bugs that break compilation with debug info enabled in <tt>-singleobj</tt> mode.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.2 source: Either use the [http://llvm.org/releases/download.html#3.2 release tarball] or checkout the ''release_32'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository. Don't use SVN trunk (3.3svn), it currently (r174855) has bugs that break compilation with debug info enabled in <tt>-singleobj</tt> mode.</div></td></tr>
</table>
Klickverbot
https://wiki.dlang.org/?title=Building_LDC_on_MinGW_x86&diff=2089&oldid=prev
Klickverbot at 02:14, 15 February 2013
2013-02-15T02:14:43Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 02:14, 15 February 2013</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l17" >Line 17:</td>
<td colspan="2" class="diff-lineno">Line 17:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.2 source: Either use the [http://llvm.org/releases/download.html#3.2 release tarball] or checkout the ''release_32'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository. Don't use SVN trunk (3.3svn), it currently (r174855) has bugs that break compilation with debug info enabled in <tt>-singleobj</tt> mode.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Fetch the LLVM 3.2 source: Either use the [http://llvm.org/releases/download.html#3.2 release tarball] or checkout the ''release_32'' branch of the SVN/Git (http://llvm.org/git/llvm.git) repository. Don't use SVN trunk (3.3svn), it currently (r174855) has bugs that break compilation with debug info enabled in <tt>-singleobj</tt> mode.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Apply the [https://gist.github.com/klickverbot/4956435 MinGW TLS support] patch. The changes will hopefully arrive in trunk soon.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>#* Apply the [https://gist.github.com/klickverbot/4956435 MinGW TLS support] patch. The changes will hopefully arrive in trunk soon.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>#* Build and install it: <tt>cd /n/Build/Work/llvm-3.2p1-release && /c/Build/Source/llvm/ -G Ninja -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=/n/Build/Intermediate/llvm-3.2p1-release -DCMAKE_BUILD_TYPE=Release && ninja && ninja install</tt>.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>#* Build and install it: <tt>cd /n/Build/Work/llvm-3.2p1-release && <ins class="diffchange diffchange-inline">cmake </ins>/c/Build/Source/llvm/ -G Ninja -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX=/n/Build/Intermediate/llvm-3.2p1-release -DCMAKE_BUILD_TYPE=Release && ninja && ninja install</tt>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Fetch the [http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz ''libconfig++'' tarball] and install it (<tt>./configure; make; make install</tt>). Don't try an out-of-source build, directory seperator issues tend to break the Makefiles.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Fetch the [http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz ''libconfig++'' tarball] and install it (<tt>./configure; make; make install</tt>). Don't try an out-of-source build, directory seperator issues tend to break the Makefiles.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LDC:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># LDC:</div></td></tr>
</table>
Klickverbot