Commit Graph

1183 Commits

Author SHA1 Message Date
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
rdb 5ac3cf3fc6 Eliminate C++ DConfig; replace it with a Python compatibility shim 2018-11-02 23:27:07 +01:00
rdb 357b6d3093 Merge branch 'master' into input-overhaul 2018-10-29 23:40:46 +01:00
rdb 54b3474670 Merge branch 'master' into deploy-ng 2018-10-28 20:47:36 +01:00
rdb 733c7f2352 makepanda: remove mention of removed softprogs/softcvs 2018-10-28 12:00:10 +01:00
rdb 99aa598de0 makepanda: don't try to link static libs into static library 2018-10-28 11:51:25 +01:00
rdb bb71cd68e1 makepanda: use /BIGOBJ flag when compiling p3gobj_composite2.cxx 2018-10-28 11:40:28 +01:00
Younguk Kim 6b00fe7987 makepanda: fix link error of assimp tool
Closes #432
2018-10-28 11:40:08 +01:00
Mitchell Stokes b16f9f8f4f Merge branch 'master' into deploy-ng 2018-10-18 17:58:21 -07:00
rdb df77bacf06 makepanda: compile graphicsStateGuardian.cxx separately, earlier
Since this still takes a long time to build, even with the previous change, it would be better for one CPU to chew on this in the background while the rest of the build continues.
2018-10-19 00:37:00 +02:00
rdb c28045990c Merge branch 'master' into deploy-ng 2018-10-15 15:42:48 +02:00
rdb a765c32bae makepanda: don't use -fno-rtti on macOS, it fails to compile
It appears that <tr1/functional> (included by <tr1/tuple>) uses RTTI, so we can't enable this for now.
2018-10-15 13:32:22 +02:00
rdb 02a72d4273 makepanda: remove reference to QuickTime framework
Doesn't appear to be necessary, and QuickTime framework is removed in Mojave.

Fixes #412
2018-10-15 13:30:22 +02:00
rdb 9061fd9416 dtoolutil: fix TextEncoder methods for Python 3
The no-arguments get_text() and set_text() will now return Unicode strings in Python 3, but passing in an encoding will make them return/take bytes objects.

In Python 2, they all take regular strings, but Unicode is also accepted by the no-argument get_text() and set_text().

In the future we probably want to remove most of this interface for Python users, to whom all this is unnecessary since it duplicates functionality already in the standard library.
2018-10-08 22:14:51 +02:00
rdb 14042faa3d Merge branch 'master' into input-overhaul 2018-10-08 01:25:33 +02:00
rdb a9ff8a22f0 makepanda: enable Assimp in default Confauto.prc if built 2018-10-07 23:00:17 +02:00
rdb 79d8b82cbb makepanda: fix detection of manylinux platform
[skip ci]
2018-09-17 19:06:32 +02:00
rdb 338b428e65 Merge branch 'master' into deploy-ng 2018-09-17 17:37:07 +02:00
rdb e30b597926 Merge branch 'master' into input-overhaul 2018-09-16 12:28:22 +02:00
rdb 809f9b04f6 Fix problems with spinlock mutex/cvar implementation
This reimplements the spinlock on top of std::atomic_flag, which is guaranteed to be lockless.  It also inserts the PAUSE (REP NOP) instruction which is strongly recommended to be placed in busy-wait loops by Intel.

This also includes a recursive spinlock implementation.

