Commit Graph
45 Commits
Author SHA1 Message Date
Jan-Marek Glogowski 78bc57b130 cppunit: fix Windows Arm64 build
Change-Id: I75b169362ed703bcae0720aeac0602f389435317
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102857
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-09-17 08:39:00 +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 2f2246d22e external/cppunit: Run tests in deterministic order
What prompted me to make this change is that when I tried an --enable-lto build,
CppunitTest_xmlsecurity_signing failed in a non-obvious way, and I noticed that
it ran the individual tests in a different order than a --disable-lto build.

With this change, CppunitTest_xmlsecurity_signing also started to fail in the
--disable-lto build, which has meanwhile been fixed with
800eebfa82 "Database document apparently needs to
be closed before it is disposed".  No other tests started to fail in my
Linux --disable-lto-build with this change, and my Linux --enable-lto build
(using recent Fedora 32 GCC 10.2 and the default linker) also succeeds `make
check` after 800eebfa82, both with and without
this cppunit change.
(<https://bugs.documentfoundation.org/show_bug.cgi?id=126442> "LTO build
segfaults in sw_apitests" and <https://src.fedoraproject.org/rpms/libreoffice/c/
5d644f1606b76ffa4a102433849a824d7293a404> "%check fails with lto enabled"
indicate that older branches also fail CppunitTest_sw_apitests with
--enable-lto, but I could not reproduce that on current master.)

What happens in cppunit is that every CPPUNIT_TEST_SUITE_REGISTRATION (or other
macro like CPPUNIT_TEST_FIXTURE internally calling
CPPUNIT_TEST_SUITE_REGISTRATION) creates a global static variable whose ctor
inserts the address of a sub-object of that global static variable into the
TestFactoryRegistry::m_factories set.  Even if the order of invocation of those
ctors from one .cxx is deterministic, the relative order or the addresses of
those sub-objects inserted into the TestFactoryRegistry::m_factories set need
not be (though they probably typically are).  Another source of nondeterminism
is that the order of ctors from different .cxx is not specified (which might
have caused the CppunitTest_xmlsecurity_signing failures, given that test
includes suites from two different .cxx).

So to make test execution more reproducible, make the order in which the tests
are run deterministic, sorting them by name.  (When
TestFactoryRegistry::addTestToSuite the adds the sorted tests to
TestSuite::addTest, they are inserted into a TestSuite::m_tests vector, from
which point on things appear to already happen in a deterministic order.)

Change-Id: I40741f397a96772974fd41bacdb3dd763c885417
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100384
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-08 14:18: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
Markus Mohrhard ffe9ff2cf6 update cppunit to 1.15.1
Change-Id: Ic27a77addb409a8d63ea44136a8d2410ee40c4d2
Reviewed-on: https://gerrit.libreoffice.org/85539
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2019-12-24 20:45:53 +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
Stephan Bergmann 07d04fd3ae Better fix for missing [[noreturn]] of CPPUNIT_FAIL
This includes a revert of commit 9808486a89 "Avoid
-Werror,-Wimplicit-fallthrough with clang-cl", and also undoes older MSVC
workarounds (that would start to cause "warning C4702: unreachable code" now).

Change-Id: If72bf336e12e0a2db589857e8875003dae861977
Reviewed-on: https://gerrit.libreoffice.org/67248
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-02-01 19:03:36 +01: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
Tor Lillqvist 999a9c183c Do build cppunit for iOS, too
I am writing a separate unit test app that will include selected
existing unit tests that make sense and are important to run on iOS.

Change-Id: I4722f1ed872ba21e181eeba5ed3b58e82d8fed72
Reviewed-on: https://gerrit.libreoffice.org/61049
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
2018-09-27 21:05:27 +02:00
Stephan Bergmann b7b014781f Mark external/cppunit/gcc9.patch.0 as addressed upstream
Change-Id: I9071acc34d07f3819fb40c93bbee6b5bcc79a14a
Reviewed-on: https://gerrit.libreoffice.org/58691
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-08-07 18:41:17 +02:00
Stephan Bergmann 46c9312c54 external/cppunit: silence -Werror=deprecated-copy (GCC trunk towards GCC 9)
Change-Id: I2daec11938361a6988741bd29e713a36a4c77414
Reviewed-on: https://gerrit.libreoffice.org/58042
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-26 12:31:44 +02:00
Michael Stahl e35a8b2485 cppunit: also build 64-bit DLL always with PDB file
Note: this maps to /Z7 apparently:
<DebugInformationFormat>OldStyle</DebugInformationFormat>

