Commit Graph
56 Commits
Author SHA1 Message Date
Tor Lillqvist 6e62c9df96 Python .so files names have changed on macOS at least for some reason
There is no longer any "m" in the name suffix. Adapt the names of the
ones we want to remove for macOS.

The idlelib and tkinter dylibs are no longer there at all.

Don't use the -f flag to the rm commands. Thus we will notice the next
time something we want to remove isn't actually there or has been
renamed. But sadly for some unknown reason we do need to use a *
wildcard in the .so names.

Fixes a problem caught by App Store review where the Python curses
module had not been removed as it should have been. (It uses
non-public APIs and can thus not be included.)

Change-Id: I51b9728cc9ca0a962908d3994e3a0ff8e4fa7f60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114372
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-04-21 08:25:21 +02:00
Christian Lohmaier 4b9190fc29 mac: don't put script files into Contents/MacOS or framework-bin directory
Signing them as executable code would require external attributes, and
those in turn break packaging into hfs+ dmg when building on apfs with
Big Sur.
It is not a new thing - the old Code Signing in Depth technote
https://developer.apple.com/library/archive/technotes/tn2206/_index.html
already reads:
"Store Python, Perl, shell, and other script files and other non-Mach-O
executables in your app's Contents/Resources directory. While it's
possible to sign such executables and store them in Contents/MacOS, this
is not recommended.
[…]
Put another way, a properly-signed app that has all of its files in the
correct places will not contain any signatures stored as extended
attributes."
The patch does exactly that for LO and the shipped python framework and
adds symlinks for the moved files.
Same applies for the Language pack applescript and the tarball - those
are also moved into Contents/Resources

Change-Id: Iab21e77b73f941248ca89c6e80703fdf67a1057c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109537
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2021-01-18 15:56:36 +01:00
Tor Lillqvist 8b8c420dc5 Drop Python modules we don't want on macOS, too, like on other platforms
On macOS, for various reasons, we use a different approach than on
other platforms to construct the bundled Python.

Instead of explicitly listing what to include (out of what Python
contains and builds) (in ExternalPackage_python3.mk), after Python is
built, we remove stuff we don't want (in ExternalProject_python3.mk)
and then include everything left in the LibreOfficePython.framework
(in GeneratedPackage_python3.mk).

This fixes a problem in App Store review: For some reason the review
said that the setcchar() function from the ncurses library, used by
Python's curses module, is non-public. No idea why the (automated)
review picked on that function. As far as I see from the ncurses
header in the SDK, that function is no less public than the other
ncurses functions that the Python module uses.

But oh well, we don't actually ship the curses module anyway on other
platforms, so just drop it on macOS, too. And while at it, drop the
other unwanted ones, too. And any binary shared libraries for them.

Change-Id: Idecaf10a6fb1c59e8711095927f5699b8d2ec98e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107055
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107141
Tested-by: Tor Lillqvist <tml@collabora.com>
2020-12-03 11:05:52 +01:00
Thomas Viehmann 12142490cd Enable Python Py_DEBUG setting when built with --enable-dbgutil on Linux
This has been suggested on IRC for testing fixes/avoiding regressions
when working on the GIL locking in PyUNO.

Change-Id: Ifda21a867b3c0c7db636a9ec950050012e4742de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106791
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Tested-by: Jenkins
2020-12-01 10:16:17 +01:00
Tor Lillqvist a6a2855818 Add comment on how to run Python's own unit tests
Change-Id: Id62a688d2ddf7493d419a00a9fd0dfc6a6f13f0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106173
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-11-19 21:14:42 +01: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
Jan-Marek Glogowski b4dfba9477 python3: update to 3.8.4
With all the prerequisites in place, LO can be updated to the
current Python release. Interestingly I found that Cygwin always
seems to use LC_COLLATE=C, probably because the default collation
rules are missing.

Then there are the changes introduced in "PEP 587 -- Python
Initialization Configuration", which appearingly have modified the
DLL search path behaviour on Windows, so the OpenSLL DLLs aren't
found anymore in the program directory. As a workaround, the
OpenSLL and libffi DLLs are now (also) installed into the Python
lib dir on Windows.

Change-Id: Ib82f7b77213da9c525f8c79a13d128d9eec9ca64
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98437
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-07-17 10:15:06 +02:00
Jan-Marek Glogowski 883068462f libffi: build DLL on Windows
The build setup is rather horrible, with some minimal gcc MSVC
wrapper. But the DLL is a prerequisite for the Python 3.8 build,
which dropped the internal libffi.

It's also possible to build it statically, but then you have to
patch the Python 3 _ctypes msbuild properties.

This also defaults to explicit --build and --host settings, even
without a cross build, because the predicted name would otherwise
differ (*-unknown-* instead of *-pc-*).

Additionally a "make install" also fails...

Change-Id: Ifb7dac840e23efffb9a5e342560aef9e11e0db79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98436
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-07-17 10:14:36 +02:00
Jan-Marek Glogowski 0911b0a263 openssl: update to 1.1.1g
The OpenSSL 1.1.1 release is currently the only supported version
and it already has the Windows Arm64 support I was looking for.

This change also explicitly enables thread support, which Python
depends on since release 3.7, which removed the --without-threads
build option. But the explicit OPENSSL_THREADS was just added in
3.8.4, so the old no-threads build fails now and was wrong since
probably much longer.

Change-Id: I61d94f966bc59407f213f4a81f0a49d0c05f8948
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98435
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-07-17 10:14:17 +02:00
Stephan Bergmann 2919bc1586 Fix gb_ExternalProject_get_state_target,python3,removeunnecessarystuff
...which had been introduced with 0f2f719ccd
"tdf#106324: Remove unnecessary test folder from LibreOfficePython framework",
but had apparently forgotten to touch the target file when done, so any make
target that would (indirectly) depend on it would keep rebuilding python3 et al.

Change-Id: I0ac3611383c82c4e91a1eaa02e4cf5db28d326fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93117
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-29 10:54:08 +02:00
Stephan Bergmann 29d47d22c4 Fix passing --disable-optimized into external/python3
This had originally been covered by dccf47b7f6
"Build python3 with debug flags if --enable-debug", which got broken by
eeeec33ada "merge --enable-selective-debuginfo
into --enable-symbols" (which removed the definition of
gb_Module_CURRENTMODULE_DEBUG_ENABLED without adapting its use here).

But looking again, setting OPT for workdir/UnpackedTarball/python3/configure.ac
based on our various flags doesn't seem to be such a good idea anyway:  It is
used to specify a mixture of debuginfo (-g; which is set rather unconditionally,
so no need for us to cater for --enable-symbols here), optimization (-fwrapv,
-O*), and warning (-Wall) flags.  So better let
workdir/UnpackedTarball/python3/configure.ac keep deciding for itself what flags
to set in OPT, and then just override via CFLAGS those that do not suite us.
(Where it appears to be a happy coincidence that the Python build system puts
CFLAGS after OPT, so the former can override the latter.)

(An alternative approach could have been to pass --with-pydebug based on e.g.
--enable-dbgutil, as the former (a) causes OPT to include -O0 rather than -O3,
and (b) is documented to change the ABI (see
workdir/UnpackedTarball/python3/configure.ac: "Py_DEBUG implies assertions, but
also changes the ABI."), so probably best fits --enable-dbgutil.  However, at
least on Linux, --with-pydebug produces
workdir/UnpackedTarball/python3/libpython3.7dm.so rather than
workdir/UnpackedTarball/python3/libpython3.so, so would have required further
modifications.  Also, in a Linux UBsan build, making ExternalProject_python3
would have started to cause some "applying zero offset to null pointer"
failures, but which would have been easy to fix.)

(I noticed the missing -O0 when I attached gdb to an instdir/program/python.bin
process and `py-bt` only showed "(frame information optimized out)" frames,
which this change fixes for --disable-optimized builds.)

Change-Id: I9583e60692ae7130377422062f3c6df9334d693f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92362
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-16 16:04:05 +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
Michael Stahl 79084665f0 python3: bundle libffi for GNU/Linux builds
CPython commit f40d4ddff3c800b3c956a5e8820aabe3aa87cddd "Closes #27979:
Remove bundled copy of libffi" causes a bit of a problem because it
turns out that libffi isn't all that stable; there's libffi.so.5 on
CentOS 6, libffi.so.6 on CentOS 7 and libffi.so.7 on
lo_daily_update_gandalf tinderbox.

So we have to bundle it in LO; it's only used on GNU/Linux currently.

CPython commit 32119e10b792ad7ee4e5f951a2d89ddbaf111cc5 "bpo-35947:
Update Windows to the current version of libffi (GH-11797)" also removes
the libffi for MSVC, so in a future python upgrade we will have to build
libffi for MSVC too.

The libffi fork for MacOSX is still in CPython git master.

(regression from b10be5d484)

Change-Id: Ibc20cf8cd3614cf9941b6970662bd930496776b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86493
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-01-09 17:56:19 +01:00
Michael Stahl b10be5d484 python3: upgrade to release 3.7.6
* external/python3/python-3.3.3-aix.patch.1:
  most of it doesn't apply and AIX port isn't maintained anyway so
  remove it for now
* external/python3/ubsan.patch.0:
  apparently one of the files was removed
* 0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1:
  fixed upstream
* python3-osx-avoid-new-10.13.patch.1:
  replace with simply passing ac_cv_func_utimensat=no to configure
* external/python3/python-3.5.4-ssl.patch.1:
  project files to build OpenSSL removed upstream
* There have been changes to how python locates OpenSSL; new variables
  OPENSSL_INCLUDES etc; it turns out that you have to pass one directory
  to --with-openssl, as the variables cannot be passed
* libuuid.so.1 is a new dependency of the _uuid module
* libffi.so.6 is a new dependency of the _ctypes module (the bundled
  copy of libffi for non-Darwin platforms was removed)
* python-3.3.0-pythreadstate.patch.1:
  the PyThreadState functions have been changed such that
  CppunitTest_services asserts when there is a PyThreadAttach on top of
  PyThreadDetach on top of PyThreadAttach, i.e., 2 PyThreadState per
  thread (PyGILState_Check() fails).  Instead of patching in additional
  workarounds, change PyThreadAttach so that it re-uses an existing
  PyThreadState if one exists for the thread.

Change-Id: I24c19d79b43a30709261fd9db66312b2e3872fd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/84765
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-01-08 10:22:17 +01:00
Michael Stahl b0930d5613 python3: upgrade to release 3.5.9
Fixes CVE-2019-9948 CVE-2019-9740 CVE-2019-10160 CVE-2019-16056
and expat CVE-2019-15903.

python-3.3.5-pyexpat-symbols.patch.1 fails to apply, and it's a
mystery why --with-system-expat is used everywhere but on MacOSX,
where 292af048ac disabled it for no
obvious reason, so try to remove the special case and get rid of the
patch.

Change-Id: I5ba4532eb6e7c2fb90daba95d132dcc7c9013d96
Reviewed-on: https://gerrit.libreoffice.org/83117
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-11-19 12:22:59 +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 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
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
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
David Tardon b2c16b3563 fix build of bundled python3 with bundled zlib
Change-Id: I383a04ea926187263b1d7e11c548817fa9ca3fb6
2016-11-04 16:22:23 +01: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
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
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
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
Michael Stahl 2ada1d6e48 externals: remove various obsolete MSVC2012 specific flags
Change-Id: I8848d042a008c21e407d9610161b5c67d2137a18
2015-09-09 16:03:21 +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
Tor Lillqvist fe25090e99 MAC_OS_X_VERSION_MIN_REQUIRED is always >= 1080 now
Change-Id: I40d03ab9acb67ab72b9047017452f069ce88fd4b
2014-10-16 11:22:13 +03:00
Tor Lillqvist e7f8b9f8f5 Bye bye VS2010
Change-Id: I9d16f4f0df42ae4b046bc1e4ac4fba95c4b9d785
2014-09-17 13:10:26 +03:00
Stephan Bergmann e9778073e3 For ASAN __cxa_throw interception to work, link python.bin to libstdc++
...where the intercepted __cxa_throw is found, as otherwise PythonTest_sw_python
fails with

AddressSanitizer CHECK failed: projects/compiler-rt/lib/asan/asan_interceptors.cc:293 "((IndirectExternCall(__interception::real___cxa_throw))) != (0)" (0x0, 0x0)
 #0 in __asan::AsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) projects/compiler-rt/lib/asan/asan_rtl.cc:70:3
 #1 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) projects/compiler-rt/lib/sanitizer_common/sanitizer_common.cc:76:5
 #2 0x48c3ac in __cxa_throw projects/compiler-rt/lib/asan/asan_interceptors.cc:293:3
 #3 0x7f67faec0ef5 in pyuno::createClass(rtl::OUString const&, pyuno::Runtime const&) pyuno/source/module/pyuno_except.cxx:92:9
...

Change-Id: I0cb364eacab49644b426fb62f49bf9d7c8b5090c
2014-09-11 15:21:23 +02: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
rbuj 38d0bde62b ExternalProject_python3.mk: MACOSX
To build a universal binary in Mac OS X 10.6+ with an Intel processor, it is better to set --with-universal-archs=intel, remember that Rosetta is not installed by default in Mac OS X v10.6 and it is neither included nor supported in Mac OS X v10.7 or later.

If we don't use --with-universal-archs then the configure.ac sets the architectures:

...
UNIVERSAL_ARCHS="32-bit"
if test "`uname -s`" = "Darwin"
then
        if test -n "${UNIVERSALSDK}"
        then
                if test -z "`/usr/bin/file "${UNIVERSALSDK}/usr/lib/libSystem.dylib" | grep ppc`"
                then
                        UNIVERSAL_ARCHS="intel"
                fi
        fi
fi
...

In Snow Leopard (Mac OS 10.6):

/usr/bin/file /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib: Mach-O universal binary with 4 architectures
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture ppc7400):	Mach-O dynamically linked shared library stub ppc
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture ppc64):	Mach-O 64-bit dynamically linked shared library stub ppc64
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture i386):	Mach-O dynamically linked shared library stub i386
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library stub x86_64

/usr/bin/file /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libSystem.dylib
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libSystem.dylib: Mach-O universal binary with 3 architectures
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libSystem.dylib (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library stub x86_64
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libSystem.dylib (for architecture i386):	Mach-O dynamically linked shared library stub i386
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libSystem.dylib (for architecture ppc7400):	Mach-O dynamically linked shared library stub ppc

If x86_64 (for OS X 10.8+) or PPC (for OS X 10.5) is only desired then a universal binary is not useful and we don't have to use --enable-universalsdk=${UNIVERSALSDK}.

Change-Id: Ib0578cfdb912fed5a803df3d2e04d2b037cfe13f
Reviewed-on: https://gerrit.libreoffice.org/10249
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-07-14 15:36:33 +00:00
Douglas Mencken f4beadc6e2 avoid -arch for bundled OpenSSL, Python3, and nss/nspr on OSX@PowerPC
this fixes gcc: error: unrecognized command line option '-arch'

The '-arch' option is part of Apple's extensions to GCC, and it is uncompatible
with "vanilla" GCC from FSF. Also, we're not building "universal binaries".

Change-Id: I44e7c72bbb1dd4be5ac9cdbc4f210aaccea513b4
Reviewed-on: https://gerrit.libreoffice.org/10117
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-07-11 14:42:57 +00:00
David Ostrovsky 5a03dad452 VS2013: Adjust python3 to 12.0 vcproj version
Change-Id: Ic4566e8a199d3f31d6d4cb2d3fd41ad7b762c02a
Reviewed-on: https://gerrit.libreoffice.org/10162
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2014-07-11 11:45:43 +00:00
Michael Stahl dbe2f8900f python3: stop symlinking directories on WNT
Change-Id: I281d3dd66a8db8da44cce60bade4a0ee7d1df763
2014-06-09 17:05:48 +02: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
Christian Lohmaier 87c1aa16a9 use $(gb_AWK) instead of awk
Change-Id: Ia00d7e52de5edfce09c3a0a8aa4390e3e1582a01
2014-05-22 22:49:02 +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
Michael Stahl 593ff64283 normalize values of MINGW_SHARED_GCCLIB/MINGW_SHARED_GXXLIB
Change-Id: I4f4cecd95f87b9d37fa1b1a270cf554d7707aaa2
2014-03-11 11:57:18 +01:00