Commit Graph

1674 Commits

Author SHA1 Message Date
rdb 83038146b3 makepanda: Fix dependency problem in threaded mode
This seems to happen when TargetAdd calls are specified out-of-order
2022-03-12 16:56:02 +01:00
rdb bb68abdd59 makepanda: Ignore system imports when scanning .java files 2022-03-12 16:55:37 +01:00
rdb 5475084717 build: Enable -fno-semantic-interposition for GCC
This matches the more optimized clang behavior for -fPIC
2022-03-09 16:23:37 +01:00
rdb 76fb49252c dist: Fix regression with data_dir NameError in build_apps
Fixes #1276

Also let's consistently use the term "assets" for all the application data (and not the gaming-specific term "game files") and use the term "data" for package data only
2022-03-02 10:45:57 +01:00
rdb ad187b29f8 makepanda: Force choose correct extension suffix for Windows
Even when cross-compiling for 32-bit using a 64-bit copy of Python, and vice versa
2022-03-02 10:03:48 +01:00
rdb 2334f48e89 makepanda: Always use /BIGOBJ when compiling with Eigen
Anything from pgraph onward needs it due to the size of Eigen, but let's just always pass it so we don't constantly have to chase compiler errors
2022-03-02 09:58:00 +01:00
rdb aaa51df759 makepanda: Remove `-undefined dynamic_lookup` for OpenEXR on macOS 2022-03-01 16:10:23 +01:00
rdb f60c55f450 makepanda: Enable additional warning messages
Also error on missing return statement in non-void function, since this is pretty much always an error and can be dangerous if not caught
2022-03-01 16:09:07 +01:00
rdb 794968dcc5 makepanda: Fix error building Maya client programs on macOS 2022-03-01 16:09:07 +01:00
rdb 2f3561a48e makepanda: Update for building against newer OpenEXR on non-Windows 2022-03-01 16:08:59 +01:00
Disyer a08e42d015 makepanda: Create 7-zip debug symbol archives by default, if available
7-zip archives will only be created if 7-zip is available during the build phase. When 7-zip is unavailable, ZIP archives will be created as a fallback.

Benchmarks:

- Default ZIP compression: ~23.5 seconds, 162 MB
- 7-zip compression: ~7.5 seconds, 108 MB
- 7-zip compression, --lzma set: ~44 seconds, 88 MB
- 7-zip compression, solid archive: ~5 minutes, 83 MB (not implemented)

Closes #1261
2022-02-24 11:55:06 +01:00
rdb 25a468ba12 Merge branch 'release/1.10.x' 2022-02-07 19:31:04 +01:00
rdb b401884f1c makepanda: Support building with OpenEXR 3.0 or 3.1 on Windows 2022-02-07 11:12:10 +01:00
rdb 3c142a61ab makepanda: Properly detect keyboard interrupts on Windows 2022-02-07 11:10:32 +01:00
rdb e27162df0b Merge branch 'release/1.10.x' 2022-02-06 15:32:24 +01:00
rdb a37dfa727e makepanda: Support building with mimalloc on Windows, experimentally
Partial backport of 07545bc9e3 for Windows, requires building with `--override USE_MEMORY_MIMALLOC=1 --override USE_DELETED_CHAIN=UNDEF` for optimum effect
2022-02-06 15:29:25 +01:00
Disyer bc6502a8fe makepanda: Record cache timestamps as integers rather than floats
We don't need the extra precision, in fact it is detrimental to restoring build caches in a cross-platform way.

This commit will invalidate all current build caches.

