summaryrefslogtreecommitdiff
path: root/odk/settings
AgeCommit message (Collapse)Author
2022-10-23Avoid nesting using 'else conditional-directive'Mike Kaganski
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>
2022-06-10[API CHANGE] Remove deprecated idlc and regmerge from the SDKStephan Bergmann
* 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>
2022-04-12odk: update DevGuide wiki links and correct history in footerIlmari Lauhakangas
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>
2022-02-25Provide unoidl-write also for the SDKStephan Bergmann
...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>
2020-12-03Replace unowinreg.dll with execution of `reg QUERY`Stephan Bergmann
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
2019-11-01odk: fix for change directory in complextoolbarcontrols sampleVasily Melenchuk
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>
2019-10-23ODK: cleanup windows linker debug argsThorsten Behrens
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>
2019-08-20Fix EXTENSION_PLATFORM for Windows x86_64Stephan Bergmann
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>
2017-12-11odk: fix 32-bit Linux build on 64-bit OSMichael Stahl
In this situation gcc/g++ will default to x86_64, so pass the "-m32" flag to produce x86 binaries. Change-Id: Ie31cd4240e353db606621cb03107ce03a74cfbef
2017-11-08fix also odk/settings/settings.mk wrt Java 9 to find jawtRene Engelhard
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
2017-06-09odk settings.mk: add various missing JAVA_PROC_TYPE overrides for Linux archesRene Engelhard
... which were missing since ~ ever but now break the odk_build-examples test with /usr/bin/ld: cannot find -ljawt Change-Id: Ie504ce0c8e21c7d58f1b7e591505940a2f80a2ea
2017-02-01Also on macOS use JDK's .../Home/bin/javac etc.Stephan Bergmann
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
2017-01-31Allow some OO_SDK_*_HOME to be emptyStephan Bergmann
...in which case the corresponding tool is located on the PATH Change-Id: I4242180fbbc829f11aa1a12cf1e6b9f0a21ab7c6
2016-09-20[API CHANGE] Remove HAVE_GCC_VISIBILITY_FEATURE, always trueStephan Bergmann
* 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>
2016-09-12tdf#91966: In SDK, set CPPU_ENV=mscx for 64-bit WindowsStephan Bergmann
Change-Id: Ib93b2db40f43f98d8369cb91ca35692cc92f023b
2016-08-23java extensions makefile - generifyZenaan Harkness
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>
2016-08-17Remove duplicate lineStephan Bergmann
...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
2016-08-17Add missing Loader$1.classStephan Bergmann
...that was introduced with abbf4777f29374025d576ef8daa3f6dcba02ddf5 "cid#1326844: DP: Use doPrivileged" Change-Id: I8cd4d947b258313d4d171c5888490d1a860ebee7
2016-08-05(initial) sparc64 portJames Clarke
Change-Id: I8ec9bb5415a9e6b9083ba89a7790872d67625de1
2015-10-12Kill dead mac os x 32bit odk build configRiccardo Magliocchetti
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>
2014-12-03Fold URE: WindowsStephan Bergmann
...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
2014-12-02Consistently use $(...)Stephan Bergmann
Change-Id: I68d3f99ca2a53988fb40ce0d5d364e19a8781cc0
2014-12-02Fold URE: Remove OO_SDK_URE_HOME on non-WindowsStephan Bergmann
Change-Id: Iad0480eb39e2c1312c27cf9b90146c2beba592fd
2014-12-01Fold URE: Linux ure/share/misc/* -> program/Stephan Bergmann
...and remove now unused ure-link symlink Change-Id: Ic958432c1dad4fae213982d0af072187f151620b
2014-09-17Fix OFFICE_PROGRAM_PATH for new Mac OS X layoutStephan Bergmann
Change-Id: Id8c6082b4b90c3020e1187dd311f0afd0320d155
2014-09-17Remove obsolete -malign-natural on Mac OS X from SDK, tooStephan Bergmann
...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
2014-09-16Fix OO_SDK_URE_HOME for new Mac OS X layoutStephan Bergmann
Change-Id: I438b9ca643819cfd3e636e8157c6ef491beb1903
2014-09-16Use OO_SDK_URE_BIN_DIRStephan Bergmann
Change-Id: Ifd40e523f146ee26f49fe443e2455d053c7b6bfc
2014-05-06Add support for MacOSX x86_64Ariel Constenla-Haile
(cherry picked from commit 1307f0949c9b6e1ef2e8a3128c2113bbd7f17a58)
2014-01-30SDK: Split PLATFORMID at build time rather than runtimeStephan Bergmann
...where $(shell printf ...) in settings.mk likely doesn't work on Windows. Change-Id: I64a51203d1bf131160768f9a9069f428228aa6b1
2014-01-20Fix Mac OS X 64 bit SDK settings.mkStephan Bergmann
...to simply use Xcode clang++ (which implicitly uses libc++). Change-Id: I02578f971e4abddfe74211046674bdcd23d7b279
2014-01-20SDK settings.mk: Don't guess PLATFORM/PROCTYPEStephan Bergmann
...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
2013-12-18fdo#72598: odk: remove SunStudio supportMichael Stahl
No idea if the GCC stuff that's in there actually works. Change-Id: Idd1b93edd88609f3c09d14134d00a15fa9c0b0b7
2013-12-17Keep using component_getImplementationEnvironment in extensionsStephan Bergmann
...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
2013-12-11ure: remove references to SunStudio C52 filenamesMichael Stahl
Change-Id: If11655aa56239b9241db43a058244360a8abe1ec
2013-09-11odk: move files out of the confusing "pack" directory to better homesMichael Stahl
Change-Id: I46f4954ef07f60e1f7824a47f0617f8612ea9505
2013-07-18Resolves: #i122767# disallow pre-standard C++ for-scopeHerbert Dürr
(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
2013-06-27Related: #i122356# quote rdb path, windows spaces in pathsJürgen Schmidt
(cherry picked from commit 65ef7b5de4d5fa7b8b440a73329b088917f77957) Conflicts: odk/settings/std.mk Change-Id: I73e62097456ab8dbe601f557a4f5b65f9b7aba6b
2013-06-26Related: #i121442# Add sed and cat as dependencies to odkAriel Constenla-Haile
(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
2013-06-14odk - Add support for extension platformAriel Constenla-Haile
(cherry picked from commit d84324ff612c652b0f6e7a91863808db4425c316) Conflicts: odk/pack/copying/makefile.mk Change-Id: I04c004b1ea2c6c05a18f48db553141e2cf32f06d
2013-04-19Adapt SDK to usage of msvcrtd for Windows --enable-dbgutilStephan Bergmann
* 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
2013-04-19fdo#63693 Do not force java -d32 for a 64-bit SDKStephan Bergmann
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
2013-04-18Properly set PS to a single backslash for WindowsStephan Bergmann
I guess all those $(subst \\,\,...) in odk/examples/.../Makefile are only workarounds for a broken PS setting and could go, too. Change-Id: I2e44108f23803e1f49157a91be11af5ad860673c
2013-04-11Adapt SDK to -B removed from cppumaker/javamakerStephan Bergmann
Change-Id: Ida4d11e0f8dfea201e0456cc54aa7f5af093d2ad
2013-04-10API CHANGE: odk: remove "store" and "reg" librariesMichael Stahl
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
2013-04-10odk: settings.mk: add variable PURPENVHELPERLIBMichael Stahl
This library is part of the stable URE interface. Change-Id: Id131bdd333ecff2ae788830ca4b5b57b4a4a9c24
2013-04-04remove -dylib_file mappings that are not needed anymoreChristian Lohmaier
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>
2013-04-03Remove Mac OS X for PowerPC supportTor Lillqvist
Change-Id: I10b15141e6a5f93365e1cfa6fbc0c7cc3ea49b15
2013-02-28Unused UDK_MAJOR/MINOR/MICRO macros (and udkversion.mk), also removed from SDKStephan Bergmann
Change-Id: I466424c5b71de4d6bb126499895539813283502a
2013-02-20rhbz#742780: Let make OPT_FLAGS=... override SDK optimization/debugging flagsStephan Bergmann
Change-Id: I639fa16f74342b108a395d7d0335d116f96677f1