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

Get the test suite running on Windows #231

merged 11 commits into from Sep 14, 2018


Copy link

pkgw commented Sep 14, 2018

At least, on my test rig. Will AppVeyor like it???

pkgw added 11 commits Sep 14, 2018
This macro was being used in a gross way to hide an offset in the array
indexing. Make it a bit clearer what's going on, and importantly change some
magic hardcoded numbers into symbolic constants. Also fix an off-by-one in the
size that was exposed in the port to Winows.
Could probably remove some of these #includes outright, but at the moment it's
easier just to #ifdef them.
In particular, on Windows we force static linking, since the DLL loading story
is *gross*.
First, there's a quirk about file locking that we need to work around. Second,
we need to add a racy check to the code that saves files under their MD5sum
names, since on Windows we can't rename one file onto another file that's
Windows provides a getenv() call but it seems that it only looks at
libc-internal data structures, such that we don't see the values of
environment variables changed at runtime through Rust. This breaks the test
suite. So, use GetEnvironmentVariable instead.
Of course, all file I/O should be going through Rust, so *really* we should be
ripping this code out. But I want to get us working on Windows and this seems
like the fastest path forward.
This is more code that should probably disappear anyway -- I think it only
exists for shelling out to Ghostscript and other stuff along those lines that
we definitely don't want to do in Tectonic. It used <dirent.h> and so was
going to be annoying to compile on Windows, so, sayonara.
This shelled out to Ghostscript to calculate bounding boxes or something.
There's no way we wanted to do that anyway, so kill the code. It wouldn't
build on Windows due to the use of popen().
@pkgw pkgw changed the title Get the test suite running on MSVC Get the test suite running on Windows Sep 14, 2018
@pkgw pkgw merged commit 1ac491d into tectonic-typesetting:master Sep 14, 2018
5 checks passed
5 checks passed
ci/circleci Your tests passed on CircleCI!
codecov/patch 42.66% of diff hit (target 37.96%)
codecov/project 38.01% (+0.05%) compared to 5cdeb68
continuous-integration/appveyor/pr AppVeyor build succeeded
continuous-integration/travis-ci/pr The Travis CI build passed
@pkgw pkgw deleted the pkgw:msvc branch Sep 14, 2018
@pkgw pkgw mentioned this pull request Sep 14, 2018
Mrmaxmeier added a commit to Mrmaxmeier/tectonic that referenced this pull request Dec 13, 2019
fix JPEG_get_iccp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

1 participant
You can’t perform that action at this time.