Commit Graph

1549 Commits

Author SHA1 Message Date
rdb 8f43048c4f makepackage: Support installing Python 3.10 bindings in Windows installer 2020-12-22 12:37:06 +01:00
rdb f4fa444013 Merge branch 'release/1.10.x' 2020-12-22 00:37:50 +01:00
rdb eea0abe488 makepackage: Only copy Frameworks dir if present and not empty
This directory may now be vestigial as of the previous commit.

[skip ci]
2020-12-21 22:16:36 +01:00
rdb 5cd6469fd8 makepanda: Don't make built/Frameworks directory unless needed
It is no longer needed if we don't ship Cg as a framework, see #1079

[skip ci]
2020-12-21 22:10:53 +01:00
rdb fa04d77b57 makepanda: Replace use of deleted GetThirdpartyLibDir function
This caused a build error due to a faulty auto-merge.
2020-12-20 01:11:46 +01:00
rdb dee8df9427 Merge branch 'release/1.10.x' 2020-12-20 01:02:08 +01:00
rdb c4376b4f41 makepanda: Disable Maya builds for ARM64 on macOS 2020-12-20 00:32:20 +01:00
rdb 2d65738a18 makepanda: Respect lib-10.6 dir when copying dylibs/running install_name_tool
In the 1.10.8 thirdparty packages, OpenCV is split into a lib folder and a lib-10.6 folder, so we should use the proper dylibs to still be able to target 10.6
2020-12-19 14:10:51 +01:00
rdb 1a5fd04499 pzip: use Python zlib module to perform pzip step
This is more useful when cross-compiling, not requiring a functional pzip binary on the host.
2020-12-19 02:00:59 +01:00
rdb f5e7b0a439 makepanda: prefer more recent macOS SDKs over older ones
See Apple's recommendations:
https://developer.apple.com/library/archive/qa/qa1806/_index.html

We may still be limited to the 10.13 SDK to be able to build FMOD Ex.
2020-12-19 00:13:19 +01:00
rdb 8231bc12bf makepanda: remove --osxtarget option
We can target 10.9 (the minimum supported) even with the 11.1 SDK, so we should just check for whichever SDK is available, and always target 10.9 (or 11.0 when building for arm64 only, since arm64 requires 11.0 to begin with).

This also means that --universal will always add both x86_64 and arm64 to the build.
2020-12-18 13:11:35 +01:00
rdb a5ae292c3e Merge branch 'release/1.10.x' 2020-12-18 12:56:31 +01:00
rdb 9544911127 makepanda: fix error building with --universal flag
[skip ci]
2020-12-18 12:54:35 +01:00
rdb ce5379a0ad makepanda: Bring back --universal flag for Universal 2 2020-12-18 12:29:04 +01:00
rdb a18edf54b7 makepanda: Changes to support build for macOS 11.0 / arm64
Besides use of --universal with --osxtarget 11, it's now also possible to create a fat build with ARM64 by using --osxtarget 10.9 --arch x86_64 --arch arm64 (it will use the 11.x SDK but target 10.9)

FMOD Ex is also being disabled when building against the 10.14 SDK or higher, because the necessary libstdc++.6.0.9.dylib is no longer being shipped.  FMOD Ex, libRocket and Cg are all disabled on ARM64 (FMOD Ex and Cg don't have the binaries available, libRocket could theoretically be built but there's no point as there won't be an ARM64 build of Python 2.7, and besides, we've deprecated it anyway).

Fixes #1062
2020-12-17 13:00:22 +01:00
rdb 10ef9b3456 makepanda: recognize --osxtarget 11, --universal should add arm64 2020-12-15 12:32:40 +01:00
rdb ed397b3ab8 Merge branch 'release/1.10.x' 2020-12-09 17:59:37 +01:00
rdb 951c182c0e makepanda: Preparatory changes for Big Sur / arm64 builds 2020-11-30 19:46:20 +01:00
rdb c9aedc2b44 Merge branch 'release/1.10.x' 2020-11-28 22:26:04 +01:00
rdb aace94a521 makepanda: Fix version checks for macOS 11.0 Big Sur
Fixes #1056
2020-11-25 01:22:26 +01:00
Daniel c5017acb1d makepanda: Add fftw3 pkg-config name 2020-11-24 20:35:05 +01:00
Derzsi Dániel 862d06b7a8 workflow: Add Python 3.9 to GitHub CI workflow
Closes #1054
2020-11-23 10:58:23 +01:00
Daniel ac6a1a7874 collide: Expose CollisionPolygon's setup_points and verify_points to Python
Closes #1035
2020-11-22 22:01:07 +01:00
rdb 8486d286b7 Merge branch 'release/1.10.x' 2020-11-22 15:19:51 +01:00
rdb 5fe83f4286 makepanda: Don't fail building installer if models dir is empty 2020-11-21 14:19:22 +01:00
kamgha 71f4802630 makepanda: MSVC switch /Ox to /O2 for opt4
/O2 is more "aggressive" for speed optimization and recommended for release builds, /Ox can be useful for debugging.

Also remove flags implied by /O2

Closes #1016
2020-11-02 11:02:49 +01:00
rdb c788912070 Merge branch 'release/1.10.x' 2020-10-02 12:20:58 +02: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 e879817ed5 makepanda: Remove support for Python 3.5 2020-10-02 12:05:59 +02:00
rdb 54b93116e8 Merge branch 'release/1.10.x' 2020-09-16 10:59:59 +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
rdb 921cbc6bae Merge commit 'e0d34131822a8852ff72dc9c5597f4dc6900719a' 2020-09-13 16:17:06 +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 66ac3be604 Merge branch 'release/1.10.x' into master 2020-09-12 23:23:58 +02:00
rdb 54ffc534fb makepanda: Fix various issues building with Python 3.10 2020-09-12 22:49:46 +02:00
Mitchell Stokes d547225a55 Move speedtree code to contrib
SpeedTree support in Panda is unmaintained, so move it to contrib to better
reflect it's current status.

Closes #990
2020-09-01 08:57:57 +02:00
rdb f4cc2d7441 makepanda: Remove old makepanda.vcproj file
It is a maintenance burden to update, and makepanda can now produce VS projects, so this is no longer needed.
2020-08-17 10:31:34 +02:00
rdb dcc08ac572 Merge branch 'release/1.10.x' 2020-07-25 14:58:35 +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 f3c0fa06b3 makepanda: silently ignore removed --host argument 2020-06-20 23:02:04 +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 9f1289b492 egldisplay: Support headless OpenGL via EGL when compiled without X11
See #557
2020-05-20 20:27:40 +02:00
rdb fbc4947455 egldisplay: Support creating headless GLES contexts
See #557
2020-05-19 22:34:05 +02:00
rdb d799a09002 cleanup: Remove support for EOL versions of Python
Fixes #905
2020-04-26 20:07:56 +02:00
Donny Lawrence afba3ba01c makewheel: Support deps referenced by @rpath
The new CMake build system uses @rpath rather than @loader_path when
specifying a library's dependencies. Since rpaths are set by the
executable, we don't need to do any path manipulation to relocate the
libraries to a .app bundle like we do with @loader_path.

