Commit Graph

1183 Commits

Author SHA1 Message Date
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 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
Daniel ac6a1a7874 collide: Expose CollisionPolygon's setup_points and verify_points to Python
Closes #1035
2020-11-22 22:01:07 +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 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
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 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
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 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 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 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 1bb4a032aa Drop support for Windows XP 2020-01-13 15:06:44 +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 aad8b45df4 makepanda: update Python 2.7 EOL warning 2020-01-06 03:34:07 +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 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 4bc97420be makepanda: forbid building for pre-10.9 versions (as per #300) 2019-12-18 18:00:57 +01:00
rdb 390abac276 Merge branch 'release/1.10.x' 2019-12-18 18:00:41 +01: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 9565d99fab Merge branch 'release/1.10.x' 2019-12-08 15:18:51 +01:00
kamgha 6e36abf5ba makepanda: build against OpenEXR 2.4 (MSVC)
Fixes #799
Closes #800
2019-12-08 10:29:44 +01:00
rdb 77eeed6a82 makepanda: discourage targeting macOS older than 10.9 (as per #300) 2019-11-28 22:30:34 +01:00
rdb 1ea8c9f299 Merge branch 'release/1.10.x' 2019-11-28 22:28:31 +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
Mitchell Stokes 660249a5cc Remove p3d/AppRunner/plugin system
Co-authored-by: rdb <git@rdb.name>

Closes #734
2019-09-10 16:49:57 +02:00
rdb 2e198fd2ef downloadertools: remove check_adler, check_md5, check_crc
Tools to check hashes are readily available from thirdparty sources; there is no good reason why a 3D engine should provide them.
2019-09-06 11:55:17 +02:00
rdb 13e91135e5 downloadertools: remove show_ddb 2019-09-06 11:46:09 +02:00
rdb aef81aceab downloadertools: remove apply_patch and build_patch
These seem to be unused.  Let me know if this is not the case.
2019-09-06 11:19:21 +02:00
rdb 1ec7c5d20e Delete pystub, it is no longer needed or used for anything. 2019-08-23 18:58:53 +02:00
Sam Edwards 6c3013a29c dcparser: move Python-specific code to extension files
We can now build dcparser without linking to Python and dcparse.exe's dependency on pystub is removed.

Co-authored-by: rdb <git@rdb.name>
2019-08-23 18:58:19 +02:00
rdb 1e6be1b2ee Merge branch 'release/1.10.x' into incoming 2019-08-20 01:26:32 +02:00
rdb edbdf43f07 makepanda: PANDA_VERSION_STR should contain the full version number 2019-08-19 22:57:51 +02:00
rdb 2b0a2ea6df makepanda: allow passing in more than 3 digits in version number 2019-08-19 21:57:49 +02:00
rdb a40228202b Merge branch 'release/1.10.x' 2019-08-18 22:34:23 +02:00
rdb 262f8b7643 makepanda: look in correct location for VC 2017 dlls 2019-08-13 17:48:47 +02:00
rdb df8ccdb7ab Add support for Python 3.8 2019-08-13 17:48:32 +02:00
rdb b2d327f268 Move StringStream from downloader to express
It is more generally useful than just in the HTTP code, and I need to use i
t somewhere in express.
2019-07-10 13:44:33 +02:00
rdb d5788d9422 Merge branch 'release/1.10.x' 2019-07-10 12:22:56 +02:00
rdb cee000d1da makepanda: pick up AudioToolbox and CoreAudio frameworks on macOS
These seem to be needed to compile against OpenAL Soft.

Fixes #678
Fixes #679
2019-07-10 10:05:10 +02:00
rdb 60922fabc1 Give istream/ostream a friendlier file-like interface for Python 2019-05-12 15:46:14 +02:00
rdb 15cdd1da0a makepanda: also use -undefined dynamic_lookup for VRPN for now 2019-05-12 15:36:25 +02:00
rdb fce282ea33 Emit warning when importing panda3d using Python 2.7
Fixes #602
2019-05-03 22:04:24 +02:00
rdb d7f89bd3a4 makepanda: also use -undefined dynamic_lookup for OpenEXR for now 2019-05-03 18:02:19 +02:00
rdb 81c87ef989 makepanda: only pass -undefined dynamic_lookup for Python modules 2019-05-02 22:11:59 +02:00
rdb 6e7739354d makepanda: add required IOKit and Quartz framework dependencies 2019-05-02 21:34:44 +02:00
rdb 1723fae158 Merge branch 'release/1.10.x' into incoming 2019-04-29 11:52:23 +02:00
Sam Edwards be247e1be9 makepanda: Remove config entry for defunct HAVE_SOFTIMAGE 2019-04-15 16:46:14 -06:00
rdb 552916efea Merge branch 'release/1.10.x' 2019-04-09 13:31:51 +02:00
rdb fa43591f7a makepanda: show warning when attempting to build with Python 2.7
See #602
2019-04-02 22:41:09 +02:00
DrEuler 073923e5ca makepanda: switch to using OpenAL by default on macOS
Closes #596
2019-04-02 21:28:51 +02:00
rdb 8194f53206 Merge branch 'release/1.10.x' 2019-03-17 00:20:43 +01:00
rdb 6cbc7ac22f makepanda: fix missing Python link when building on Android
[skip ci]
2019-03-16 23:58:13 +01:00
rdb ea10cf192e Merge remote-tracking branch 'origin/release/1.10.x' 2019-03-12 21:11:56 +01:00
Sebastian Hoffmann 915e290513 makepanda: expose save_egg_file/save_egg_data to Python
Closes #582
2019-03-12 18:08:19 +01:00
rdb 148134284d Merge branch 'release/1.10.x' 2019-03-07 19:04:27 +01:00
rdb 5426ec68dd makepanda: properly respect --x11-incdir setting 2019-03-07 17:33:57 +01:00
rdb cbb3c182a5 Merge branch 'release/1.10.x' 2019-03-04 16:57:52 +01:00
Younguk Kim a7c8827dde makepanda: add support for Visual Studio 2019
Closes #570
2019-02-28 18:37:20 +01:00
rdb 2574d85049 Merge branch 'release/1.10.x' 2019-02-19 21:38:08 +01:00
rdb bf846cd461 makepanda: fall back to libassimpd.so if libassimp.so not found 2019-02-19 21:22:04 +01:00
rdb 80bb5c09fe Merge branch 'release/1.10.x' 2019-02-12 01:13:56 +01:00
rdb d93fb702eb makepanda: fix various syntax warnings in Python 3.8 2019-02-11 18:58:22 +01:00
rdb fc90ca7fdf Merge branch 'release/1.10.x' 2019-01-20 17:02:15 +01:00
rdb c0b973b789 makepanda: support cross-compiling for Android again 2019-01-20 00:32:26 +01:00
rdb cb375f5758 Merge branch 'release/1.10.x' 2019-01-13 22:35:18 +01:00
Younguk Kim 5a9a87d2c1 makepanda: fix link error of assimp tool
Closes #535
2019-01-13 21:49:41 +01:00
rdb 1895abff66 Remove cvscopy and related tools 2019-01-11 23:37:11 +01:00
rdb 0ff40944a7 makepanda: fix a regression building with Maya on macOS
[skip ci]
2019-01-10 13:30:02 +01:00
rdb b1018d52ee makepanda: remove ability to target Mac OS X 10.6 "Snow Leopard"
This effectively ends support for 32-bit Intel Macs.  It switches the standard library to libc++, allowing us to use features from C++11.

There are some known bugs with older versions of libc++ (such as the istream::eof() bug); we may end up raising the minimum further (eg. to 10.9) soon if the situation becomes untenable.

Fixes #300
2019-01-09 18:27:57 -05:00
rdb 58acc25ea2 Remove old Carbon-based OS X graphics back-end
This back-end has been deprecated by Apple for a while, and has not been used in Panda.  As we will no longer be supporting 32-bit macs going forward, and the Carbon windowing API is not available for 64-bit mac, there's no point in keeping it.
2019-01-09 18:27:57 -05:00
rdb eed0834ccb makepanda: fix error concatenating platform
[skip ci]
2019-01-06 09:53:35 +01:00
rdb 62781c154b makepanda: fix instructions to find Opus thirdparty pkg on Windows 2018-12-30 20:09:57 +01:00
rdb 01915a36db Merge branch 'master' into deploy-ng 2018-12-26 23:41:50 +01:00
rdb 94d1722c8c makepanda: add --no-copy-python flag for Windows build
This will avoid copying over the python installation to the built/python directory.
2018-12-24 20:51:20 +01:00
rdb 8a38337e6b makepanda: fix model cache written in current dir on macOS
This was a regression in 2b537d2263 that caused the model-cache to be written to ./Library/Caches rather than $HOME/Library/Caches
2018-12-24 00:17:02 +01:00
rdb 395b9733fb makepanda: when making Linux package, ship Python 2 and 3 bindings
See #441 for discussion.
2018-12-23 22:28:12 +01:00
Mitchell Stokes 587237577f deploy-ng: Move distribution related files from direct.showtutil to direct.dist 2018-12-18 20:33:12 -08:00
rdb a7752da4f1 Merge branch 'master' into deploy-ng 2018-12-09 20:22:23 +01:00
rdb b474ef6b1e makepanda: split out installer code into separate makepackage.py 2018-12-09 19:00:01 +01:00
rdb b674104c1f makepanda: don't error for harmless use of removed options
Let's show a warning when an option has been removed but its presence would not have affected the build in an important way.  For options like --use-awesomium we should still show an error since it invokes behavior we no longer support, but it should be harmless to specify --no-awesomium.
2018-12-09 17:09:27 +01:00
rdb 4213e0a50a Remove awesomium (see #440) 2018-12-09 15:53:23 +01:00
rdb 97946cf95e makepanda: deploy-stub should be a Python-version-specific target 2018-12-02 21:39:41 +01:00
rdb f2f4b4c264 Merge branch 'master' into deploy-ng 2018-12-02 16:26:13 +01:00
kamgha 43ce32478f makepanda: find OpenEXR 2.3 and its static variant for MSVC
Closes #463
2018-12-02 12:18:16 +01:00
rdb c560c502b9 Merge branch 'master' into deploy-ng 2018-12-01 22:14:01 +01:00
rdb d7124d4df4 Merge branch 'master' into deploy-ng 2018-11-29 12:57:49 +01:00
rdb 26fcf131c9 Merge branch 'master' into input-overhaul 2018-11-25 17:10:31 +01:00
rdb 356b604627 makepanda: link with IrrXML when using static assimp library
Same fix as #432 but for Linux
2018-11-20 14:50:40 +01:00
rdb 02979fa106 makepanda: use pkg-config for locating assimp 2018-11-20 14:49:44 +01:00
rdb 3d7fcf2ce9 Merge branch 'master' into deploy-ng 2018-11-12 18:31:43 +01:00
rdb 074c5187b0 Adopt new WindowProperties(size=(x, y), ...) short-hand
This is intended as replacement for WindowProperties.size(x, y), which is deprecated since it conflicts with the `size` property.  See #444.
2018-11-12 17:53:53 +01:00
Sam Edwards 29beb0f043 assimp: Update include path
This changes the Assimp include path to point to the
directory containing assimp/ instead of inside assimp/
directly. This is for consistency with how the Assimp
project defines their "include path" and keeps the actual
inclusions themselves unambiguous (since Assimp's headers
have fairly generic filenames).
2018-11-10 18:00:09 -07:00
Sam Edwards 37e265cb63 ode: Delete unused odeHeightFieldGeom.h file 2018-11-10 18:00:07 -07:00
rdb b37cfd6573 makepanda: use correct Registry key for 32-bit Python 3.5+ 2018-11-09 17:50:17 +01:00
rdb 223c532ce7 makepanda: link libpandagl into pview when using --static 2018-11-09 11:43:28 +01:00
rdb e5f398a861 makepanda: tweaks to .deb files; don't suggest panda3d-runtime 2018-11-08 15:51:30 +01:00
rdb 87c453fc08 makepanda: refactor code to emit errors/warnings 2018-11-08 15:49:17 +01:00
rdb 61dbe47884 makepanda: fix PhysX linker error on Windows 2018-11-08 15:48:12 +01:00
rdb cf65010a54 Merge branch 'master' into deploy-ng 2018-11-06 23:40:24 +01:00
rdb 70bfe21a63 Merge branch 'master' into input-overhaul 2018-11-06 22:10:39 +01:00
rdb b8ed9b1275 Remove pystub dependency from interrogate and friends 2018-11-06 21:49:17 +01:00
rdb 995ba28650 makepanda: allow building multiple Python versions in one built dir
This is done by adding a PyTargetAdd function, which builds the target into a Python ABI-specific temporary directory, allowing multiple Python versions to be built into the same built dir side-by-side.  This could greatly speed up buildbot builds.

It also paves the way for building multiple Python versions in the same makepanda call / installer by changing PyTargetAdd to add one target per enabled Python version.
2018-11-06 20:15:19 +01:00
rdb 49b72fb198 Move Python support code from libp3interrogatedb to generated module
This prevents libp3interrogatedb from having a dependency on the Python library.

See #387
2018-11-06 19:24:37 +01:00
rdb a799bcaec9 Merge branch 'master' into deploy-ng 2018-11-03 22:51:32 +01:00