Commit Graph

1344 Commits

Author SHA1 Message Date
rdb 951c182c0e makepanda: Preparatory changes for Big Sur / arm64 builds 2020-11-30 19:46:20 +01:00
rdb aace94a521 makepanda: Fix version checks for macOS 11.0 Big Sur
Fixes #1056
2020-11-25 01:22:26 +01:00
rdb 5fe83f4286 makepanda: Don't fail building installer if models dir is empty 2020-11-21 14:19:22 +01:00
Daniel 5443f62068 makepanda: Add missing YY_NO_UNISTD_H to built Flex sources
Closes #1028
2020-10-02 12:15:26 +02:00
rdb 7f11dc19cd makepanda: fix ABI flags not being stripped from PYTHONVERSION 2020-09-14 19:31:07 +02:00
rdb 7711757d3d makewheel: add Python DLL before adding panda3d modules
This should ensure that dependencies of Python (such as VCRUNTIME140.DLL) make it into the deploy_libs folder, rather than the panda3d folder.
2020-09-14 11:56:25 +02:00
kamgha 30d8c90f77 makepanda: MSVC fix generating non-SSE2 code for x86
Closes #1018
Fixes #1017
2020-09-13 15:17:02 +02:00
rdb 54ffc534fb makepanda: Fix various issues building with Python 3.10 2020-09-12 22:49:46 +02:00
rdb 2cb5b95d08 makewheel: Fix DLL location when building with --no-copy-python
This fixes a missing libffi-7.dll dependency of _ctypes.pyd
2020-07-01 11:14:13 +02:00
rdb cada6c2c7b Revert "makepanda: Add pyenv support"
This reverts commit eef55f19d8.
2020-06-14 11:07:24 +02:00
Mitchell Stokes eef55f19d8 makepanda: Add pyenv support
Only tested on Linux with Clang