Cherry-picked from 2a904f3985 (see #1260)
2022-02-06 15:29:25 +01:00
rdb a12359275f makepanda: Support building with OpenSSL 1.1.1 on Windows 2022-02-06 15:29:21 +01:00
rdb 4e925a839a makepanda: Support building with mimalloc on non-Windows
For experimentation only - it's disabled by default unless you also specify --override USE_MEMORY_MIMALLOC=1 (I did not see a discernable benefit over glibc, but more experimentation is warranted, especially with older glibc versions)
2022-02-05 22:25:44 +01:00
Disyer 2a904f3985 makepanda: Record cache timestamps as integers rather than floats
We don't need the extra precision, in fact it is detrimental to restoring build caches in a cross-platform way.

This commit will invalidate all current build caches.
2022-02-05 23:16:59 +02:00
rdb 07545bc9e3 dtoolbase: Use mimalloc on Windows, disable USE_DELETED_CHAIN
Windows' malloc has awful performance.  mimalloc is orders of magnitude faster, even faster than DeletedBufferChain.  Therefore, only enable USE_DELETED_CHAIN on Windows when building without mimalloc.

On Linux, mimalloc doesn't appear to be measurably faster than glibc's own allocator.  Both are marginally than DeletedBufferChain, though, and substantially faster in the multi-threaded case, so USE_DELETED_CHAIN is disabled there in all cases.
2022-02-04 23:50:57 +01:00
rdb 7da70cf939 pstatserver: Major improvements to PStats server UI, including:
* New "Flame Graph" chart for seeing all collectors in a frame, much easier to read than piano roll
* Update controls, fonts, background color to more modern visual style on Windows
* Proper support for high DPI monitors (with correct scaling)
* Add tooltips for collector labels showing full name and averaged value
* Colors of collectors are now converted to sRGB transfer encoding
* Major performance improvement to piano roll view on Windows
* Movering mouse over labels now highlights the corresponding area in chart
* Label hover effect changed to darkening effect instead of border
* Reimplement graph as static common control on Windows
* Check boxes are now clickable by their label on Windows
* Graph windows have minimum sizes on Windows
2022-02-02 21:05:10 +01:00
rdb 87f5aea80e gtk-stats: Update to GTK version 3, since version 2 is EOL 2022-02-01 17:17:56 +01:00
rdb a56ee57422 Merge branch 'release/1.10.x' 2022-01-14 10:50:10 +01:00
rdb 484a9394f9 installpanda: Correct lib dir detection on ArchLinux
Eliminates a downstream patch in the AUR

[skip ci]
2022-01-14 10:42:14 +01:00
rdb bd37e8776f makepanda: Fix platform tag on aarch64 manylinux
Wheels ended up being tagged as i686.
2022-01-14 09:58:57 +01:00
rdb b7fc80d6cc makewheel: Fix huge .whl files due to lack of compression for some files
Regression from 1f106a0a2a

[skip ci]
2022-01-10 15:43:23 +01:00
rdb 7a2a83572c Merge branch 'release/1.10.x' 2022-01-05 08:50:11 +01:00
rdb 78b67988fb makepanda: Fix wrong installation path for Python SDK on Debian/Ubuntu
This partially reverts commit 2fcacd1bab.

Fixes #1230
2022-01-05 08:48:26 +01:00
rdb 38488d89a2 test_wheel: Require at least pytest 6.2.4 for Python 3.10+
See pytest-dev/pytest#8539
2022-01-05 08:33:31 +01:00
rdb ae6be7e113 makepackage: Fix extra comma in deb depends line when building without Python 2022-01-05 08:14:25 +01:00
rdb d46651c032 Merge branch 'release/1.10.x' 2022-01-04 16:35:19 +01:00
rdb 4ce5efb044 makewheel: Remove _tkinter.so from Panda3D wheels
It is nowadays supplied in a separate wheel, see also #780

Keep it in the Windows wheel for now since that's the only platform where deploying without a separate tkinter wheel is currently supported, but will remove it on master branch
2022-01-04 15:31:21 +01:00
Stephen A. Imhoff e3a49050a0 Correct location searched for 64-bit libc-2.24 2022-01-03 22:57:03 +00:00
rdb 524e2977ff makepackage: Force use of xz compression for .deb files
Impish defaults to zstd, which the version of reprepro on the hosting server doesn't support yet

[skip ci]
2022-01-03 12:11:56 +01:00
rdb c76ddd9958 makepackage: Support building deb with more than one Python 3 version
Ubuntu Hirsute, Impish, and presumably Jammy ship with both Python 3.9 and 3.10.

Also, change the dependency specifications so that only one Python version is strictly required.
2022-01-03 10:36:58 +01:00
rdb fb4b154037 makepackage: Only add python-pmw as Recommends for deb for Python 2
There is no Pmw for Python 3 in the Ubuntu repositories
2022-01-03 10:17:58 +01:00
rdb 1da5b4ceb7 makepanda: Fix LocateLibrary to also work on Windows 2022-01-01 18:54:31 +01:00
rdb b53895aa3d Merge branch 'release/1.10.x' 2022-01-01 18:18:46 +01:00
rdb ce0d020cfd makepanda: Add handling for Windows 11 SDK 2021-12-31 13:10:20 +01:00
Stephen A. Imhoff a723567a3a Add manylinux_2_24 for building 2021-12-30 21:59:08 +00:00
rdb 9598065641 Merge branch 'release/1.10.x' 2021-12-26 14:13:23 +01:00
rdb 987f2f036b makepanda: Fix clang crash on macOS when compiling Objective-C++ code 2021-12-26 12:30:00 +01:00
Stephen A. Imhoff c2635d2498 makepanda: Add rpmversion for packaging.
Closes #1220
2021-12-26 12:30:00 +01:00
rdb 2fcacd1bab makepanda: Replace references to deprecated distutils module
distutils is deprecated as of Python 3.10 (see PEP 632) and will be removed in Python 3.12.
2021-12-25 11:51:28 +01:00
rdb fc625eec11 Merge branch 'release/1.10.x' into incoming 2021-12-12 22:54:15 +01:00
rdb 2766bca974 makepanda: Add macOS 11.3 SDK 2021-12-12 22:47:07 +01:00
Daniel afadb556a2 maya: Add support for Maya 2022
Closes #1213
2021-12-12 22:20:21 +01:00
Daniel 6acb94f451 makepanda: Support Visual Studio 2022
Closes #1214
2021-12-12 22:18:47 +01:00
rdb b8c301164a dist: Implement more reliable solution for logging stdout/stderr
The previous trick doesn't seem to work on one of my devices.  The disadvantage of the new solution, however, is that it doesn't capture anything until site.py is successfully executed.
2021-12-10 14:56:13 +01:00
rdb 834bc2298f makepanda: Fix compiler error building for x86(_64) on Android 2021-12-09 15:34:36 +01:00
rdb c7cccd4791 makepanda: Fix compiling for older NDKs with armv7a 2021-12-08 14:46:42 +01:00
rdb 59ef701298 makepanda: Add back accidentally removed libc++_shared.so on Android 2021-12-07 23:03:37 +01:00
rdb 44e10d10a0 Support deploying Python apps for Android using bdist_apps 2021-12-07 21:00:08 +01:00
rdb 954bc75314 makepanda: Don't use SOABI from config vars when cross-compiling
[skip ci]
2021-12-06 22:34:01 +01:00
rdb d473c794d9 makepanda: Use llvm-strip on Android instead of strip 2021-12-06 22:29:30 +01:00
rdb 9230af94a3 makepanda: Replace dx with d8 for building Dalvik executable (Android)
Also, do it in makepanda instead of in makepackage
2021-12-06 22:28:42 +01:00
rdb 798fa90513 makepanda: Fix missing OpenSLES link on Android 2021-12-06 22:27:32 +01:00
rdb c594ab38ef Support building pandagles2 on Android 2021-12-06 22:26:56 +01:00
rdb 0122c07e10 makepanda: Add pandagles2 to Config.prc, fall back if pandagl not built 2021-12-06 22:25:28 +01:00
rdb d9e335e978 makepanda: Updates for Android compilation with latest NDK
[skip ci]
2021-12-05 17:13:04 +01:00
rdb a99a1ed991 makepanda: Android build fixes 2021-12-05 00:00:52 +01:00
rdb cdadd00e72 makepanda: Optimize WriteEmbeddedStringFile function
This function took ages with a debug build of Python
2021-12-04 21:57:55 +01:00
rdb 5de31c6293 Merge branch 'release/1.10.x' 2021-12-04 21:57:35 +01:00
rdb 420d1cee61 makepanda: Fix unclosed file handles 2021-12-04 20:43:07 +01:00
rdb 985ec3061c makepanda: Fix deprecated spelling for threading API
The new spelling is available since Python 2.6, so there is no chance of breakage here.
2021-12-04 20:37:14 +01:00
rdb b42fd4ee4f makepanda: Don't copy over old Python 2-only Pmw versions 2021-11-29 14:50:01 +01:00
rdb 78fb565f2b Merge branch 'release/1.10.x' 2021-11-28 16:14:18 +01:00
rdb 13db762a33 makepanda: Add missing version of Windows 10 SDK 2021-11-28 13:56:21 +01:00
rdb 0bc0709b72 Merge branch 'release/1.10.x' 2021-11-02 15:20:41 +01:00
rdb c1888ba437 makepackage: Add Python 3.11 to installer.nsi 2021-11-02 15:01:42 +01:00
rdb c293ad3da2 Merge branch 'release/1.10.x' 2021-08-03 20:19:15 +02:00
rdb d545dbd6eb test_wheel: Fix for Python 3.4
[skip ci]
2021-08-03 18:22:30 +02:00
rdb 55fb14b792 Merge branch 'release/1.10.x' 2021-05-11 12:21:24 +02:00
rdb 9410418840 pnmimagetypes: Changes to support compilation with OpenEXR 3.0.1 2021-05-11 11:38:40 +02:00
rdb dd3510eea7 Merge branch 'release/1.10.x' 2021-04-08 12:30:35 +02:00
rdb 7be4b7c3bb device: Support evdev gamepads on FreeBSD 2021-04-05 17:14:30 +02:00
rdb 8accdf1136 makewheel: Fix Python 2.7 build on macOS 2021-03-25 10:33:04 +01:00
rdb eb6eb9f1dd Merge branch 'release/1.10.x' 2021-03-24 13:58:00 +01:00
rdb 1fb8480585 Exclude GLVND from built distributions 2021-03-24 11:56:24 +01:00
rdb 94806801e3 Add p3headlessgl render plug-in on Linux using EGL as fallback for GLX
Fixes #1086
2021-03-23 15:04:20 +01:00
rdb 0e36a99574 Merge branch 'release/1.10.x' 2021-03-22 15:45:45 +01:00
rdb 1654860f36 makepanda: Rename aarch64 thirdparty dir to arm64 for consistency 2021-03-21 15:50:00 +01:00
rdb 2531f09024 makepanda: Don't enable X11 on Android 2021-03-21 14:55:46 +01:00
rdb 915e079596 makewheel: Make sure everything has an ad-hoc code signature
Fixes #927
2021-03-13 16:51:59 +01:00
rdb b817e19ab6 Merge branch 'release/1.10.x' 2021-03-13 16:50:12 +01:00
rdb 13a764c91e makewheel: Don't run codesign --remove-signature on files without signature
See #927
2021-03-13 13:09:46 +01:00
rdb 576c25b3ea makewheel: Re-sign arm64 macOS binaries after removing signature
Fixes #1123
2021-03-08 11:27:38 +01:00
rdb ada74e3b0c Merge branch 'release/1.10.x' 2021-02-24 18:10:15 +01:00
rdb 57f7d04231 makepanda: Don't set HAVE_GLX in dtool_config.h
It's only used for disambiguation in pandagl.cxx, we don't need to expose this, and it should be possible to build pandagl.cxx without GLX
2021-02-24 17:34:56 +01:00
rdb 3955c71435 makepackage: skip message boxes if running NSIS installer in silent mode
Fixes #1088
2021-02-24 16:17:28 +01:00
rdb d4830f40f0 makepanda: Fix strftime error using SOURCE_DATE_EPOCH on Windows
Seems to occur when using Python 2.7
2021-02-24 15:51:45 +01:00
rdb f84111a693 makepanda: Don't disable Cg/FMODEx on macOS without arch flags
Fixes #1119
2021-02-24 09:46:53 +01:00
rdb fb9b334d58 Merge branch 'release/1.10.x' 2021-02-17 10:57:30 +01:00
rdb 059361c87c makepanda: Locate aarch64 thirdparty packages on Linux/FreeBSD
[skip ci]
2021-02-16 11:49:53 +01:00
rdb 2edf619247 makepanda: Fix building without bison
New prebuilt parser.yxx.cxx does an #include of parser.yxx.h
2021-02-15 11:11:20 +01:00
rdb e8b4b6476c Merge branch 'release/1.10.x' 2021-02-07 15:01:36 +01:00
rdb 28615c6a9e interval: Support awaiting CInterval from coroutines
This is a partial implementation of #909 - it is somewhat inefficient (not suspending the task using a future) and does not implement cancellation.  A more complete implementation may follow in 1.11.0.
2021-02-07 12:40:58 +01:00
rdb 613441060b Merge branch 'release/1.10.x' 2021-01-18 23:47:36 +01:00
rdb f902eb7990 makepanda: Revert use of f-strings for now
This causes a syntax error for unsupported Python versions, which prevents display of the error message that tells people they are using a too-old Python version
2021-01-18 17:16:53 +01:00