Commit Graph

825 Commits

Author SHA1 Message Date
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 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 6faaabe034 makepanda: fix build error with maya2008 on macOS 2017-12-19 23:37:36 +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
rdb 567463eab3 makepanda: look for vorbis library without _static suffix
Fixes: #202
2017-11-26 23:42:46 +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 5ac3ccb6f6 Remove pointless direct/metalibs directory 2017-10-06 14:54:36 +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
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 a66b497f2b We no longer support GCC 4.6. Version 4.8+ is recommended.
Ubuntu Precise users can install GCC 4.8 from the ppa:ubuntu-toolchain-r/test repository.
CentOS 5/6 users can install devtoolset-2 or later.
2017-06-12 19:47:54 +02:00
rdb ee2530ea5f makepanda: changes for FreeBSD. Add instructions, and:
- change package name from Panda3D to panda3d
 - change default compiler to clang on FreeBSD
 - fix ldconfig to point to panda3d lib dir

[skip ci]
2017-05-29 19:09:45 +02:00
rdb 828f1c10ca Support loading Opus audio files via libopusfile. 2017-05-24 22:21:54 +02:00
rdb 904209b277 Split out interrogate jobs for dtool directories from express 2017-05-24 13:44:52 +02:00
deflected 560fd4eb3d panda: Get rid of few warnings
- Correct missing override
        - Correct deprecated XKeycodeToKeysym
        - Correct deprecated @exec for FreeBSD pkg plist

Signed-off-by: deflected <deflected@users.noreply.github.com>
Closes #144
2017-05-14 00:02:33 +02:00
rdb a3bef3e285 makepanda: allow building without harfbuzz 2017-04-25 12:46:46 +02:00
rdb 160f652d58 text: use HarfBuzz for text shaping; support right-to-left text 2017-04-25 12:25:31 +02:00
rdb f7af155e93 Compile with VS 2015 Express, build assimp on Windows 2017-04-03 13:57:40 +02:00
rdb ac0e6b5c5c Merge branch 'release/1.9.x' 2017-04-02 14:29:38 +02:00
rdb 8ec4da2824 Compile fixes for compilers that don't support all C++11 features 2017-02-21 02:45:30 +01:00
rdb edb83fe89a Various optimizations to reduce performance overhead of rendering 2017-02-21 02:20:06 +01:00
rdb 8c914a2855 Work towards ABI stability wrt allocation. Let MemoryHook take advantage of dlmalloc's internal bookkeeping. 2017-02-17 13:02:01 +01:00
rdb 92dab31d80 makepanda: improve Python location code on Linux and macOS, support Python 3.x builds on macOS, drop use of pythonX-config 2017-01-10 21:00:43 +01:00
rdb e1a54f52a8 makepanda: add --no-egg/--use-egg flags to enable/disable egg features. 2017-01-09 23:58:41 +01:00
rdb 43a5f2a9f2 Fixes for Python 3.5:
- Disable conversion to Windows newlines, which is causing double Windows newlines for Config.prc
- We need to copy vcruntime140.dll to the bin directory for Python 3.5+ build using MSVC 2010 to work
2017-01-09 22:27:30 +01:00
rdb 58c1581c0c Fix .whl version when no explicit --version is specified 2017-01-08 17:20:17 -05:00
rdb 53752bd376 Remove packpanda and eggcacher, don't require libpython on Linux 2017-01-05 17:22:11 +01:00
rdb 127cbc3b38 Windows installer improvements and fixes:
- copy .ico file
- write installer log to install.log
- restore python DLL to bin directory
2017-01-05 17:19:40 +01:00
rdb 40e981e485 makepanda: enable C++11 support by default 2017-01-04 22:47:58 +01:00
rdb fa851ae5ac Allow custom version to be passed on to makewheel when building with --wheel 2017-01-04 22:42:05 +01:00
rdb 8c6a2a57cb Handle symlinks correctly when correcting Mac library deps 2016-12-26 07:09:21 -05:00
rdb 741ff454ed We need to link tools that use interrogatedb with pystub again 2016-12-25 22:53:43 +01:00
rdb ab5b5e7e74 Merge branch 'release/1.9.x' 2016-12-25 22:47:22 +01:00
rdb 28bb737597 Load X11 extensions dynamically; don't expect them to be there at compile time
Add x-cursor-size variable for overriding XCursor size.
2016-12-24 22:21:53 +01:00
rdb 601b6b8678 Tweaks for building with static thirdparty libs on Linux
Sneak in a function used by makewheel
2016-12-22 21:30:30 +01:00
rdb c1d6e93166 Don't link extension modules with libpython; changes to help w/ building whls
This fixes compatibility issues with homebrew Python on Mac OS X.

This introduces a --no-directscripts flag to disable building packpanda and eggcacher, which require linking with libpython (which is not available on manylinux).  When building a wheel, the packpanda and eggcacher modules can instead be added to console_scripts in the entry_points definition.
2016-12-21 17:57:13 +01:00
rdb b2ccf6c0d2 Add ability to produce .whl file
Based on original version by pennomi
Closes: #83
2016-12-19 23:35:05 +01:00
rdb 6344c05b18 Clean up dynamic loading of Win32 funcs, remove makepanda touchinput setting, remove checks for pre-WinXP 2016-12-05 17:21:09 -05:00
rdb c410d812ff Remove some settings from dtool_config.h to prevent rebuilds:
- HAVE_OPENCV
 - OPENCV_VER_23
 - HAVE_FFMPEG
 - HAVE_SWSCALE
 - HAVE_SWRESAMPLE
2016-12-05 16:32:13 -05:00
rdb 83507e413f Fix Mac OS X Snow Leopard build 2016-12-05 16:30:44 -05:00
rdb 46c8990f40 Switch to clang by default on Mac; drop burden of supporting GCC 4.2
Also get rid of that annoying message about -pthread in clang.
2016-12-05 16:14:24 -05:00