unowinreg.dll and Win64
rene at debian.org
Sat Nov 28 16:49:39 UTC 2020
I am currently doing some cleanups in my packages and I noticed a
On Windows 64bit, what is unowinreg.dll supposed to be?
A 64 bit dll? A 32 bit dll?
And what is it supposed to be on Linux x86_64 nowadays?
Currently it is (also in TDF) like the following:
- Windows builds it during the normal build
(odk/Library_unowinreg.mk). I don't see any special flags so I
*assume* it is built as 32bit .dll on Win32 and as 64bit .dll
- on Linux you either
- (per default) use the 32bit(!) pre-built
in make fetch
- build it via the mingw cross-compiler and use that one
(with it checking
i686-pc-mingw32-g++ i686-w64-mingw32-g++,false) 
So if Windows builds it per default (without any extra flags afaics)
that would mean the 64bit windows builds builds a 64bit .dll and thus we
need to adapt this, too for Linux 64bit packages?
As probably Java will refuse to load the 32bit library on 64bit systems?
Which then would mean we'd put it into a package which is
architecture-specific and differs between i386 and amd64 (which isn't
the case on Linux yet as even on amd64 - as shown above - it gets the
$ file 185d60944ea767075d27247c3162b3bc-unowinreg.dll
185d60944ea767075d27247c3162b3bc-unowinreg.dll: PE32 executable (DLL)
(console) Intel 80386, for MS Windows
my packaging does --with-mingw-cross-compiler=i686-w64-mingw32-g++
and thus also builds a 32bit .dll, 64bit would be x86_64-w64-mingw32-g++)
More information about the LibreOffice