Commit Graph
86 Commits
Author SHA1 Message Date
Stephan Bergmann c2216d2d7a Drop unnecessary gb_DEBUG_CFLAGS
...which was at maximum set to GCC's -finline-limit=0 -fno-inline
(solenv/gbuild/platform/com_GCC_defs.mk).  Those options were set for debug
builds "since forever", but that looks very much like cargo cult:  -fno-inline
"is the default when not optimizing" anyway
(<https://gcc.gnu.org/onlinedocs/gcc-7.4.0/gcc/Optimize-Options.html>), and it
is unclear to me how -finline-limit=0 should have any impact beyond -fno-inline
(and maybe was present for ancient compilers that only supported -finline-limit
but not -fno-inline?).

Change-Id: Id6752d03b1b7ec8763defabc5720d4dd08790874
Reviewed-on: https://gerrit.libreoffice.org/66836
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-24 11:25:03 +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 a57dd8eba9 python3: add patch bpo-17239: Disable external entities in SAX parser
Change-Id: I44e969d8d3a8fe6b6426d61a1cbe83154c8518dd
Reviewed-on: https://gerrit.libreoffice.org/66329
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-01-15 10:36:11 +01:00
Stephan Bergmann e5bc69087a external/python3: Work around macOS Clang trunk error
..."target does not support '.file' without a number", which was introduced into
LLVM with <http://llvm.org/viewvc/llvm-project?view=revision&revision=349976>
"[MC] Enable .file support on COFF and diagnose it on unsupported targets",
stating:  "The 'single parameter' .file directive appears to be an ELF-only
featurea [sic] that is intended to insert the main source filename into the
string table table [sic]."

And <https://sourceware.org/binutils/docs-2.31/as/File.html> states about the
default single (file name) argument version:  "This statement may go away in
future: it is only recognized to be compatible with old as programs."

As external/python3 builds just fine on macOS with that .file directive removed,
lets just do that for now.

Change-Id: Ib28c29d0cacd151437447ccb2f6cfb8925e3e85a
Reviewed-on: https://gerrit.libreoffice.org/65704
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-29 14:22:25 +01:00
Tor Lillqvist 0f2f719ccd tdf#106324: Remove unnecessary test folder from LibreOfficePython framework
No need to distribute that, apparently. We don't ship it on Windows,
either.

Change-Id: I76bf77311caceccd07afb0afa2f097b63f58bf54
Reviewed-on: https://gerrit.libreoffice.org/59034
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-08-15 07:52:55 +02:00
Noel Grandin 92c745f95e try building python in parallel on windows
Change-Id: Ib920ae6d6a3ced06ffe9f1fc4adba67d95f99a17
Reviewed-on: https://gerrit.libreoffice.org/55207
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-05 08:09:05 +02:00
Stephan Bergmann 93e6a823bd external/python3: Drop nis.cpython-*m.so
At least Fedora 28 glibc-2.27-8.fc28 no longer provides the nis development
headers and libraries.  (It only still contains some binaries for backwards
compatibility, in the libnsl sub-package: "This package provides the legacy
version of libnsl library, for accessing NIS services.")

There is probably no real need to have nis.cpython-*m.so contained in
external/python3/ExternalPackage_python3.mk (it probably just happened to build
fine when that list was originally created, so was included).

Change-Id: Ic6128fd872432005c0ded76640c5b56781ca69a1
Reviewed-on: https://gerrit.libreoffice.org/52535
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-04-07 13:39:12 +02:00
Mike Kaganski 37070fc8da Remove obsolete patch
A leftover from commit 147cb6a2ae

Change-Id: I1744f87dfe508aea6cb17b4411594dad5771b028
Reviewed-on: https://gerrit.libreoffice.org/48877
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-01-30 13:29:54 +01:00
Tor Lillqvist 018f875cb0 Avoid API present from macOS 10.13 if building to run on older
utimensat() and futimens() are new in 10.13.

Change-Id: I03448adb17b40a646771c37179bd70c787547ca3
2017-09-20 00:19:47 +03:00
David Ostrovsky f0e68d4fea python3: upgrade to release 3.5.4
Change-Id: I9300b2ec1e1dcedbcbfe793e1450166af1bf1944
Reviewed-on: https://gerrit.libreoffice.org/40944
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
2017-08-11 12:28:37 +02:00
Michael Stahl 656c8754ab sal,external: remove checks for obsolete VCVER=120
Change-Id: I4d32b7c4b2e545a8d979bc516f64cfcbf66ecd07
2017-05-30 20:19:22 +02:00
Michael Stahl 4880141768 python3: remove obsolete python-3.3.3-msvc2012-winxp.patch.1
...and python-3.3.0-msvc2012.patch etc.

They were actually never applied to Python 3.5.

Change-Id: I5beb5a81d55ab1921411d2351bdb397ff02ba75c
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 12b865c028 gbuild, python3: stop defining SOLARIS, and remove SOLARIS patch
It's faster to change our code not to rely on -DSOLARIS than to
wait for python developers to remove such nonsense from their public
headers.

Change-Id: I3ab05d41bbb51b91a2add599339ce334b5099330
2017-02-08 12:58:38 +01:00
Michael Stahl 743f9fc86f python3: upgrade to release 3.5.3
- fixes some minor CVEs
- drop python-vc2013.patch.1
- drop python-3.3.3-py17797.patch.1:
  the bug was fixed in MSVC2015 runtime so not relevant
- drop python-lsan.patch.0:
  fixed upstream
- ubsan.patch.0:
  drop hunks that were fixed upstream
- python-3.5.0-tcltk.disable.patch:
  merge into msvc-disable.patch.1

Change-Id: I2aecae446539d28eaf3eb64ee67581596019335d
Reviewed-on: https://gerrit.libreoffice.org/33225
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-01-17 22:42:01 +00:00
Stephan Bergmann d0f3363aa8 Fix patch
The original patch caused compilation of x86-ffi64.c to fail, but that
failure was silently ignored by the build.

Change-Id: I93a0cde041b8f9546873d6cc30c1b690da098642
2017-01-17 21:07:01 +01:00
Julien Nabet 486efbfc74 tdf#103363: add unicodedata and import idna encoding for mailmerge
Thank you Moggi for your help on how to add unicodedata module to Python!

Change-Id: I071e9279d1de4748f9443ac2d624fe925288e408
Reviewed-on: https://gerrit.libreoffice.org/32140
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2016-12-18 21:58:54 +00:00
Stephan Bergmann 9b92834fa4 external/python3: Work around -fsanitize=alignment
Change-Id: I26b927345594368f426ae89bfd5b645561d44c10
2016-12-16 07:46:40 +01:00
Stephan Bergmann 6928b045f0 Clean up patch
Change-Id: I2aa51435d0a15e507d0bf95f98d69fa4cde00b05
2016-12-16 07:46:40 +01:00
David Tardon b2c16b3563 fix build of bundled python3 with bundled zlib
Change-Id: I383a04ea926187263b1d7e11c548817fa9ca3fb6
2016-11-04 16:22:23 +01:00
David Tardon f595e426e3 cond. build is already handled in Module_external.mk
Change-Id: I5efe3bafc4f0b97578a75dc1f43e6c130a93bc4a
2016-10-23 20:13:21 +02:00
Michael Stahl b078e0d638 python3: put a RPATH into libpython3.so
libpython3.so is the "ABI compatible" wrapper library around
libpython3.5m.so - it is not actually used by anything in LO right now,
but let's ensure it has RPATH $ORIGIN just in case.

This revealed that the AIX patch in python3 accidentally changed the
SONAME of libpython3.5m.so from upstream's libpython3.5m.so.1.0
on ELF platforms, because the SONAME variable was set in the shell
command but read as a make variable in the next line, which is actually
evaluated earlier.

So rename a few files in packages to use the upstream SONAME.

Change-Id: I3611f75eee62b0993b853230521a2fa41ac5cd9c
2016-09-21 23:58:03 +02:00
Stephan Bergmann 5fb8a05021 external/python3: Fix building against external/zlib
...whose (static) library is called "zlib" instead of just "z".

(I ran into this when trying to do a 32-bit Linux build in a 64-bit environment,
with only very limited 32-bit support installed in the system.)

Change-Id: I9286975917ddf643a22803561677af035e66fb98
Reviewed-on: https://gerrit.libreoffice.org/28964
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-09-16 16:02:10 +00:00
Tor Lillqvist 55a4fd60b1 Don't use functions introduced in 10.12 when building to run on older
getentropy() and clock_gettime() are new in macOS Sierra (10.12).

Change-Id: I93640bbf20056d925c3116df336aeaebaaffda18
2016-08-04 23:10:58 +03:00
Stephan Bergmann bccb43027e Break gb_DEBUGINFO_FLAGS out of gb_DEBUG_CFLAGS
...in preparation of making them orthogonal

Change-Id: If75b334c954138b3aed4f8d1ac33061a2267ad52
Reviewed-on: https://gerrit.libreoffice.org/27056
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-07-11 08:57:37 +00:00
Michael Stahl e31914d7f4 python3: override LINKCC properly, it needs -pthread
Build on Fedora 24 fails with "Python/thread.o: undefined
reference to symbol 'pthread_key_delete@@GLIBC_2.0'"

Change-Id: If23838722e1cd0220c509d25932ae0539e8da7a1
2016-07-01 13:09:00 +02:00
Michael Stahl ca6592c0ae remove executable bit from .mk files
Change-Id: Id79898bb4f71103830ad7f74da71fbd5102e4fb5
2016-07-01 13:09:00 +02:00
Markus Mohrhard 660e559781 uitest: we will need the python unittest module
Change-Id: Ic0589be9b3769279b201dfd314534a087c7f4309
2016-06-22 18:19:33 +02:00
David Ostrovsky 761053abd8 Fix python packaging on MSVC 14.0, 32bit
Change-Id: I5604aa21981c216e992cbefae043acfd0ab07bbd
Reviewed-on: https://gerrit.libreoffice.org/22626
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
2016-02-23 07:21:30 +00:00
Michael Stahl eea5cb158e python3: drop obsolete patch, cannot build 3.5 with MSVC 2013
Change-Id: I1a6b41bb95bf4edb8e81f2db54624a0892c79bc5
2016-02-22 18:22:48 +01:00
Norbert Thiebaud 3e1782f05b WaE vs2015 double define
Change-Id: I279b5df3f9705ca266f2f4efb1e93e59cbbdabd7
Reviewed-on: https://gerrit.libreoffice.org/22603
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
2016-02-22 05:07:29 +00:00
Michael Stahl e9cd508736 configure: hard-code /usr/bin/{sort,find} for Cygwin
... to avoid calling C:/Windows/system32/{sort,find}.exe, if those
happen to be first in PATH.

On a Windows 7 system, the other conflicts appear to be harmless,
we don't use "more", "expand", "timeout", "whoami".

Change-Id: Iceefeb7ee6725291b04c0eba465991bb1df96b57
Reviewed-on: https://gerrit.libreoffice.org/21175
Tested-by: Jenkins <ci@libreoffice.org>
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2016-01-07 08:44:28 +00:00
Stephan Bergmann e9b0a45a68 Fix patch file attributes
Change-Id: I4f86aba24f2dad14f43effd6e0b291f8f58f1712
2015-12-01 12:35:08 +01:00
Stephan Bergmann 67466a1975 Fix Python 3.5 sizeof(PyGC_Head) for UBSan
...by again using 'long double' instead of 'double' to "force worst-case
alignment," just like Python 3.3 used to do.  This fixes -fsanitize=alignment
failures like

> workdir/UnpackedTarball/python3/Modules/_ctypes/_ctypes.c:2923:10: runtime error: member access within misaligned address 0x6110007af498 for type 'CDataObject' (aka 'struct tagCDataObject'), which requires 16 byte alignment
> 0x6110007af498: note: pointer points here
>  ff ff ff ff  01 00 00 00 00 00 00 00  98 98 17 00 90 61 00 00  00 00 00 00 00 00 00 00  00 00 00 00
>               ^
>  GenericPyCData_new workdir/UnpackedTarball/python3/Modules/_ctypes/_ctypes.c:2923:10
>  PyCFuncPtr_new workdir/UnpackedTarball/python3/Modules/_ctypes/_ctypes.c:3385:29
>  type_call workdir/UnpackedTarball/python3/Objects/typeobject.c:908:11
>  [...]

during PythonTest_dbaccess_python.

Change-Id: I8cc65823e1bc65807ec30c97a9099462e55c996d
2015-10-27 10:12:47 +01:00
David Ostrovsky cd15605876 Fix python3 on MSVC 14.0
Change-Id: I2882a97d0e078bd3217170e7906cd41680fbc4a4
Reviewed-on: https://gerrit.libreoffice.org/17360
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
2015-10-27 07:34:20 +00:00
Stephan Bergmann 429876d12b Adapt patch
Change-Id: I7945eed053a671ad0c755284a372d16083e596b2
2015-10-26 10:42:09 +01:00
David Ostrovsky c2e4e74138 Python3.5: Remove external dependencies: readline and lzma
Change-Id: Ie5cd1c0e186920f3b34d3986aa995a5c3be9c58a
2015-10-25 11:18:08 +01:00
David Ostrovsky 147cb6a2ae Bump python to 3.5
3.5 release is needed for MSVC 14.0 (aka VS 2015) support. Python 3.5
removed build toolchain support for MSVC 2013. Because we still need
to support it, we duplicate the Python directory in externals and
copy old patches and dispatch to this directory for MSVC 2013. Once
the support for MSVC 2013 is dropped on master, this directory can be
removed again.

Change-Id: Idf7bc351239582f583ecbdb53c923cbdcf968089
Reviewed-on: https://gerrit.libreoffice.org/17352
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2015-10-25 08:29:39 +00:00
Caolán McNamara 02effc8ef6 ubsan failure on bootstrapping crashtesting
Change-Id: Ie2b338bdd75f26953c758b64711e60b6f5ce9c83
2015-10-22 10:05:48 +01:00
Michael Stahl 2ada1d6e48 externals: remove various obsolete MSVC2012 specific flags
Change-Id: I8848d042a008c21e407d9610161b5c67d2137a18
2015-09-09 16:03:21 +02:00
Khaled Hosny ca96e9a8c2 Allow building Python on Mac with GNU xargs
GNU xargs executes the command at least once even if the standard input
is empty, unlike BSD xargs, which causes rm -r to be called with no
arguments ween the find command finds nothing leading to an error.
Adding -f to rm allows buikding with either implementation.

Change-Id: I0df5fcb379d2a5a8b1121594ec1a82d917d80dfc
Reviewed-on: https://gerrit.libreoffice.org/16116
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
2015-06-08 13:44:00 +00:00
Stephan Bergmann 1c989f8eff external/python3: -fsanitize=nonnull-attribute
Change-Id: Ib589b638a81bfb77fd74da8b15ae7b11cfd2b58b
2015-06-02 17:50:17 +02:00
Stephan Bergmann 6d46d37685 external/python3: -fsanitize=nonnull-attribute
Change-Id: I447d1f01c24a934e643077dc271872e850b204bc
2015-06-02 15:22:19 +02:00
Michael Stahl be3e1d65f5 tdf#82968: python3: fix stdio detection on WNT harder
Upgrade to the latest patch from http://bugs.python.org/issue17797
which appears to work even if you invoke from cmd.exe

Change-Id: I85f1cc5ad7d8c059d972ae2a6fd2be1bb5604c2c
2015-05-09 11:02:25 +02:00
Stephan Bergmann 6a150d772f Clang -fsanitize=vptr: ensure __ubsan_vptr_type_cache in python.bin
Change-Id: I7b08b7b6376db29b392243f24f6ad3ccf2ee8655
2015-02-23 18:06:32 +01:00
Robert Antoni Buj i Gelonch 40432ac6ca pyhon: add lib-dynload libs to fixinstallnames (OS X)
Change-Id: Iab76060952ae8c1b64d3ff32e5ae8f5212e016b0
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2015-02-02 23:10:02 +01:00
Stephan Bergmann e376bc04dc external/python3: Work around -fsanitize=alignment
Change-Id: I33976bc96fc78dd0210d9aec6d1ec925f514c7f2
2015-01-13 16:12:55 +01:00