diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2020-12-03 08:12:23 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2020-12-03 15:01:00 +0100 |
commit | 01241113947fc7bd7f7b765dd897bb023c8ca99c (patch) | |
tree | c224f9afa42e961d9b22fd66530276ed7b7ae410 /odk/Module_odk.mk | |
parent | 8e3dc5b81d1a7486a6787afef918e9d2b74542ef (diff) |
Replace unowinreg.dll with execution of `reg QUERY`
The SDK's <https://wiki.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Java/
Transparent_Use_of_Office_UNO_Components> on all platforms included the Windows-
specific unowinreg.dll in generated jars (so that those jars, when distributed
to a Windows environment, would find a LO installation by inspecting the Windows
registry). That unowinreg.dll was originally built as a 32-bit DLL (though when
building a 64-bit Windows LO, it happened to be built as a 64-bit DLL). For
non-Windows LO builds, it could either be built locally with a MinGW toolchain
(--enable-build-unowinreg) or downloaded from dev-www.libreoffice.org.
However, that had various issues:
For one, unowinreg.dll was not necessarily available in a distributed jar as a
64-bit DLL for use with a 64-bit JRE on Windows. (Theoretically, running such a
jar with a 32-bit JRE to access a 64-bit LO installation's URE jars could have
worked. But practically, those URE jars in turn require native DLLs, which
would then not have been available as 32-bit DLLs for use in the 32-bit JRE.)
For another, at least the unowinreg.dll resulting from --enable-build-unowinreg
on Fedora 33 would have had a dependency on libgcc_s_dw2-1.dll that would
generally not have been available in a target Windows environment.
There appears to be no pure Java way to read the Windows registry, but instead
of using a native code DLL for that, it appears to work just as well to call out
to reg.exe and parse its output.
This removes the --enable-build-unowinreg and --with-mingw-cross-compiler
configuration options. (The sole use of the MinGW toolchain in LO was for
building unowinreg.dll.)
Change-Id: I3283ea38c884d3221a205e5ab6ec99a2691ef474
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107140
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
Diffstat (limited to 'odk/Module_odk.mk')
-rw-r--r-- | odk/Module_odk.mk | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/odk/Module_odk.mk b/odk/Module_odk.mk index 120d8a4c01bf..693885322115 100644 --- a/odk/Module_odk.mk +++ b/odk/Module_odk.mk @@ -41,13 +41,10 @@ endif ifneq ($(ENABLE_JAVA),) $(eval $(call gb_Module_add_targets,odk,\ - $(if $(and $(BUILD_UNOWINREG),$(filter GCC,$(COM))),CustomTarget_unowinreg)\ CustomTarget_classes \ CustomTarget_javadoc \ GeneratedPackage_odk_javadoc \ GeneratedPackage_uno_loader_classes \ - $(if $(filter WNT,$(OS)),Library_unowinreg) \ - Package_unowinreg \ )) endif |