Age | Commit message (Collapse) | Author |
|
See https://www.gnu.org/software/make/manual/make.html#Conditional-Syntax
Change-Id: Iddd4ee2d42c83e6d661ef7d91c93a06caf307001
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141708
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
* Client code must replace uses of idlc and regmerge with uses of unoidl-write,
see the changes to odk/examples/ and ure/source/uretext/ in
40f2aee6584eafcf4cd1d95fcf1f775e5435440d "Provide unoidl-write also for the
SDK" for examples.
* The new types.rdb format is not compatible with LibreOffice < 4.1. Clients
generating extensions containing such files are advised to use appropriate
LibreOffice-minimal-version elements.
* For compatibility with old extensions, reading the legacy types.rdb format is
still supported.
* The SDK no longer ships an idl/ sub-directory containing the udkap and offapi
.idl files (as, unlike idlc, unoidl-write does not need them).
odk/config/cfgWin.js had to be adapted to look (somewhat arbitrarily) for an
examples/ sub-directory instead of idl/ when checking for "an sdk folder".
gb_UnoApi_package_idlfiles became unused and has been removed.
* The idlc and regmerge executables have been removed. Module idlc has been
removed except for idlc/test/parser/, which is also used by
CustomTarget_unoidl/unoidl-write_test, and which may eventually be moved into
module unoidl. Module external/ucpp and the corresponding configure options
have also been removed.
Change-Id: I42a0231699b863b5ebe2bee63bc32c8f79278cc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122363
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I95c78d1346d354b755aeecaa1e6c9d789be0b693
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132905
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|
|
...after the new types.rdb format that unoidl-write generates has been used
internally since LibreOffice 4.1 in 2013; following up on
6db34b6b33ba8e3b13683efd05df8441b87e9c92 "Directly build UNOIDL .rdb files from
.idl files" and its "The legacy tools idlc, regcompare, regmerge, and regview
are still contained in the URE or SDK for now."
The tools idlc and regmerge are deprecated but still shipped in the SDK for now.
The plan is to drop them completely for LO 7.5.
odk/examples/ and ure/source/uretest/ are adapted to use unoidl-write instead of
idlc and regmerge:
* unoidl-write does not use a C preprocessor and the # directives in .idl files,
it supports reading a single .idl file (containing an arbitrary number of
declarations) or a directory tree where each directory corresponds to a UNOIDL
module of the same name and each .idl file contains the declaration of the
(non-module) UNOIDL entity of the same name. For some of the odk/examples/,
that required moving individual .idl files into sub-directories named after
the respective modules. In odk/settings/std.mk, definitinos of IDL and
REGMERGE have been replaced with a new UNOIDLWRITE.
* unoidl-write always enforces reserved UNOIDL identifier restrictions (see
04af4e4f55f3ef319a78edd4d0109e2e7eba90b6 "[API CHANGE] Fix all bad UNOIDL
identifiers across offapi" and 620179240670bd00f60555f1f5c5b0268492f97c
"Enforce the UNOIDL identifier scheme") (which idlc only enforced optionally
with -cid -we). That required renaming "my_module" in
odk/examples/DevelopersGuide/Components/CppComponent/.
* The new types.rdb format is not compatibly with LibreOffice < 4.1. Clients
generating extensions containing such files are advised to use appropriate
LibreOffice-minimal-version elements.
Change-Id: I1a248fd96e86ecbf407f829bc100d44bfe7f4e7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130533
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
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
|
|
On Windows classical "cd" command does not change drive automatically.
So if OO_SDK_OUT folder located on another drive than SDK_HOME we
will receive confusing buid errors.
To avoid this for Windows configuration we should use "cd /d".
Change-Id: I22908d49fc915d3a834972357934349ba82bbec5
Reviewed-on: https://gerrit.libreoffice.org/80827
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
This was a somehow confused & partially commented-out setup
Change-Id: Iad5ef6721cda6f85ded3296650ee9a7df9ec59fd
Reviewed-on: https://gerrit.libreoffice.org/81333
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I7fbe1963aff666205dbc9405e94d6093fb9a5a48
Reviewed-on: https://gerrit.libreoffice.org/77804
Reviewed-by: Vasily Melenchuk <vasily.melenchuk@cib.de>
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
In this situation gcc/g++ will default to x86_64, so pass the "-m32"
flag to produce x86 binaries.
Change-Id: Ie31cd4240e353db606621cb03107ce03a74cfbef
|
|
since we can't use HAVE_JAVA= here since it's in a different environment and
we don't know the Java version just do the -L. Doesn't do harm if Java
has the "old" path
Change-Id: I2f912c417597d3b14e570f362f2cfc2df5954108
|
|
... which were missing since ~ ever but now break the odk_build-examples test
with /usr/bin/ld: cannot find -ljawt
Change-Id: Ie504ce0c8e21c7d58f1b7e591505940a2f80a2ea
|
|
Only on macOS, the SDK used to expect javac etc. in a Commands sub-dir (which
Apple's JDK 1.6.0 has but Oracle's JDK 1.8.x don't). However, at least both
Apple's latest JDK 1.6.0 (as available via <https://support.apple.com/kb/DL1572>
"Download Java for OS X 2015-001") and any recent Oracle JDK 1.8.x (like
jdk1.8.0_121.jdk) have a Home sub-dir that contains a "standard" sub-tree with
bin sub-dir etc., like on other platforms. So consistently make the SDK use
that instead.
This removes the JAVABIN Make variable from settings.mk. It is assumed to not
be used by client code.
Change-Id: Ie0ad647f489528444dfd399c2f00500b772d3288
|
|
...in which case the corresponding tool is located on the PATH
Change-Id: I4242180fbbc829f11aa1a12cf1e6b9f0a21ab7c6
|
|
* GCC documents -fvisibility at least as far back as the GCC 4.0 online
documentation at
<https://gcc.gnu.org/onlinedocs/gcc-4.0.4/gcc/Code-Gen-Options.html>.
* For external code, odk/settings/settings.mk unconditionally set
HAVE_GCC_VISIBILITY_FEATURE for all platforms other than Windows.
Make this a fatal configure error for now. The check should be removed
completely after LO 5.3 branch-off.
Change-Id: I1de415b6ed1591e0a7b6640ece861b6f0ef74112
Reviewed-on: https://gerrit.libreoffice.org/29073
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ib93b2db40f43f98d8369cb91ca35692cc92f023b
|
|
See http://listarchives.libreoffice.org/global/users/msg49357.html
odk/settings/std.mk currently adds each .class file separately,
therefore having to be updated manually any time one class or
anonymous class is added, removed etc.; all the .class files in
com/sun/star/lib/loader/ are needed in the jar anyway, so use a
generic makefile rule.
Change-Id: I3819ab94e2c056220993971de44408e46a4559ed
Reviewed-on: https://gerrit.libreoffice.org/28317
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-by: jan iversen <jani@documentfoundation.org>
|
|
...that was added with both c4c10c17adfb139a208deeb1a47a9fcad924b9c3
"INTEGRATION: CWS sb87: #i88687# let Loader call new unoinfo instead of old
juh.jar UnoInfo.getJars" and 9d53b3321881bd54526f08a9219c539c1430f2b5
"INTEGRATION: CWS jsc21"
Change-Id: I355cbd933e3cff76416d02af8d6717326e0f3cb7
|
|
...that was introduced with abbf4777f29374025d576ef8daa3f6dcba02ddf5
"cid#1326844: DP: Use doPrivileged"
Change-Id: I8cd4d947b258313d4d171c5888490d1a860ebee7
|
|
Change-Id: I8ec9bb5415a9e6b9083ba89a7790872d67625de1
|
|
Change-Id: I6e35709a399aa520c9ad198c39a5fb03f3500c9c
Reviewed-on: https://gerrit.libreoffice.org/19320
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
|
|
...assuming the delayLoadHook in cli_ure/source/native/native_bootstrap.cxx is
no longer necessary and loading of cppuhelper from the program dir cannot fail
regardless in whatever scenario the cli_cppuhelper library itself is loaded.
Change-Id: I13f32b327bca4cce9780864f5e57cdad3860afe5
|
|
Change-Id: I68d3f99ca2a53988fb40ce0d5d364e19a8781cc0
|
|
Change-Id: Iad0480eb39e2c1312c27cf9b90146c2beba592fd
|
|
...and remove now unused ure-link symlink
Change-Id: Ic958432c1dad4fae213982d0af072187f151620b
|
|
Change-Id: Id8c6082b4b90c3020e1187dd311f0afd0320d155
|
|
...causes "clang: error: unknown argument: '-malign-natural'
[-Wunused-command-line-argument-hard-error-in-future]; clang: note: this will be
a hard error (cannot be downgraded to a warning) in the future" at least with
"Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)", and last
mention of -malign-natural in solenv/gbuild was removed with
4ea84822b1b638a61495af5006041bea8db8a3eb "OSX: drop -malign-natural flag for
non-clang compilers."
Change-Id: I0db1de484e45ba3eddf113392da71f20d099e9b5
|
|
Change-Id: I438b9ca643819cfd3e636e8157c6ef491beb1903
|
|
Change-Id: Ifd40e523f146ee26f49fe443e2455d053c7b6bfc
|
|
(cherry picked from commit 1307f0949c9b6e1ef2e8a3128c2113bbd7f17a58)
|
|
...where $(shell printf ...) in settings.mk likely doesn't work on Windows.
Change-Id: I64a51203d1bf131160768f9a9069f428228aa6b1
|
|
...to simply use Xcode clang++ (which implicitly uses libc++).
Change-Id: I02578f971e4abddfe74211046674bdcd23d7b279
|
|
...rather, pass them from the build to the SDK installation via dk.mk. (The SDK
installation is already platform-specific anyway, see the binary executables in
its bin/ directory, so there is no point in not fixing this at build time. In
the future, the shipped settings.mk could of course be stripped to just the
parts relevant for a given platform, of course.)
Along the way, fixes some apparent "ppc" vs. "powerpc" typos in settings.mk.
This is a prerequisite to create a working settings.mk for macosx_x86_64, but
does not yet do that.
Change-Id: Ib8e0c03ad6dfd610aae58a61e32bdc61c785584f
|
|
No idea if the GCC stuff that's in there actually works.
Change-Id: Idd1b93edd88609f3c09d14134d00a15fa9c0b0b7
|
|
...instead of relying on the implicit CPPU_CURRENT_LANGUAGE_BINDING_NAME
convention. Keeping that convention an implementation detail makes it easier to
do improvements in the future. (Theoretically, the bundled extension in mysqlc
could be considered internal code and not adapted, but just be safe.)
Change-Id: Iae41a6e072dabc2bf7c1481ba6cfed61680edf37
|
|
Change-Id: If11655aa56239b9241db43a058244360a8abe1ec
|
|
Change-Id: I46f4954ef07f60e1f7824a47f0617f8612ea9505
|
|
(cherry picked from commit 197b1ac3007b870e6c51ae9c767ad4f2a340e799)
Conflicts:
odk/settings/settings.mk
solenv/gbuild/platform/windows.mk
solenv/inc/set_wntx64.mk
solenv/inc/wntmsci11.mk
Change-Id: I266a0d7672839b4568e76b7223aae15d82cd9a63
|
|
(cherry picked from commit 65ef7b5de4d5fa7b8b440a73329b088917f77957)
Conflicts:
odk/settings/std.mk
Change-Id: I73e62097456ab8dbe601f557a4f5b65f9b7aba6b
|
|
(cherry picked from commit 0a78e6e85d8e921705b7ea90038f822d47fb58ab)
Conflicts:
odk/cfgWin.js
odk/configure.pl
odk/docs/install.html
odk/setsdkenv_unix.sh.in
odk/setsdkenv_windows.template
odk/settings/std.mk
Change-Id: Ie124ffbb857e796923981e13dc3116c7af341056
|
|
(cherry picked from commit d84324ff612c652b0f6e7a91863808db4425c316)
Conflicts:
odk/pack/copying/makefile.mk
Change-Id: I04c004b1ea2c6c05a18f48db553141e2cf32f06d
|
|
* Re-use existing settings/dk.mk to tunnel ENABLE_DEBUG into the SDK. Turns out
this was explicitly included in ~all examples Makefiles, but only after
settings.mk where it is now used, so include it in settings.mk now and dropped
it from all the exmaples Makefiles.
* The old settings.mk was apparently confused with using /MT ("link with
LIBCMT.LIB") on cl command line and /MD ("link with MSVCRT.LIB") on link
command line (where it was ignored), and you apparently can't pass both
together to cl, so I settled on /MD (resp. /MDd) now and dropped /MT (resp.
/MTd). No idea if that is exactly right, however.
* Introduced client-facing LIBO_SDK_LDFLAGS_STDLIBS that covers kernel32.lib and
msvcrt.lib vs. msvcrtd.lib on Windows. Adapted examples Makefiles and
/ure/source/uretest/Makefile accordingly. Some examples Makefiles
additionally use msvcprt.lib, no idea whether that still needs to be
addressed.
Change-Id: Ia8d9d177e415abfbaf6f9fa6239f0ef9998868be
|
|
The test to determine JAVA_OPTIONS was already cheesy (e.g., it does not catch
java-1.7.0-openjdk-1.7.0.9-2.3.8.0.fc18.x86_64, as there "java -version" outputs
"OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)" with "64-Bit" in the
second instead of the third field), so make it a bit more cheesy still (i.e.,
just cover the case to not set -d32 for x86_64).
Change-Id: Ib10a16fb3f8104875bfda7de0e8bce59b9c3b06a
|
|
I guess all those $(subst \\,\,...) in odk/examples/.../Makefile are only
workarounds for a broken PS setting and could go, too.
Change-Id: I2e44108f23803e1f49157a91be11af5ad860673c
|
|
Change-Id: Ida4d11e0f8dfea201e0456cc54aa7f5af093d2ad
|
|
These libraries were never part of the stable URE interface, and thus
including their headers and import libs in the SDK was a mistake.
Apparently at least on MacOSX and some Linux distros it was not
possible to link against the libraries anyway.
Change-Id: I3c43c86ff5d7bc316ed7af0be4ef313f7869ac23
|
|
This library is part of the stable URE interface.
Change-Id: Id131bdd333ecff2ae788830ca4b5b57b4a4a9c24
|
|
XCode 2.5 (i.e. Mac OSX 10.4 & 10.5) couldn't find the libraries
without explicit mapping, but as baseline is now 10.6, this
wrapping is no longer necessary
Change-Id: I225fc47b9ea4b1fb2b13ba575605cbdebc014fd8
Reviewed-on: https://gerrit.libreoffice.org/3192
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: I10b15141e6a5f93365e1cfa6fbc0c7cc3ea49b15
|
|
Change-Id: I466424c5b71de4d6bb126499895539813283502a
|
|
Change-Id: I639fa16f74342b108a395d7d0335d116f96677f1
|