Difference between revisions of "Win64 port"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Created page with "This documents progress made in porting AOO to run on 64 bit Windows. This has traditionally been a difficult platform to port to due to Windows uniquely being a LLP64 platfo...")
 
Line 14: Line 14:
 
! Fixed in SVN revision
 
! Fixed in SVN revision
 
|-
 
|-
| 2018/02/03
+
| 2018/03/03
 
| Java 9 is not detected by oowintool.
 
| Java 9 is not detected by oowintool.
 
| Patched oowintool to detect it.
 
| Patched oowintool to detect it.
 
| 1825763
 
| 1825763
 
|-
 
|-
 +
| 2018/03/04
 +
| dmake's old config.guess can't detect Cygwin64.
 +
| Patched main/bootstrap.1 to overwrite its config.guess with our own newer one.
 +
| 1825798
 +
|-
 +
| 2018/03/04
 +
| dmake uses Cygwin API functions that were deprecated on Cygwin32 and have been removed in Cygwin64.
 +
| Added a patch in main/solenv/src to change dmake to use the replacement Cygwin APIs, and patched main/bootstrap.1 to apply the patch during ./bootstrap.
 +
| 1825798
 
|}
 
|}

Revision as of 06:53, 4 March 2018

This documents progress made in porting AOO to run on 64 bit Windows.

This has traditionally been a difficult platform to port to due to Windows uniquely being a LLP64 platform, whereas *nix is LP64; ie. sizeof(long) == 32 on Win64, but 64 on *nix. Every "long" everywhere in the codebase may have to potentially be replaced, and every conversion between long and pointer will definitely need replacement. A UNO bridge for LLP64 will also be necessary.

It's not all doom and gloom though. The *nix 64 bit port already must have eliminated conversions between int and pointer, making our life easier. Java, Python, StarBasic and other languages with types of known size should be ok.

So starting with Windows 7 64 bit, Cygwin64, 64 bit Java 9, Ant 1.10.2, let's push on and see how far we get.

Date Issue Resolution Fixed in SVN revision
2018/03/03 Java 9 is not detected by oowintool. Patched oowintool to detect it. 1825763
2018/03/04 dmake's old config.guess can't detect Cygwin64. Patched main/bootstrap.1 to overwrite its config.guess with our own newer one. 1825798
2018/03/04 dmake uses Cygwin API functions that were deprecated on Cygwin32 and have been removed in Cygwin64. Added a patch in main/solenv/src to change dmake to use the replacement Cygwin APIs, and patched main/bootstrap.1 to apply the patch during ./bootstrap. 1825798
Personal tools