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

Add build instructions for OpenJDK8 Windows 64-bit #857

Merged
merged 3 commits into from
Mar 7, 2018

Conversation

SueChaplain
Copy link
Contributor

@SueChaplain SueChaplain commented Dec 20, 2017

Add section to existing detailed build instructions
to cover building a Windows 64-bit binary. See
issue #845.

[ci skip]

Closes #845

Signed-off-by: Sue Chaplain sue_chaplain@uk.ibm.com

@pshipton
Copy link
Member

please make the same update as #924, once this change is merged

@pshipton
Copy link
Member

Please fix the copyright

@SueChaplain
Copy link
Contributor Author

Copyright fixed

Add section to existing detailed build instructions
to cover building a Windows 64-bit binary. See
issue eclipse-openj9#845.

Modified commit to fix image directory names, which
are different from version 9. See issue
eclipse-openj9/openj9-website#56
raised for the website. Applies here too.

Modified commit to update copyright and add the
Windows debugging tools and VS service pack
additions identified by Violetta.

[ci skip]

Issue eclipse-openj9#845

Signed-off-by: Sue Chaplain <sue_chaplain@uk.ibm.com>
```
set INCLUDE ="C:\Program Files\Debugging Tools for Windows (x64)\sdk\inc";%INCLUDE%
set LIB="C:\Program Files\Debugging Tools for Windows (x64)\sdk\lib";%LIB%;
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I tried to follow these instructions having quotes here, either around just the path being prepended or around the whole thing made OpenJDK's configure fail. Getting rid of the quotes made it happy.

cd c:\temp
msbuild.exe C:/temp/freetype/builds/windows/vc2010/freetype.vcxproj /p:PlatformToolset=v100 /p:Configuration="Release Multithreaded" /p:Platform=x64 /p:ConfigurationType=DynamicLibrary /p:TargetName=freetype /p:OutDir="C:/temp/freetype/lib64/" /p:IntDir="C:/temp/freetype/obj64/" > freetype.log
msbuild.exe C:/temp/freetype/builds/windows/vc2010/freetype.vcxproj /p:PlatformToolset=v100 /p:Configuration="Release Multithreaded" /p:Platform=x64 /p:ConfigurationType=StaticLibrary /p:TargetName=freetype /p:OutDir="C:/temp/freetype/lib64/" /p:IntDir="C:/temp/freetype/obj64/" >> freetype.log
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that this is how OpenJDK9 builds freetype as well, but it doesn't really do what was intended. This is building both a dynamic library and a static library, and later linking against the static library; the DLL is completely unused. The intention seems to be to build a DLL and the corresponding import library, not a static library. The MSVC linker produces import libraries for DLLs automatically when DLLs export things, but this version of freetype doesn't export any symbols. Looks like it's fixed in later versions and the public API is declared with __declspec(dllexport), but for this one either the source would need to be modified or an exports file declaring some symbols would need to be fed to the linker.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ymanton. The build process has moved from using VisualStudio to mingw, which would change this part, but I've yet to get input on how mingw builds the Freetype stuff. There's more discussion in the pull request.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build process did not move from using VisualStudio to mingw. The build still uses VisualStudio but mingw must be present because its used to compile ~3 files.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ymanton do the instructions work, even if not perfect, or are changes to the instructions required to make it work?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aside from the quotes issue mentioned above that should be changed, yes they work.

There's a bug in the OMR build files that bit me, but it depends on what your PATH is set to and I submitted a PR to them to fix that.

@SueChaplain
Copy link
Contributor Author

@pshipton I updated the instructions per @ymanton, so this could be merged now. For some reason the Travis-CI build isn't started ... not sure whether this is a matter of waiting or whether it needs restarting? Thoughts?

@pshipton
Copy link
Member

pshipton commented Mar 7, 2018

I see the travis-ci now. Note the travis-ci tests compiling OpenJ9 and isn't affected by this change. In the future, [ci skip] can be added to every commit comment to avoid it, and save some machine time.

@pshipton pshipton merged commit 2778aeb into eclipse-openj9:master Mar 7, 2018
@SueChaplain SueChaplain deleted the jdk8onwin64 branch April 30, 2018 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants