Commit Graph

61 Commits

Author SHA1 Message Date
4c63fd10a5 Try to fix cross-compilation
Add more FOO_FOR_BUILD variables and some gb_Foo_for_build functions.

Get rid of gb_INSTROOT and gb_DEVINSTALLROOT, just use INSTROOT.

Change-Id: Iee531b02d14fae41edb68ad589a5dec829a60255
2013-09-23 00:54:43 +03:00
1727fc2794 Fix python3 build on a clean OS X with no /usr/include
Change-Id: I5982c44d5995baeaffff4ff12316f1f8fa7d0ade
2013-09-22 16:29:19 +03:00
2f6261fa07 find lots of external static libraries in UnpackedTarball dir
Note: do NOT put file paths to static libraries into FOO_LIBS variables
that are passed to bundled externals that are built with --enable-static:
on Mac OS X this will result in .a archives that contain other .a
archives as entries, and trying to link those results in errors like:

ld: warning: ignoring file .../libodfgen-0.0.a, file was built for
archive which is not the architecture being linked (i386)

Change-Id: If2c5a458058e4da76f80b3643e55b489d1edee24
2013-09-22 11:08:33 +02:00
df52c9f477 python3: fix the MacOSX build here too
/usr/bin/install -s will invoke "xcrun strip", and there are a few
hardocded install_name_tool left.

Change-Id: I839af379320b4886c45a12c9a1d4fa88d2ef0059
2013-09-13 22:34:42 +02:00
5397b49f4d Towards a working instdir for Mac OS X
Introduced gb_INSTROOT, which is the same as $(INSTDIR) except for Mac OS X,
where it is $(INSTDIR)/LibreOffice.app/Contents.  Most stuff ends up there (so
most occurrences of $(INSTDIR) have been replaced with $(gb_INSTROOT)), but SDK-
related stuff goes to $(INSTDIR)/$(gb_Package_SDKDIRNAME).  (And
GeneratedPackage needed to be made more flexible, to allow for packages that go
into either of those two places.)

For Android and iOS, gb_INSTROOT probably still needs to be set.

The most obvious missing thing yet to make instdir work for Mac OS X is the
instdir/*/LibreOffice.app/Contents/ure/ vs.
instdir/*/LibreOffice.app/Contents/ure-link/ split.

Change-Id: I4478edd27b14c92c96d92d5169bdca3ec50d78f5
2013-09-11 00:50:54 +02:00
dccf47b7f6 Build python3 with debug flags if --enable-debug
...the special case for AIX can probably be cleaned up?

Change-Id: I34ca29acaddcff9b811067504c12a8243a6d046b
2013-08-28 10:04:08 +02:00
058a3d1c46 Further work on the "Mac-like app structure" option
Lots of stuff still either ended up in the wrong place, or was looked up from
the wrong place, or both. Fix most cases.

Change-Id: I06ebbce207c219f3cd82b4387dd9b3fdb83420d4
2013-08-18 21:11:16 +03:00
523a1c00e1 enable binary package option for a set of 'stable' libraries
Change-Id: I8924ba22d178aa4d8e500ae3f484af654a37e87e
Reviewed-on: https://gerrit.libreoffice.org/4765
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: David Ostrovsky <David.Ostrovsky@gmx.de>
Tested-by: David Ostrovsky <David.Ostrovsky@gmx.de>
2013-08-17 07:16:57 +00:00
6b5455c2f9 python3: reduce MSVC copy/paste
Change-Id: I225107d87e2fd084be536f524ae62fa0d60891f0
2013-06-04 17:21:15 +02:00
424e936fc0 fdo#65305 fix python on win
Apparently the native modules (.pyd) are expected directly in lib, not
in lib/lib-dynload like the .so's on linux.

Change-Id: Ic3181f189d9db51cb57630c4c1ea8741bbf879ec
2013-06-04 15:55:49 +02:00
10f458388c Bin VS2008 bits
Change-Id: I96979f61eac5cc48721e3733d90822406bcb49cc
2013-05-31 13:49:14 +03:00
32565ee39b Bump maximum fuzz factor down to zero
Change-Id: I97d30afe3a24aab1123352da05b066095e5c86bb
2013-05-27 19:02:50 +03:00
e84209af11 drop unused makefile
Change-Id: I9ef6331e49c26ce5060aea52157a600274a1b080
2013-05-13 18:32:12 +02:00
20feaeed7e the program dir is called MacOS on MacOS X
program is only a symlink to it there, created by the installer.

(Hmm, would it be possible to have MacOS symlink to program instead? It
would simplify things :-)

Change-Id: If21df47da5ac7c77358656f40d9caaaa62a7e87f
2013-05-13 18:32:11 +02:00
97b4c3d27b Revert "python3: build against internal zlib when that is requested"
Internal zlib is not really supported anyway on any platform that uses
setup.py.

This reverts commit 6afe0e5804f2a23f9fc9842d372fff77fd1023f1.

Change-Id: Icf94a85c4baf00df54ee5dcca5fe3ca4a63a54a8
2013-05-08 18:24:36 +02:00
6afe0e5804 python3: build against internal zlib when that is requested
Change-Id: I72798f704237f99ed49eeb3633a1e2ef481edeed
2013-05-08 17:49:57 +02:00
5e037bbb3b expat: remove ExternalPackage_expat
Change-Id: I80b7f86947645a45263bbd7423a10ba8300441e9
2013-05-08 17:49:56 +02:00
1a1f1fbdf0 gbuild: ExternalProject: remove second parameter again...
... now that everything is consistent.

Change-Id: I96c15159648815554280202eb1b6d274ead4e7b8
2013-05-07 01:41:26 +02:00
276021c761 gbuild: remove gb_ExternalProject_use_unpacked
It must always be used exactly once, so replace it with constructor
parameter.

Change-Id: Ifbe87065c19a5185a5705dc461656179002ece5d
2013-05-07 01:41:25 +02:00
6cac17078c install python framework using filelist
Change-Id: Ib3a98d8268d0a1973d5f06b993c293fd41ba47e1
Reviewed-on: https://gerrit.libreoffice.org/3779
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2013-05-04 14:43:03 +00:00
eb5056dc2e the MacOS X cleanup is logically a part of build
... so move it to python/ExternalProject_python3.mk, where it belongs.

Change-Id: Ib99a6a40182341257f79dd289eac51806be46fcf
Reviewed-on: https://gerrit.libreoffice.org/3778
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2013-05-04 14:42:53 +00:00
72e5d0c8fb Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-30 13:34:06 +01:00
b6bcbb675a replace python-core zip built in pyuno with direct use of Package
- python3: deliver files to INSTDIR, with same layout as instset
  and do not deliver .lib files
- pyuno: remove obsolete python.bin targets
- pyuno: remove usage of CustomTarget_zip for WNT and non-Mac UNX
  platforms (sadly it is apparently still needed for "system" python on
  MinGW)
- scp2: use the python3 filelist
  There is still a problem here because the installer does not currently
  allow to preserve the executable bit on files in a filelist
- RepositoryExternal: run python executable from INSTDIR
  and link against libraries in UnpackedTarball dir

Change-Id: I931ca0a8be6ff40051b1ca50da1f0770e6057832
Reviewed-on: https://gerrit.libreoffice.org/3525
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2013-04-22 11:33:25 +00:00
292af048ac python3: --with-system-expat seems to mess up mac build
Change-Id: I2227c5c715bb656878dd97b71d59c149e7e5320a
2013-04-20 21:39:48 -05:00
b865ff3d75 python3: put an RPATH into python binary ...
... and get rid of LD_LIBRARY_PATH hack in wrapper shell script.

Change-Id: I7d91c6086460504d656de7b018087264165f396b
2013-04-19 16:16:34 +02:00
748f3ea41f python3: deliver the GDB python support script
Change-Id: I3abbc36198719fc118404bfcc039fdf3397e324e
2013-04-19 00:30:13 +02:00
38232ea198 python3: re-enable both debug symbols and optimization
These were apparently accidentally disabled on all non-WNT platforms.
Set the OPT variable from the outside on the platform that needs it.
(regression from ab41efc81ec26fcbd4cdeb9c36fbe8cc274523f)

Change-Id: Ifbf7ec8e0f863cb6368758571496c8b615e3e814
2013-04-19 00:30:12 +02:00
0f7754dfa0 python3: VERBOSE is handled by gb_ExternalProject_run already
Change-Id: I0caf3a9440c7617c9f1c643a4c3fe279d04cf1dc
2013-04-19 00:30:12 +02:00
e83990a872 python3: disable check in PyThreadState_Swap
This check is triggered by nested pyuno PyThreadAttach instances.
The assertion is basically about having multiple PyThreadState instances
per OS thread.  Hopefully this is not a "real" problem and the other
checks in PyEval_ReleaseThread/PyEval_AcquireThread will find all "real"
problems.

http://www.mail-archive.com/libreoffice@lists.freedesktop.org/msg62195.html

Change-Id: Ia82135f37f55ea69b545a83098619939869cb7c5
Reviewed-on: https://gerrit.libreoffice.org/3453
Reviewed-by: David Ostrovsky <David.Ostrovsky@gmx.de>
Tested-by: David Ostrovsky <David.Ostrovsky@gmx.de>
2013-04-18 16:27:28 +00:00
4811c2dc9f adapt all externals to build against MSVC debug runtime
Add patches and/or tweaks to the following modules:
curl, cppunit, icu, lcms2, libxml2, libxslt, libxmlsec,
lpsolve, nss, openssl, python3

lcms2 has an inconsistency where the .lib and the .dll don't agree on
the .dll name.

openssl gets a honorable mention because apparently it's undocumented
custom build system can build with /MDd if one picks the right
configuration but i couldn't figure out how to do that in an hour of
trying, and just patched the release config instead.

Change-Id: I7854a0fc85247e398d561b4f513d09fe2d1ebb3c
2013-04-15 15:26:32 +02:00
3aa14b5a2f python: honor --disable-openssl
On --disable-openssl, the bundled python library
will not build its OpenSSL module.

Change-Id: I132663c0160f800411f78e49444fe1c5d9ce9ef9
Reviewed-on: https://gerrit.libreoffice.org/3332
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2013-04-13 10:48:21 +00:00
1a7f09b3eb aix python doesn't have lib-dynload contents
Change-Id: Ib6339c29f6820e75ff99aeb0547145597771d584
2013-04-06 13:07:44 +01:00
a62e73a74b get python3 building with gcc on aix
Change-Id: I47af280e24bff248e6404ec18c1afef8c461b40b
2013-04-06 12:12:38 +01:00
c49d0ba320 python3: fix typo in 8b79f292fb7f41f424c4f02900082a5c9a71c0f4
Change-Id: I8bea810debfd4f53f4c53fe06fdf1f2b9256e795
2013-03-21 20:02:25 +01:00
8b79f292fb Fix x64 Windows build of python3 (no idea if it works)
Change-Id: If8075a459acf4901ef451b24e54d88a8b68393f9
2013-03-21 20:21:30 +02:00
79b0046ba0 remove legacy build.pl prj/build.lst files. 2013-03-14 17:05:51 +00:00
c6cfd44717 Work around GCC 4.8 -Werror=format= in python3
...complainging that "‘PyArg_ParseTuple’ is an unrecognized format function
type."

Change-Id: I125af6669010c4c9c1a18cc7c1a4895acc89338b
2013-03-09 13:03:05 +01:00
b768611724 remove all d.lst
Change-Id: Icba4218c5f9fe89d183d25ea82a8eae52881f885
2013-02-28 18:40:06 +01:00
7c8a4a4f31 python3 command typo for a certain version of MSVC
Change-Id: I8bbc7e73e210461b465bfdcd62b2da1d974020df
2013-02-26 05:19:28 -06:00
ed26c01be1 quiet external module build log unless failure
ExternalProject usually involve a configure and a make
step that produce a bunch of output usually irrelevant
including a large number of warning and other mess.
now that everything is pretty much in tail_build
these output get interleaved with useful output from
the build of the product and actually drown them in a logorrhea
of messy noise.
This store the output of external modules in a log file
and only print them as a whole if the module failed do build.
on a non-verbose build.