The spinlock implementation is disabled by default, but can be enabled by adding the --override MUTEX_SPINLOCK=1 flag to makepanda.
2018-09-04 12:58:48 +02:00
rdb 1d6c3f6486 Merge branch 'master' into input-overhaul 2018-08-26 19:03:21 +02:00
rdb 57b66ebeaf Merge branch 'master' into deploy-ng 2018-08-20 19:13:04 +02:00
rdb 35fff81b6a makepanda: fix missing BUILDING_DIRECT_DCPARSER
[skip ci]
2018-08-19 21:06:47 +02:00
Mitchell Stokes 49c47164ff Merge remote-tracking branch 'origin/master' into deploy-ng 2018-08-12 19:58:15 -07:00
rdb f84b0840f9 makepanda: work around GCC/Eigen double matrix invert bug
Fixes #228
2018-08-12 22:15:40 +02:00
Mitchell Stokes e4cf73378c Merge remote-tracking branch 'origin/master' into deploy-ng 2018-07-15 14:38:05 -07:00
Mitchell Stokes c33ae8a95f Merge branch 'master' into deploy-ng 2018-07-15 12:42:51 -07:00
rdb 234fd675b1 Merge branch 'master' into input-overhaul 2018-06-23 23:24:09 +02:00
rdb fa23c199ec makepanda: fix faulty error when immediately pressing Ctrl+C 2018-06-12 11:08:52 +02:00
rdb ba2de46beb Merge branch 'master' into input-overhaul 2018-06-08 15:23:47 +02:00
Sam Edwards 4754ba524c dtoolbase: Avoid Windows's min/max macros 2018-06-07 10:35:00 +02:00
rdb 21d8c29645 More warning fixes 2018-06-03 06:45:35 -04:00
Sam Edwards 94c7fa30e2 makepanda: Remove a couple of unused config macros 2018-05-30 17:28:40 -06:00
rdb 190c553c57 dtool_config.h: remove some macros for ancient C++ compilers 2018-05-30 23:15:24 +02:00
rdb db5dd98d33 general: further warning fixes, use -Wno-unused-variable if NDEBUG
Disabling unused variable checking is needed in NDEBUG builds because of the heavy use of temporary variables in asserts.
2018-05-30 22:51:04 +02:00
Sam Edwards 1c6ae84cdc dtoolutil: Remove HAVE_OPEN_MASK
Rationale:
1. Per standard, fstream::open takes 2 arguments.
   If platforms add a third, they're out of spec.
2. The only platform I could find that takes a file
   mask specifically as the third argument is IRIX,
   which Panda hasn't targeted in forever.
3. The mask being requested isn't even particularly
   interesting - falling back to a platform default
   is best.
4. When USE_PANDAFILESTREAM is defined, pfstream
   is implemented as PandaFileStream, which doesn't
   have a three-argument open() and breaks immediately.
5. makepanda doesn't ever define HAVE_OPEN_MASK
6. It's been broken for so long that, if it were
   important to anybody, it would have been fixed by now.
2018-05-30 12:04:06 -06:00
rdb c17cb11dfa makepanda: enable more warnings by default 2018-05-30 11:12:15 +02:00
Sam Edwards 527e4840ff makepanda: Fix table alignment 2018-05-27 14:11:55 -06:00
Sam Edwards a251c6dd8f general: Change HAVE_LOCKF to PHAVE_LOCKF
HAVE_LOCKF is already defined by pyconfig.h in
(at least) Python 3.6 - changing the macro name
here avoids warnings
2018-05-27 14:06:14 -06:00
rdb 239f66cf11 makepanda: fix macOS compile error in CheckPandaVersion
See #327
2018-05-27 15:39:02 +02:00
Sam Edwards 35ab16d38f makepanda: Update checkPandaVersion.h
This makes it possible to include it multiple times in a single
translation unit, and/or multiple times in a single dynamic
library (and without excess code bloat, too).
2018-05-26 18:39:24 -06:00
rdb 49dfcb09b9 makepanda: refuse building with MSVC versions older than 2015
Panda3D no longer compiles with any version older than Visual Studio 2015 (14.0).

Closes #288
2018-05-23 23:43:36 +02:00
rdb 9fad3dba60 general: remove macros for compatibility with non-C++11 compilers
Now that we require MSVC 2015, we no longer need all this nonsense, so we can write cleaner code.
2018-05-23 23:33:05 +02:00
Sam Edwards 47f7d3f297 general: Add headers explaining the renamed config_*.h 2018-05-14 02:36:42 -06:00
Sam Edwards c81229c1a8 pfmprogs: Rename config_pfm to config_pfmprogs 2018-05-14 02:36:42 -06:00
Mitchell Stokes ebe2588a50 Merge branch 'master' into deploy-ng 2018-05-06 11:21:13 -07:00
rdb f979c4d312 makepanda: don't use pkg-config for assimp
It seems that they removed the -I option, which we need to build with.  This commit is intended to fix the Ubuntu Bionic build.
2018-04-11 17:41:16 +02:00
rdb e1675f1a53 makepanda: fix compile error on Windows with some versions of flex 2018-04-10 15:31:48 +02:00
rdb 742c143a01 deploy-ng: support logging via log_filename (and log_append) setting 2018-04-08 17:57:48 +02:00
rdb b0cece7faf Merge branch 'master' into deploy-ng 2018-04-08 15:44:32 +02:00
rdb 2bde4d839a makepanda: set MSVC 2015 as default, deprecate MSVC 2010 support
See #288 for discussion; make your voice heard there if you object to this change!