Closes #943
2020-06-02 20:42:29 +02:00
rdb 783c721cef makewheel: strip codesign signature on macOS from libpython3.x.dylib
This is necessary because install_name_tool invalidates the signature, which causes the whole app to fail validation and refuse to open.
2020-03-29 15:34:01 +02:00
rdb 8a86ca97eb makewheel: don't include libpythonX.Y.a in wheel
Fixes #839
2020-03-02 11:00:00 +01:00
rdb 54ff2a8dda makepanda: support --cggl-incdir and --cggl-libdir options
It's quite hacky right now, but that doesn't matter as we're switching to CMake anyway
2020-02-29 16:55:14 +01:00
rdb f57cd186bb makewheel: fix location of libpythonX.Y.so on Debian/Ubuntu 2020-02-23 10:20:38 +01:00
rdb f1af6c80ff test_wheel: fix for Python 3.4
[skip ci]
2020-02-22 14:43:52 +01:00
rdb 8ff2064fe5 makepanda: auto-detect manylinux2010 and manylinux2014 platforms 2020-02-22 12:10:55 +01:00
rdb 59608c9079 makepanda: force flex step for dcParser to occur after bison step
This fixes an erratic build failure reported by the Travis GCC builder.
2020-02-10 13:48:38 +01:00
rdb 6f17a9e36a makepanda: disable plug-ins in Config.prc that weren't compiled
This also disables the plug-ins if we are building them statically.
2020-01-22 09:16:02 +01:00
rdb e5b7760b85 makepanda: do not pass -Wl,--exclude-libs on macOS for OpenSSL
Part two of fix for build regression introduced in e78ce78acf (see #851)
2020-01-21 15:29:12 +01:00
rdb 6b5c473b8e makepanda: do not pass -Wl,--exclude-libs on macOS
Fixes build regression introduced in e78ce78acf (see #851)
2020-01-21 15:21:16 +01:00
rdb e78ce78acf makepanda: don't export symbols of linked static libraries
This results in size savings for thirdparty libraries that are only used once, and a size increase for libraries used more than once (eg. OpenSSL).  More importantly, it prevents conflicts with other versions of the libraries loaded by other Python modules, such as the version of OpenSSL that the hmac module uses.

We need to be careful to only apply this for packages that are either used once, used in a plug-in module, or if we don't need to pass thirdparty library structures across Panda library boundaries.  For example, I haven't done this for Bullet, since the Bullet symbols need to be available through libpandabullet.so due to the fact that pandabullet contains calls to the Bullet libraries in the inline methods.

Fixes #851
2020-01-21 14:35:17 +01:00
rdb 8859ad8c1b makepanda: remove explicit OpenSSL link where it is unneeded
These were probably added before makepanda gained the ability to automatically add dependencies of static libraries when linking statically.

They don't really do any harm--the linker will probably optimize these out automatically--but it's cleaner not to add unused dependencies.
2020-01-21 14:07:36 +01:00
rdb 2fd703af6c makepanda: fix using Windows 8.1 SDK (which also requires UCRT) 2020-01-13 15:02:36 +01:00
LD 87a1be4d4e makepackage: Add warning in macOS installer about change of installdir
Closes #830
2020-01-06 16:17:02 +01:00
rdb ca89b7420a Update Python 2.7 EOL warnings to indicate that EOL date is reached
[skip ci]
2020-01-06 00:36:49 +01:00
rdb 8137bea8f8 makepackage: fix regression in MakeInstaller on Windows 2020-01-05 18:52:26 +01:00
rdb b7017669a1 makepackage: fix None installdir when not passing in any on macOS 2020-01-04 14:14:12 +01:00
Donny Lawrence 2d4647ea33 makepackage: Change macOS install location
Starting with macOS 10.15, we can no longer install into /Developer/Panda3D due
to it not being one of the sanctioned writable directories. This commit changes
the default install location to /Library/Developer/Panda3D, which is the next
best place to put it (discussion on this can be found in #760).

To keep compatibility with those who may rely on the old location, some
postinstall scripts have been added that create symlinks to the new location
if running on 10.14 or older.

Fixes #760
Closes #825
2020-01-04 02:57:21 +01:00
rdb 2d11f36c9e makepanda: add docstring for panda3d.dtoolconfig module 2019-12-29 15:06:24 +01:00
rdb 530955b53e makepanda: add explicit link to libOpenMayaUI.dylib on macOS
This is needed when compiling without -undefined dynamic_lookup
2019-12-29 14:19:58 +01:00
rdb 4c3b6fcc03 makepanda: libIMFbase.dylib is no longer shipped with Maya 2020 on macOS 2019-12-28 21:27:51 -05:00
rdb 7aab057245 makepanda: change strange rpath argument for maya2egg on macOS
It doesn't seem like this setting is actually needed (because mayapath does the necessary set-up), but while it's set, we might as well set it to something more sensible.
2019-12-28 21:25:41 -05:00
rdb 8c82cf5800 makepanda: --universal should not enable i386 when targeting 10.15+
[skip ci]
2019-12-29 00:27:59 +01:00
rdb 5eb40b9061 makewheel: remove maya2egg#_bin.exe from entry_points.txt
These are not intended to be invoked by the user directly, so .exe wrappers do not need to be generated.  maya2egg will find the _bin equivalent by looking for it next to the executable itself.
2019-12-28 21:27:58 +01:00
rdb 7b5e11e9c9 makepanda: add support for Windows 10.0.18362.0 SDK 2019-12-28 20:57:44 +01:00
rdb 1c50abb79b Add support for Maya 2020 2019-12-28 20:57:21 +01:00
rdb 02b0fe0063 installpanda: add note about needing to call "sudo ldconfig"
This note only appears when not using --destdir

This should help avoid user confusion (such as in #818)

[skip ci]
2019-12-18 17:03:44 +01:00
rdb 8645e9d2a4 makepanda: distinguish macOS 10.6 from 10.9 libs in thirdparties
This is specifically for C++ thirdparty libraries, which are linked against either libc++ or libstdc++, and can now both be present in the thirdparty download, in order to address #584

This is a temporary fix for 1.10.5 that will not be present on master (due to #300)
2019-12-18 09:06:15 -05:00
rdb 0456fdcd92 makepanda: update CommandLineTools paths for newer XCode versions 2019-12-18 08:42:43 -05:00
rdb 4c62260291 makepanda: add -framework AudioUnit for OpenAL Soft (#678) 2019-12-18 08:41:58 -05:00
rdb a503e9439e test_wheel: only install colorama on Windows 2019-12-11 15:25:15 +01:00
rdb 1568d1c6b1 test_wheel: workaround to keep this working on Python 3.4 for now
colorama dropped Python 3.4 (see tartley/colorama#228) but pip is not smart enough to lock to an older version.
2019-12-09 09:50:39 +01:00
kamgha 6e36abf5ba makepanda: build against OpenEXR 2.4 (MSVC)
Fixes #799
Closes #800
2019-12-08 10:29:44 +01:00
rdb 4f4b79295f makepanda: fix error when building on Android without specifying --target 2019-12-07 14:32:09 +01:00
rdb 1cfd297433 makepanda: specify freetype library after harfbuzz as well
This fixes static linking of harfbuzz and freetype, which have a circular dependency on each other.
2019-11-17 20:37:33 +01:00
rdb c52db7239b makepanda: fix unnecessary re-copy of unmodified direct files 2019-11-02 19:51:16 +01:00
rdb e1df400f87 makewheel: add pandac/input/*.in interrogatedb files
These are present in the normal SDK builds and are useful for analyzing the API, for example for generating FFI code or generating API documentation.
2019-10-29 20:44:52 +01:00
rdb a9759fab14 makepanda: fix makepanda.bat to look in Python 3.7 folder 2019-10-25 11:50:50 +02:00
rdb 45973fe697 makepanda: remove a leftover debug print 2019-10-25 10:25:40 +02:00