Skip to content
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

Set VS/VC build environment variables automatically when cross-compiling on Windows #23793

Closed
jdm opened this issue Jul 17, 2019 · 2 comments
Closed

Comments

@jdm
Copy link
Member

@jdm jdm commented Jul 17, 2019

Right now making a local arm64 build requires copying

"VCINSTALLDIR_SERVO": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\",
"VisualStudioVersion": "15.0",
"WindowsSdkDir": "C:\\Program Files (x86)\\Windows Kits\\10\\",
into your build environment. We should automate this.

@highfive
Copy link

@highfive highfive commented Jul 17, 2019

@jdm
Copy link
Member Author

@jdm jdm commented Jul 17, 2019

Curiously, when I set these before building and perform a clean build, I encounter linking errors from crates that try to link Windows libraries early on the build. I'm not sure why this doesn't happen in CI.

@jdm jdm added this to To do in Windows ARM64 Jul 22, 2019
@jdm jdm mentioned this issue Jul 23, 2019
4 of 4 tasks complete
bors-servo added a commit that referenced this issue Jul 23, 2019
Make Windows arm64 easy

* Add a ServoApp project configuration
* Add a `--win-arm64` build flag (now `python mach build -r --win-arm64 --uwp`)
* Automatically set up GStreamer LIB environment
* Yell if the cross-compilation environment isn't set up correctly
* Automatically find the Visual C++ installation for DLL packaging, rather than relying on an environment variable

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23793 and fix #23795
- [x] There are tests for these changes
bors-servo added a commit that referenced this issue Jul 23, 2019
Make Windows arm64 easy

* Add a ServoApp project configuration
* Add a `--win-arm64` build flag (now `python mach build -r --win-arm64 --uwp`)
* Automatically set up GStreamer LIB environment
* Yell if the cross-compilation environment isn't set up correctly
* Automatically find the Visual C++ installation for DLL packaging, rather than relying on an environment variable

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23793 and fix #23795
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23841)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Jul 23, 2019
Make Windows arm64 easy

* Add a ServoApp project configuration
* Add a `--win-arm64` build flag (now `python mach build -r --win-arm64 --uwp`)
* Automatically set up GStreamer LIB environment
* Yell if the cross-compilation environment isn't set up correctly
* Automatically find the Visual C++ installation for DLL packaging, rather than relying on an environment variable

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23793 and fix #23795
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23841)
<!-- Reviewable:end -->
@jdm jdm moved this from To do to In progress in Windows ARM64 Jul 24, 2019
bors-servo added a commit that referenced this issue Jul 25, 2019
Make Windows arm64 easy

* Add a ServoApp project configuration
* Add a `--win-arm64` build flag (now `python mach build -r --win-arm64 --uwp`)
* Automatically set up GStreamer LIB environment
* Yell if the cross-compilation environment isn't set up correctly
* Automatically find the Visual C++ installation for DLL packaging, rather than relying on an environment variable

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23793 and fix #23795
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23841)
<!-- Reviewable:end -->
Windows ARM64 automation moved this from In progress to Done Jul 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Windows ARM64
  
Done
Linked pull requests

Successfully merging a pull request may close this issue.

2 participants
You can’t perform that action at this time.