[skip ci]
2018-03-29 14:36:41 +02:00
Sam Edwards ad5b45811d dtoolutil: Change export macros to EXP*_DTOOL_DTOOLUTIL
This is for consistency with `panda`, which follows this format.
2018-03-25 13:17:52 -06:00
Sam Edwards a4c1b44371 dtoolbase: Remove EXPORT_TEMPLATES define
As of f69354d9fa, this is just always
expected on all platforms. If it's not defined,
TemplateClass<X>::_type_handle won't link correctly with some compilers
(e.g. Clang) and the lack of 'extern template class' will result in
duplicated code in any case. In short, turning it off causes problems.

makepanda also always turns this on, so it doesn't represent any
optional feature or autodetected platform-specific behavior anyway.
2018-03-20 14:36:19 -04:00
rdb aebdefcf60 Merge branch 'master' into deploy-ng 2018-03-11 23:01:10 +01:00
rdb 94ceace5af android: add activity for running Python programs
It can be launched from the termux shell using the provided run_python.sh script, which can communicate with the Panda activity using a socket (which is the only way we can reliably get command-line output back to the program.)

The Python script needs to be readable by the Panda activity (which implies it needs to be in /sdcard).

The standard library is packed into the .apk, and loaded using zipimport.  Extension modules are included using a special naming convention and import hook in order to comply with Android's strict demands on how libraries must be named to be included in an .apk.

[skip ci]
2018-03-11 22:53:08 +01:00
rdb f535a641e4 Merge branch 'master' into deploy-ng 2018-02-27 20:53:28 +01:00
rdb 361d36380d makepanda: don't put pview metadata in rpm when building without pview
Fixes: #260
2018-02-27 20:36:53 +01:00
Sam Edwards ad7669e12a mathutil: Update FFTCompressor for FFTW3
This has been due for a while. The last FFTW 2.x release was in 1999.

Note that this does change some of the loops; this has two benefits:
1) The halfcomplex storage order is now explained with a comment.
2) It fixed the special case "don't break a run of bytes for a zero" which
   was never triggering due to the value not being *exactly* 0.0.

I have tested these changes against older FFT-compressed animation .bams
and no noticeable decompression changes are present, so a .bam version
bump is not necessary.
2018-02-17 22:32:38 -07:00
rdb 95eee0cab2 android: load prc files from assets. Move assets to /android_asset 2018-02-17 20:09:24 +01:00
rdb 6bd1976892 android: support writing png/jpg/webp via android.graphics.Bitmap 2018-02-17 18:40:08 +01:00
rdb c41b694eb3 makepanda: detect public system libraries when building on Android 2018-02-11 00:56:25 +01:00
rdb 730279531a makepanda: build on Intel Android machines 2018-02-10 12:13:05 +01:00
rdb bdb74b1e30 makepanda: add code to build an Android package with --installer 2018-02-10 12:01:34 +01:00
rdb 2dba9357bb makepanda: update Android cross-compile for clang and NDK r16
Tested on Windows.
2018-02-06 19:24:50 +01:00
rdb 09bd662919 Merge branch 'master' of github.com:panda3d/panda3d into input-overhaul 2018-02-04 11:37:09 +01:00
rdb e04cb17a30 makepanda: change Android build model
We no longer copy libs to a separate libs dir to entertain Ant (which is no longer the build system of choice on Android).  Also, rather than copying the Java sources to built/src, we now compile them and put the classes in built/classes.

Furthermore, executables are really compiled as executables now (rather than as libraries) to allow building and running Panda in termux.
2018-01-29 20:01:30 +01:00
rdb 7c1dd4050b android: change assets mount dir, point binary path to .apk
The binary path we get from /proc/self/exe isn't very useful; the path to the .apk is barely more useful but it still doesn't make a whole lot of sense.  It might make more sense to set it to the path of the native .so that is being loaded by NativeActivity.
2018-01-29 19:44:39 +01:00
rdb 94385e865f Merge remote-tracking branch 'origin/master' into input-overhaul 2018-01-28 14:31:45 +01:00
rdb d35e6c5113 android: include android_native_app_glue in repository
These files are from the NDK, but don't seem to be included in termux.  Since they are two small files that change very rarely, it's easier to just include them in the Panda repo.

[skip ci]
2018-01-28 14:27:35 +01:00
rdb 60a572f88a android: some changes for building on Android:
- allow setting API target with --target=android-21
 - always link to libpython on Android, seems to be necessary
 - support aarch64 (arm64-v8 ABI) architecture
 - enable building on an Android machine (tested in termux)

