-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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: package system runtime dependencies #9662
Conversation
@@ -155,6 +165,12 @@ def hash_file(x): | |||
h.update(open(x, "rb").read()) | |||
return scrub(h.hexdigest()) | |||
|
|||
def find_on_path(file_name): | |||
for dir in os.environ["PATH"].split(';'): |
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.
This seems like it would only dubiously work on anything other than windows.
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.
You mean PATH vs LIBPATH and the path separator? Yes, but this only needs to work on WIndows. I don't see the point of getting it to work on all platforms currently.
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.
I was thinking :
vs ;
. Can you add a comment saying that this is windows-specific?
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.
Python has os.pathsep
, which is simple enough.
Has this been tested to make sure that the behavior is as expected? Also, this should cause snapshots to continue to work regardless of what mingw version the snapshot was built on, right? |
Let's think a minute about the licensing issues here. |
OK, since we're going to be distributing binaries of GPL code we need to include the license and a link to the source code. So here's what I think we should do:
|
The dlls on the win1 bot don't have a version in their metadata, but here are their dates:
|
I believe these are the sources for our dlls: http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.5.2-1/ |
@brson: how about this? |
@vadimcn thanks |
This will make sure that system files that rust binaries depend on in Windows get packaged into stage0 snapshots as well as into Windows installer. Currently these include `libgcc_s_dw2-1.dll`, `libstdc++-6.dll` and `libpthread-2.dll`. Note that the latter will need to be changed to `pthreadGC2.dll` once Windows build bots get upgraded to mingw 4.0 Closes #9252 Closes #5878 Closes #9218 Closes #5712
Now that rust-lang#9662 is merged, we should be much more easily bootstrappable on windows now.
Now that #9662 is merged, we should be much more easily bootstrappable on windows now.
`result_large_err` show largest variants in err msg fixes rust-lang#9538 changelog: Sugg: [`result_large_err`]: Now show largest enum variants in error message
This will make sure that system files that rust binaries depend on in Windows get packaged into stage0 snapshots as well as into Windows installer.
Currently these include
libgcc_s_dw2-1.dll
,libstdc++-6.dll
andlibpthread-2.dll
. Note that the latter will need to be changed topthreadGC2.dll
once Windows build bots get upgraded to mingw 4.0Closes #9252
Closes #5878
Closes #9218
Closes #5712