https://msdn.microsoft.com/en-us/library/bb629394.aspx
lists various options but passing /p:DebugSymbols=true /p:DebugType=full
/p:PdbFile=... to msbuild.exe by itself doesn't do anything while
patching the project file works.

Change-Id: I888b5f6af7be519e2d35b749873ae7d35bb0bf9d
Reviewed-on: https://gerrit.libreoffice.org/56605
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2018-06-29 11:41:33 +02: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
Markus Mohrhard 6f12914ddf update cppunit to 1.14.0
Change-Id: I95fa42f4ef0580734b605df859c1660b29adb8b2
Reviewed-on: https://gerrit.libreoffice.org/36499
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-04-14 01:10:25 +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
Stephan Bergmann b3a7e32e8d external/cppunit: Visible function type RTTI for Clang -fsanitize=function
Change-Id: Ie2a6e993b7982629aed650d6534a09a9eefe1c51
2015-01-26 15:17:29 +01:00
Takeshi Abe ace8c9a8c6 reality
Change-Id: I498507ad7d951a71f7be2c0d3c411756e0462f7d
2014-12-15 18:28:55 +09:00
Caolán McNamara 9148b1c645 add some more kill paths to cppunit
Change-Id: I8610e99aecc725e349976746af6c8bd560ba2ffa
2014-11-03 20:44:57 +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
Caolán McNamara 745105a482 try and help scan-build out wrt cppunit asserts
Change-Id: Id86607802415ad069aa88be98012a5c99f594218
2014-07-06 15:38:01 +01: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
Stephan Bergmann 67825fe270 dlclose confuses LeakSanitizer
Change-Id: I2bebbf1615ddc3619bcc3bf940f70c0967ce8534
2014-05-23 16:50:16 +02:00
Stephan Bergmann 77ad60af11 Adapt CppUnit to our CPPUNIT_PLUGIN_EXPORT
...which mentions extern "C", so CppUnit's TestPlugInSignature must reflect
that.  It is a bit odd how CPPUNIT_PLUGIN_EXPORT needs to be passed into
CppUnit, so probably best to keep this as a local patch for now.  (Clang's
-fsanitize=undefined complained about the mismatch.)

Change-Id: Ied179a1afe82ceb04de4739c14cf8fadff31b80f
2014-05-22 14:33:31 +02: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
Caolán McNamara d7e7a44ccd coverity#12093[81-94], etc. null pointer dereference
coverity seems to think that code execution can continue
after a coverity test fails, but it will effectively halt
and not trundle into the dereference of the tested-for-NULL
pointer, try a [+kill] on the fail method

Change-Id: I07c9a074b5681c367a31637c8af78d52a9c88d59
2014-05-10 13:02:57 +01:00
Michael Stahl d729d169de normalize values of CROSS_COMPILING
Change-Id: I0cc43cef91e3fcd82a3558a16ab0afbd4d56b141
2014-02-27 18:09:01 +01:00
Michael Stahl 32a001d85b cppunit: remove ExternalPackage
The DllPlugInTester executable is apparently unused.

Change-Id: I1d26aebe8aa67b037438bd21bb00496804c41125
2013-10-24 09:10:44 +02: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 cc4aca0c9f Fix building from inside modules moved to external
Change-Id: Id6023dc3751fe70984f489682be17d1ab1855f71
2013-10-18 21:52:01 +02:00
Tor Lillqvist 2b8b417401 We don't use cppunit when cross-compiling
Change-Id: I8ff723233546d9becd001ab54a7df5ad98223f90
2013-10-17 22:53:44 +03: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