[skip ci]
2018-01-28 14:24:51 +01:00
tobspr 5831a31509 Add RenderPipeline C++ lighting modules to Panda3D codebase 2018-01-07 23:43:22 +01:00
rdb 962e6e31e4 Merge branch 'master' into input-overhaul 2018-01-03 14:46:13 +01:00
rdb d3249356b3 Merge remote-tracking branch 'origin/release/1.9.x' 2018-01-03 14:07:42 +01:00
rdb ad58d5161f installpanda: set proper permissions on includes/man pages
Fixes: #159
2018-01-03 13:48:08 +01:00
rdb ef9803b25e Changes to support compiling input-overhaul branch on macOS 2017-12-22 14:59:52 +01:00
rdb 2c35d7a8e9 deploy-ng: changes to make macOS app bundles work correctly 2017-12-21 15:49:16 +01:00
rdb c911ba8059 Merge branch 'master' of github.com:panda3d/panda3d into deploy-ng 2017-12-21 15:10:53 +01:00
rdb 6faaabe034 makepanda: fix build error with maya2008 on macOS 2017-12-19 23:37:36 +01:00
rdb 8e6cf2a60b Merge branch 'master' into input-overhaul 2017-12-17 13:04:15 +01:00
rdb 2e20a0f16e Implement awaitable thread-safe future for async operations
This introduces AsyncFuture as a new base class of AsyncTask.  It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).

AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it.  As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().

Note that AsyncFuture is intended to be used *once*; it cannot be used more than once.  As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
2017-12-04 22:25:28 +01:00
Mitchell Stokes d90e59ca2d Merge branch 'master' into deploy-ng 2017-12-02 18:36:47 -08:00
rdb 567463eab3 makepanda: look for vorbis library without _static suffix
Fixes: #202
2017-11-26 23:42:46 +01:00
Mitchell Stokes fcb1d9308b Merge branch 'master' into deploy-ng 2017-11-25 14:58:25 -08:00
Mitchell Stokes aba26bd862 Merge branch 'master' into deploy-ng 2017-11-25 14:55:47 -08:00
rdb d755de849c deploy-ng: new extensible blob format with PRC configurability 2017-11-24 21:48:18 +01:00
rdb e03c249cc5 makepanda: write target platform to file, rebuild if platform changes 2017-11-24 17:47:51 +01:00
Younguk Kim 82d66c1928 makepanda: add support for compiling with VS 2017
This is a squashed merge of PR #153 by bluekyu with fixes by rdb.

Closes: #153
2017-11-16 17:33:46 +01:00
kamgha f6c12ced34
Update makepanda.py 2017-11-04 18:28:46 +01:00
rdb c043755f94 Add --tests argument to makepanda, instructions to README.md 2017-11-03 20:06:49 +01:00
rdb b865b31390 makepanda: add __version__ attribute to panda3d module 2017-11-03 20:06:07 +01:00
rdb e0a3788636 Move metadata to setup.cfg; also use this for pytest configuration
This makes it possible to run pytest in the root directory.  It also lets us store metadata such as the current version number, preventing us from having this in several different places, and allowing us to phase out parsing dtool/PandaVersion.pp.
2017-11-03 20:04:37 +01:00
rdb 0c0f9adab9 Support coroutines and async/await in the task manager and loader 2017-10-31 18:56:41 +01:00
rdb fba41dafae Merge remote-tracking branch 'origin/master' into deploy-ng 2017-10-26 21:23:49 +02:00
rdb 5ac3ccb6f6 Remove pointless direct/metalibs directory 2017-10-06 14:54:36 +02:00
rdb f16cd29971 Merge branch 'master' into deploy-ng 2017-09-04 21:31:32 +02:00
rdb 32eb9b9e9f makepanda: fix missing Python link for PhysX 2017-07-05 14:24:09 +02:00
rdb 2b537d2263 Use XDG basedir spec for model-cache-dir (now $XDG_CACHE_HOME/panda3d which is usually $HOME/.cache/panda3d)
User appdata directory on posix is now $XDG_DATA_HOME (usually $HOME/.local/share).
Common appdata dir is /usr/share (or /usr/local/share on FreeBSD)
2017-07-03 22:27:37 +02:00
rdb 69eab74b77 makepanda: changes to support static building better
Fixes LP 1081784
2017-07-03 13:56:50 +02:00
Mitchell Stokes e13ad8e146 Merge branch 'master' into deploy-ng 2017-06-30 21:38:34 -07:00
rdb 751299d65a makepanda: don't build with OpenCV if we have ffmpeg enabled
(except on macOS, where we use OpenCV to provide webcam support)
2017-06-20 15:52:57 +02:00
rdb 7873b4df37 Merge branch 'master' into deploy-ng 2017-06-13 00:21:40 +02:00