Commit Graph
33 Commits
Author SHA1 Message Date
Stephan Bergmann da446e66eb Pass --enable-debug into external/cppunittest
Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I531f4e7cdb461dd40be0d06e88ffa9c677820446
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4813
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit d44f929cb922ca9e2e6c2503429ca4587255a325)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207170
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-23 13:44:17 +02:00
Jan-Marek Glogowski 79365d6f5a WASM fix native EH build since Emscripten 3.1.6
Building LO with WASM native EH and Emscripten 3.1.6+, the link
fails with a missing "emscripten_longjmp" symbol. Actually the
old build was simply wrong, because the emscripten_longjmp
function is just used for the Emscripten SjLj and not the native
WASM SjLj implementation. Linking just worked, because the used
libcompiler_rt-wasm-sjlj-mt.a lib was incorrectly providing that
symbol, which 3.1.6 removed.

But since running the NEH build still fails early in the same way
then before in FF nightly 100 and Chrome (= failure in the LO job
scheduler calling Task::UpdateMinPeriod for the "desktop::Desktop
m_firstRunTimer" timer, resulting in a WASM VM "RuntimeError:
indirect call signature mismatch"), there is still no way to know,
if nothing else it missing. The Emscripten / JS EH build still
works without any code changes. And it's not the first call on
a job object that fails...

And unfortunatly, because Qt itself also uses libpng, it also uses
SjLj for error handling, like LO in the image import, so the Qt
build must also be patched to build with "-s SUPPORT_LONGJMP=wasm".
Simply enough to do (see README.wasm.md). LO's configure now
detects that symbol and will bail out on incompatible Qt and LO
build setup.

See https://github.com/emscripten-core/emscripten/issues/16572

Change-Id: I3a1877f3aeb77873906176b9d3cd1ea92973f1f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132139
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-03-30 15:12:21 +02:00
Jan-Marek Glogowski 4537886ec1 externals: always provide platform configure flags
No idea why we just provided the platform flags when cross-
compiling. In the curious case, where the host platform is
detected as x86_64-pc-mingw32 per default and we actually
want to override it with x86_64-pc-cygwin, we don't do a
cross compile, but must override the host platform.

But there is additional special handling needed for the omitted
cross-platform build in the special case of --host=i686-pc-cygwin
and --build=x86_64-pc-cygwin, where we deliberatly ignore cross
building; Windows is already a slow build, so try to keep this
optimization (AMD64 can execute x86 binaries).

There is the theoretical case, where the externals config.guess
would have detected something else and that "magically" even
worked, while the LO detected triplet would fail, but this
should be fixed in the external in any way.

Change-Id: Ib7a9719e0e406fe90334b7611dc3f01b51692bfa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129153
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-31 10:31:04 +01:00
Stephan Bergmann 7158acde77 Consolidate -D_GLIBCXX_DEBUG for --enable-dbgutil builds against libstdc++
(this was meant as a prerequisite for enabling its -D_LIBCPP_DEBUG=1 counterpart
when building against libc++ on macOS, but which got stalled for now after
running into the issue described at
<https://lists.llvm.org/pipermail/libcxx-dev/2021-October/001222.html>
"[libcxx-dev] Building a program with -D_LIBCPP_DEBUG=1 against a libc++ that is
not itself built with that define")

Change-Id: If466dce595a9311b2afbae41d5ddcaecc6f3c57b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124678
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-11-04 12:49:44 +01:00
Mike Kaganski 8e779c062a Centralize VS-to-toolset mapping in configure
This allows to define the mapping once, and avoid modification in
multiple places each time a new VS version support is added

Change-Id: I93de4c9d78c3f67a0a2e157007e9d13b6f557937
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123163
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-08 14:54:10 +02:00
Hossein c156a8c708 Add preliminary VS 2022 support
This patch changes the configure.ac, so that LibreOffice compiles
with the latest VS 2022 preview.

The option --with-visual-studio=2022 should be added to the
autogen.input, in order to use VS 2022 preview.

Change-Id: Ia1d9bbeabbbd44ffe82af3624151b69d36c0a45c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122133
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-16 19:50:56 +02:00
Jan-Marek Glogowski 8a4173987e WASM: add initial support for Emscripten cross build
- configure with:
- --host=wasm64-local-emscripten
- had to make a few externals optional, so adding:
  - --disable-nss
  - --disable-cmis
  - --disable-curl

Change-Id: I48d1c73d2675ad2e2beaf2c341578199efbd24ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111130
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-05-05 21:14:54 +02:00
Jan-Marek Glogowski 63cf188ce0 WIN add and apply default msbuild platform+config
Adds three Windows gb_* variables:

- gb_MSBUILD_CONFIG_AND_PLATFORM can be passed as msbuild flags
- gb_MSBUILD_PLATFORM maps debug / release settings
- gb_MSBUILD_CONFIG maps the CPUTYPE to the default msbuild names

and converts the users in external projects.

Change-Id: Ie9b817721180d78d104db11c44241e4b3e46bba9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102701
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-09-15 08:42:54 +02:00
Stephan Bergmann 1fc2e731d6 external/cppunit: -g based on --enable-symbols, not --enable-debug
Change-Id: I35ceb0069082cb66f1bc09591baace594f0dc030
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100297
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-07 15:36:25 +02:00
Stephan Bergmann 24973523ba Bump Windows build baseline to Visual Studio 2019 16.4
(where 16.4 is currently the latest version of Visual Studio 2019 available at
<https://visualstudio.microsoft.com/downloads/>), see
<https://lists.freedesktop.org/archives/libreoffice/2020-February/084575.html>
"ESC meeting minutes: 2020-02-27": "Update baseline to VS2019 on master before
7.0 [...] check what’s the current patch level, require that? [...] no
objections"

The code from 4ea0059bca "VS detection: Fallback
to old registry check if vswhere failed" has been removed in accordance with its
comment "The below hack does not work for VS 2019 anyway, so should be removed
when upgrading baseline.

(Changing the comment "go to Start menu, open 'Visual Studio 2017', [...]"
regarding the installation of GNU Make from source is somewhat arbitrary, but
lets stick to the tradition of bumping that version number along with any build
baseline bump.)

Change-Id: Ic4fe8a3d347aa1748377f2d3205e302bff189b79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89699
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
2020-03-04 18:33:21 +01:00
Luboš Luňák 0adc9b615f GBUILD_TRACE, support for finding out where the build time is spent
See instructions in solenv/gbuild/Trace.mk . This generates a file than
can be viewed e.g. in the Chromium tracing view.

Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-02-16 14:49:45 +01:00
Tomoyuki Kubota f61d647420 Initial VS 2019 Support
Change-Id: I8e08efb549ebd52c37183a1185d6de73f2b00601
Reviewed-on: https://gerrit.libreoffice.org/64630
Reviewed-by: himajin100000 <himajin100000@gmail.com>
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Michael Stahl <Michael.Stahl@cib.de>
2019-04-16 13:01:03 +02:00
himajin100000 a0e326f5e1 Minimum Supported Version is VS2017
Change-Id: Id771f1fe0d8c6702a52836f6229a944d259fed4c
Reviewed-on: https://gerrit.libreoffice.org/66424
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-01-16 12:49:14 +01:00
Michael Stahl a626bdd56d gbuild: rename value OS=IOS to OS=iOS
This gets rid of the horrible hack in gbuild.mk to accomodate the
case-incorrect iOS platform makefiles that cannot be renamed without
upsetting git on file systems that sadly lack the case sensitivity
feature.

Keep the macro defined to IOS though.

Change-Id: I1022bfef4900da00e75fc1ccce786b20f8673234
Reviewed-on: https://gerrit.libreoffice.org/62705
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
2018-11-01 16:39:54 +01:00
Christian Lohmaier 4082a18406 android: use unified headers and llvm-c++ STL (x86) with NDK 16
gnustl (and others) are to be removed in future versions of the ndk
also bump gradle and build-tools to current versions along with it

arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix
that later

Change-Id: Ic794c3293b599b77ec48096bf3283a99c09cbb79
Reviewed-on: https://gerrit.libreoffice.org/45163
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2018-01-18 14:44:25 +01:00
Caolán McNamara 403ddd6cb1 builds externals without werror
I get a warning under MacOSX of

argument unused during compilation -I . -Werror,-Wunused-command-line-argument

Change-Id: I0ae48783eefa52a829471e51a94c79d235dc2f38
Reviewed-on: https://gerrit.libreoffice.org/39988
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-07-15 01:18:04 +02:00
Michael Stahl 656c8754ab sal,external: remove checks for obsolete VCVER=120
Change-Id: I4d32b7c4b2e545a8d979bc516f64cfcbf66ecd07
2017-05-30 20:19:22 +02:00
David Ostrovsky f0c7cbe1d8 MSVC 14.0: Make it work with older SDK version
Change-Id: I50a9e8b122250af445c2a1b3d0941d508e027318
Reviewed-on: https://gerrit.libreoffice.org/34528
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
2017-02-22 04:33:16 +00:00
Stephan Bergmann 9116e05c56 Fix check for non-empty UCRTVERSION
...introduced with b862cbdd34 "Support MSVC 15.0",
but $(filter ...,) always expands to the empty string, and this is probably what
was intended.

Change-Id: I5865ea13ba3c3d52402bcba48f4f770f6c2b8862
Reviewed-on: https://gerrit.libreoffice.org/34482
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-02-21 08:27:19 +00:00
David Ostrovsky b862cbdd34 Support MSVC 15.0
New compiler changes quite some stuff:

* Compiler detection done based on different registry key
* .NET SDK detection done based on different registry key
* Msbuild installation directory changed
* Merge modules installation directory changed
* SDK number in registry doesn't match the directory name:
  (registry key: 10.0.14393, directory name: 10.0.14393.0)
* Compiler, include and library location directories changed
* Architecture specific directory changed: x64 instead of amd64
* Compiler own include directory must be added with -I option
* To force usage of SDK 10 (8.1 is selected per default) new
  switch WindowsTargetPlatformVersion is passed to msbuild, to
  avoid patching VC project files with this line:
<WindowsTargetPlatformVersion><SDK>/WindowsTargetPlatformVersion>

Known issues:

* Firebird is broken: http://paste.openstack.org/show/594333

Change-Id: I148d7932aff43bbbd07bd493504df974726234c2
Reviewed-on: https://gerrit.libreoffice.org/31279
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
2017-02-15 08:23:53 +00:00
Stephan Bergmann 8646ab97dc Remove MinGW support
In OOo times, there'd originally been efforts to allow building on Windows with
MinGW.  Later, in LO times, this has been shifted to an attempt of cross-
compiling for Windows on Linux.  That attempt can be considered abandoned, and
the relevant code rotting.

Due to this heritage, there are now three kinds of MinGW-specific code in LO:

* Code from the original OOo native Windows effort that is no longer relevant
  for the LO cross-compilation effort, but has never been removed properly.

* Code from the original OOo native Windows effort that is re-purposed for the
  LO cross-compilation effort.

* Code that has been added specifially for the LO cross-compilation effort.

All three kinds of code are removed.

(An unrelated, remaining use of MinGW is for --enable-build-unowinreg, utilizing
--with-mingw-cross-compiler, MINGWCXX, and MINGWSTRIP.)

Change-Id: I49daad8669b4cbe49fa923050c4a4a6ff7dda568
Reviewed-on: https://gerrit.libreoffice.org/34127
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-02-10 18:01:27 +00:00
Michael Stahl 2ada1d6e48 externals: remove various obsolete MSVC2012 specific flags
Change-Id: I8848d042a008c21e407d9610161b5c67d2137a18
2015-09-09 16:03:21 +02:00
David Ostrovsky 75eb5a5cae Fix cppunit on MSVC 14.0
Change-Id: Iebfbd843cd3fbe46f3e090654a8493adb5309800
Reviewed-on: https://gerrit.libreoffice.org/17341
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2015-09-02 21:21:32 +00:00
Thomas Arnhold 4b8a131d38 upgrade to cppunit 1.13.2
* remove obsolete patch part
* enable x64 target for vc project file on win64

Change-Id: Ie794c08c9f739ad8c9c68c423f72e79ed4f6b0ff
Reviewed-on: https://gerrit.libreoffice.org/10856
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2014-08-14 15:54:31 -05:00
Thomas Arnhold 0b684fa3e9 VS2013: Override ToolsVersion setting
Otherwise those external projects will fail, because with only VS2013 installed
there is no ToolsVersion 4.0 (which is set inside the VC projects files).

http://msdn.microsoft.com/en-us/library/bb383985.aspx

Change-Id: I144ba1ef95372226ebadb082e3a78155cca316fd
2014-08-09 16:47:52 +02:00
David Ostrovsky 729e26426c VS2013: Adjust cppunit to 12.0 vcproj version
Change-Id: I9223fc0620bf31389ab4ea0971835dd7a27feb7e
Reviewed-on: https://gerrit.libreoffice.org/10159
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2014-07-11 11:34:49 +00:00
Tor Lillqvist 3efe9b2954 Handle VCVER==120 (VS 2013) too
Change-Id: I4dbf663790bd8906ef8b123a01bdf52e0c0c1962
2014-07-07 20:52:56 +03:00
Michael Stahl 09c0a96eb3 externals: do not use "v110_xp" when building with MSVC 2012 and SDK 8.0
Change-Id: I40bc9e4c31e270f29cc145b5d2f3544cad586bf7
2014-05-26 11:39:06 +02:00
Michael Meeks 02638a0865 cppunit: always compile with debugging symbols on windows.
Also cleanup some makefile pieces and give better error warnings.

Change-Id: I9f20d60f26d5828f60664941946c266c7d166f32
2014-05-24 20:05:46 +01:00
Christian Lohmaier e175eb3ced fdo#77891 fix python crash when in GUI mode, target WinXP with VS2012
VS2012 did change return value of fileno function, this results in a
crash when run in GUI mode (but not when launching from a shell), as
python tries to access the nonexisting stdin/stdout/stderr
Also explicitly target Windows XP

Change-Id: Ic783713b55453f3c38b2e766a664b7f4678711de
2014-05-19 19:58:54 +02:00
Michael Stahl d729d169de normalize values of CROSS_COMPILING
Change-Id: I0cc43cef91e3fcd82a3558a16ab0afbd4d56b141
2014-02-27 18:09:01 +01:00
Michael Stahl 621b30e277 Revert "Repository.mk: adjust layer of libraries in smoketest instset"
This reverts commit 1b736bf55e.

Obsoleted by commit 359472b2b5.
2013-10-22 14:42:17 +02:00
Khaled Hosny 7223027a3a fdo#70393: move cppunit to a subdir of external
Change-Id: I96ab796757af0c6c6741059b35fcaeefc2bf4507
Reviewed-on: https://gerrit.libreoffice.org/6286
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2013-10-17 17:17:22 +00:00