Change-Id: I3abfcccd6d16821a9e061a71e031b427cc283647
Reviewed-on: https://gerrit.libreoffice.org/2304
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
2013-02-22 08:25:56 +00:00
2b5dd63565 python3: 15833.patch makes sense with ro /usr on Linux as well
Change-Id: If0d7b17b97a78eddcdd02b3951afb7b2a1ae43ad
2013-02-10 21:42:14 +01:00
eb96e43252 python3: bug 15833
That python bug cause problems when libreoffice is on a read-only
media... which is very common for Mac as the dmg used to package
the produce is seens as a read only volume.
This patch the bug 15833 for MacOSX only since that is the platform that
is most likely to be impacted, and because of bug 15431 that make
patching on Windows more complex/dangerous.

Change-Id: Ie7406c1c75748d38c871b3b544560caa62e9d838
Reviewed-on: https://gerrit.libreoffice.org/1934
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
2013-01-31 10:42:45 +00:00
0f6f38b5d7 Fix 64-bit OS X build: don't try any universalness 2013-01-02 20:55:12 +02:00
9ddba66440 convert openssl to gbuild and add to tail_build
Change-Id: I52c62a91e317f072237cf25ed54f3cc6456d82b3
Reviewed-on: https://gerrit.libreoffice.org/1495
Reviewed-by: Peter Foley <pefoley2@verizon.net>
Tested-by: Peter Foley <pefoley2@verizon.net>
2012-12-31 20:13:20 +00:00
4ea11e31e9 /p:VisualStudioVersion=11.0 here, too
Change-Id: Ifa463327e9f33696012b3add0640b12f6d585178
2012-12-18 16:53:42 +02:00
aaee2f77bd Revert "fix python3 build on SLED11"
Failures to build some python modules are actually not fatal, I just got
confused because the whole python build runs in parallel to the normal make.
This reverts commit f4ae375c00deb2297074c59b62db87de080bf591.
2012-12-04 11:53:11 +01:00
f4ae375c00 fix python3 build on SLED11
Apparently all recent systems use ncursesw, for which there is
-I/usr/include/ncursesw, but SLED11 uses ncurses lib, and there's no -I for that.

Change-Id: I61ec795aae45e1074075351eca62299784d08b09
2012-12-04 01:04:53 +01:00
773df2cb86 Nah, wrong to use /p:PlatformToolset=Windows7.1SDK
It must be my local installation of VS2010 that is somehow screwed up
when building here it doesn't find <windows.h>. I need to fix that
instead.

Change-Id: I37a5f8b41f193b108f33464a6a127c0a5969d232
2012-11-30 10:58:47 +02:00
1ea411fb15 We need to tell the MSVS 2010 build to use Windows7.1SDK
At least for me it wouldn't build otherwise. But yeah, what it
somebody uses MSVS 2010 with another SDK? It seems that the solution
only offers the SDK 7.1 as an alternative?

The default was v100, whatever that measn. Could it be that my MSVS
2010 installation is borked? Or that I did not have to install a
bundled SDK with it, because I already had a separate 7.1 SDK?

Also simplify a bit, no need to $(filter) on VCVER inside ifeqs that
already check the very same VCVER.

Change-Id: Ifef98c9466fc24db27d9e38c6878c77adfb4ed75
2012-11-30 01:22:22 +02:00
38fed61f63 Kill the ProjectReference to ssl.vcxproj, too
Otherwise it would try to build the ssl.vcxproj which we don't want
(because we want to use the openSSL already built from solver), and
which fails anyway because for some reason it wants to run
python_d.exe.

Change-Id: I7471bc26ae96be84b976ba35bb959d75678df980
2012-11-30 01:21:09 +02:00