Fixes #913
2020-04-25 10:37:59 +02:00
rdb 30d9f88f8e Merge branch 'release/1.10.x' 2020-04-01 18:53:00 +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 515ce931b9 Merge branch 'release/1.10.x' 2020-03-08 10:37:05 +01:00
rdb 8a86ca97eb makewheel: don't include libpythonX.Y.a in wheel
Fixes #839
2020-03-02 11:00:00 +01:00
rdb 9fb60b18e7 Merge branch 'release/1.10.x' 2020-02-29 16:58:45 +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 c59b91f503 Merge branch 'release/1.10.x' 2020-02-23 14:53:16 +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 fda898807a Merge branch 'release/1.10.x' into master 2020-02-10 13:52:05 +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
Leandro (Cerberus1746) Benedet Garcia 5f7809469c general: removed all WIN32, WIN32_VC and friends 2020-02-05 22:45:03 -07:00
rdb b272af8bbf Merge branch 'cmake' 2020-01-22 11:20:51 +01:00
rdb 26b86dfe5f Merge branch 'release/1.10.x' 2020-01-22 11:20:24 +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 05d5bac598 Merge branch 'release/1.10.x' into incoming 2020-01-21 15:34:25 +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 4819e2ce3a nativenet: drop unused Socket_TCP_SSL
This removes the dependency of libpanda on OpenSSL.
2020-01-20 11:56:27 +01:00
rdb 8d472dfbcc makepanda: remove unused 2to3 code in CopyPythonTree
We haven't needed this for a while since the direct tree is both Python 2 and 3 capable, and furthermore, Python 2.7 is EOL and will be dropped soon in Panda3D.
2020-01-13 16:15:44 +01:00
rdb 0b0f3d2f8e dxgsg9: drop support for old dxerr9.lib (part of #433)
This drops support for the *really* old DX SDKs.  We still support the June 2010 SDK.
2020-01-13 16:00:31 +01:00
rdb 4c1373b721 makepanda: default to Windows 8.1 SDK, falling back to 7.1 SDK
We no longer support Windows XP and so there is no point in defaulting to the old 7.1 SDK, which is hard to install.  To target Vista, we can use the 8.1 SDK (+UCRT).
2020-01-13 15:27:56 +01:00
rdb 492073cc87 makepanda: fix comments erroneously referring to PandaVersion.pp 2020-01-13 15:13:35 +01:00
rdb 640683cdb9 Merge branch 'release/1.10.x' 2020-01-13 15:12:55 +01:00
rdb 1bb4a032aa Drop support for Windows XP 2020-01-13 15:06:44 +01:00
rdb 2fd703af6c makepanda: fix using Windows 8.1 SDK (which also requires UCRT) 2020-01-13 15:02:36 +01:00
rdb da9d1d6a13 makepanda: silently ignore --no-rocket and --no-physx flags 2020-01-07 22:19:55 +01:00
rdb 09bddf4315 physx: remove support for NVIDIA PhysX
Our support was stuck on an ancient version that has not been available for a while.  If we were to continue support it should be done around the new PhysX 5.0 API, not 2.8.4.
2020-01-07 21:57:22 +01:00
rdb da8ba5de17 rocket: remove libRocket support and sample program
libRocket is unmaintained and does not support Python 3, and since Python 2.7 is EOL, there is no longer any point for us to keep supporting it.
2020-01-07 21:38:04 +01:00
rdb 81b33a7afa Merge branch 'release/1.10.x' 2020-01-06 21:06:57 +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 aad8b45df4 makepanda: update Python 2.7 EOL warning 2020-01-06 03:34:07 +01:00
rdb d21d58f12c makepackage: don't install Python 2.7 bindings by default in installer 2020-01-06 03:32:01 +01:00
rdb 4032560e51 makepanda: use Python 3.8 by default in makepanda.bat
Fall back to Python 3.7, but never to 2.7, since it is EOL
2020-01-06 03:25:35 +01:00
rdb 389cc4bfdb Merge branch 'release/1.10.x' 2020-01-06 03:25:22 +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 c71234eda9 makepackage: prevent installation of package on macOS <10.9 (#300) 2019-12-30 02:42:08 +01:00
rdb b78b7be326 Merge branch 'release/1.10.x' 2019-12-30 01:50:54 +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 f522970046 makepackage: remove old PackageMaker command invocations
pkgbuild is used as of Mac OS X Lion.
2019-12-20 11:45:13 +01:00