-
-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows installer: install mingw libs and improve VS selection #281
Conversation
create_dmd_release/build_all.d
Outdated
@@ -487,6 +487,9 @@ int main(string[] args) | |||
extract(cacheDir~"/"~libCurl, workDir~"/windows/old-dmd/"); | |||
// Get updated OMF import libraries | |||
extract(cacheDir~"/"~omflibs, workDir~"/windows/old-dmd/dmd2/windows/lib/"); | |||
|
|||
// grab mingw sources | |||
run("git clone --depth 1 --branch 5.0-active https://git.code.sf.net/p/mingw/mingw-org-wsl.git " ~ workDir ~ "/clones/mingw"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about checking out a specific tag or commit here to avoid breakage if the branch gets updated?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about checking out a specific tag or commit here to avoid breakage if the branch gets updated?
Maybe better, but 5.0-active is a release branch with only little activity, the real work seems to happen on 5.1-trunk.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah I just saw the -active
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's use a cacheable tarball (for a fixed commit), just had lots of issues with sourceforge's git. Not too convinced that their service is reliable.
Looks great @rainers. Saw it a little late, I'd rather target 2.079 with this change, since there isn't much time for testing the installer. Maybe select and mark 2017 as
We do I get the binaries from? Should we handle this like curl? |
Yeah, unfortunately this didn't get enough attention. So targetting next release is fine with me. A nightly build having the mingw extras would be nice. Maybe we can set an Appveyor task to build the installer.
It's already the default but moving it into first place, too, makes sense.
Where do you get these from? I see different sources:
lld-link.exe can be made available for download similarily. IIRC you recently built it yourself. If you want, I can do that, too (I'm usually building from LLVM master). |
That was quite messy IIRC.
Even better, let's put the manual in the wiki and/or do it via a build script.
Then let's put it to http://downloads.dlang.org/other/
That doesn't really fit into an automated release building. A task to build lld would work fine though. |
I'll look into automating the lld-link build in the next couple of days. |
Building lld is described on the LLVM page: https://lld.llvm.org/windows_support.html. TBH it didn't work out right so simple for me, too, but I think that happened because I was trying to integrate it with my current working copy of LLVM.
How about creating a new "extras" file there, the stuff in the semitwist file are pretty dated. I wouldn't mind if the 20 year old "debugger" in there would be removed, too.
I'm currently using the latest in the hope a couple of issues are resolved. Last time I checked /MAP is not supported (/lldmap exists instead with different output format) and quotes in the library search path are not removed.
I suspect building LLD from scratch will take too long for an appveyor job. |
Just rebuilt locally with a quad-core mobile i7 and it took about 23 minutes without the cloning. Appveyor seems to have 2 cores, could be close for the timeout on appveyor (50 miutes IIRC). |
Takes about 40 minutes: #286 |
e9f717a
to
1306c50
Compare
create_dmd_release/build_all.d
Outdated
@@ -487,6 +487,9 @@ int main(string[] args) | |||
extract(cacheDir~"/"~libCurl, workDir~"/windows/old-dmd/"); | |||
// Get updated OMF import libraries | |||
extract(cacheDir~"/"~omflibs, workDir~"/windows/old-dmd/dmd2/windows/lib/"); | |||
|
|||
// grab mingw sources | |||
run("git clone --depth 1 --branch 5.0-active https://git.code.sf.net/p/mingw/mingw-org-wsl.git " ~ workDir ~ "/clones/mingw"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having issues with sourceforge git reliability (right now). Any mirrors?
create_dmd_release/build_all.d
Outdated
@@ -487,6 +487,9 @@ int main(string[] args) | |||
extract(cacheDir~"/"~libCurl, workDir~"/windows/old-dmd/"); | |||
// Get updated OMF import libraries | |||
extract(cacheDir~"/"~omflibs, workDir~"/windows/old-dmd/dmd2/windows/lib/"); | |||
|
|||
// grab mingw sources | |||
run("git clone --depth 1 --branch 5.0-active https://git.code.sf.net/p/mingw/mingw-org-wsl.git " ~ workDir ~ "/clones/mingw"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's use a cacheable tarball (for a fixed commit), just had lots of issues with sourceforge's git. Not too convinced that their service is reliable.
- add mingw libraries to installation - add installer page to select VS installation - no need to patch sc.ini as dmd detects VS
d783b92
to
898cbe9
Compare
I see, this depends on #289 now. |
- build on appveyor using the build-mingw-libs and build-lld branches - also fixes Issue 15131 - curl.lib is not available in 32 bit mscoff format
898cbe9
to
04d3fc6
Compare
Thanks for taking care of these. |
@MartinNowak You will still have to add lld-link.exe to the extra folders.
The additional page only appears if no VS installation is detected and looks like this: