-
Notifications
You must be signed in to change notification settings - Fork 165
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
Support Windows natively #32
Comments
For context, I have not been planning to work on Windows support myself — there’s just too much to do. I would love if you and/or others could work on this, though! I have to say that I expect that supporting Windows will be difficult. A lot of the code should be portable, but there are several parts that I know rely on Unix-y semantics in various ways, and I'm sure there are many parts that don't. And there are the various dependencies on Unix-y font and image libraries. I very much want to support your investigations — please get in touch with questions, etc. |
Windows Subsytem for Linux is quite usable now. I suggest anyone who wants to use this on Windows to try that first. If it works it'll save a lot of work adding Windows(win32) support. |
I can confirm it works with the Windows Subsystem for Linux. Just follow the Linux installation instructions. |
Oh wow! @tawalaya or @MikeChou I would be very indebted if one or both of you could write a short set of instructions that I could add to the website, since I'm not a Windows user. You could write them here or even submit as a PR to the website repository. |
The only extra step you need to do in order to use the already existing guide on the website is to enable the Windows subsystem for Linux. I recommend this guide https://msdn.microsoft.com/en-us/commandline/wsl/install_guide After that, you can open cmd or PowerShell, type bash and follow all other steps you already provide.
|
WSL is not Windows support. I believe that many will not be able to install it and most will not be willing to install it. Besides which, I specifically want Tectonic for embedding in a regular Windows app. WSL isn’t an option there! |
I am working on MSVC support. My work will probably make MinGW easier to support overall, but I’m not particularly interested in it as a target. |
@pkgw Regarding temporary files you can use this crate https://github.com/samgiles/rs-mktemp instead of mkstemp-rs, as the latter is a wrapper over libc mkstemp that is not supported in windows. |
@llde thanks for the tip. |
@chris-morgan By the way, assuming that this does indeed turn out to be a large undertaking — both small PRs and quick reports on the challenges you encounter would be very helpful for chipping away at the larger goal. |
I finally got it to the point of linking failure last night, with local copies of fontconfig-2.12.3, freetype-2.8, graphite2-1.3.10, ICU from xetex-code and a patch to harfbuzz-sys (accepted upstream) to use its bundled header files, plus various minor changes to the code in this repository. Of course, even if I got it linking successfully it probably wouldn’t work, but I might be closer. I expect I’ll find some people that have a clearer idea of what to do in the #rust and #servo IRC channels. I’m not clear about whether XeTeX itself builds properly under MSVC. I’ve seen some indications that it does, but then it’s still using makefiles and autotools and so forth, so ultimately I’m just confused. I’m working on my |
Nice! One of my goals is for Tectonic to get all of its dependencies through libraries like |
@chris-morgan, I can see that you've already started the work on the issue. The task seems very big. Is it possible to somehow split it to multiple tasks and start delegating them? I, for instance, would like to help, if someone could tell me what's the current status and what are the main directions for this to move forward. |
Fixed in #231 ! |
I would love to use this for a project that I’ve been stalled on for quite some time, because deciding on a good layout/text rendering stack was too hard and rolling my own was taking too long. If it looks like this can really suit my needs I’ll become a contributor to this project and be forever grateful to you for making it in the first place!
Windows support is an essential for this project of mine.
I’ll look into this myself in around eight hours’ time if you don’t earlier.
The text was updated successfully, but these errors were encountered: