Commit Graph

1101 Commits

Author SHA1 Message Date
Sam Edwards d0ebc59d32 Merge branch 'master' into cmake 2018-05-27 14:07:05 -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 6efb07de93 Merge branch 'master' into cmake 2018-05-14 19:09:14 -06: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
Sam Edwards 52e7c952b3 putil: Rename config_util to config_putil 2018-05-14 02:36:42 -06:00
Sam Edwards 87c11d8018 pstatclient: Rename config_pstats to config_pstatclient 2018-05-14 02:36:42 -06:00
rdb ed54856e9f makepanda: don't fail building Windows installer if Pmw is missing 2018-05-06 22:18:30 +02:00
Sam Edwards 56a6e6a80a Merge remote-tracking branch 'origin/master' into cmake 2018-04-20 01:57:46 -06: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
Sam Edwards 25b13ad199 Merge branch 'master' into cmake 2018-03-31 04:23:49 -06: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 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 361d36380d makepanda: don't put pview metadata in rpm when building without pview
Fixes: #260
2018-02-27 20:36:53 +01:00
rdb 5523af09ce makepanda: rebuild modules when interrogate_module is modified 2018-02-27 12:05:23 +01:00
Sam Edwards df0c889092 distributed: Fix the import test (and syntax on Python 3) 2018-02-23 19:53:13 -07:00
Sam Edwards b72d1c198f distributed: Fix the import test (and syntax on Python 3) 2018-02-23 19:52:48 -07:00
Sam Edwards dfed8d2100 Merge branch 'master' into cmake 2018-02-23 17:49:32 -07:00
Sam Edwards 04cb128140 cftalk: Remove this
It was an incomplete experiment for distributing rendering pipelines over
a LAN of computers all working in concert.

Who knows, it may return someday. Until then, it's best not to keep it
around.
2018-02-22 15:18:34 -07:00
Sam Edwards 84e7539f99 Merge branch 'master' into cmake 2018-02-17 23:35:19 -07: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 b4ad0a69a0 makepanda: automatic dependency scanning for Java sources 2018-02-11 00:55:04 +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
Sam Edwards e15cea4331 general: Remove more unnecessary +x UNIX modes 2018-02-07 11:29:48 -07:00
rdb 2dba9357bb makepanda: update Android cross-compile for clang and NDK r16
Tested on Windows.
2018-02-06 19:24:50 +01:00
Sam Edwards eda119dac4 Merge branch 'master' into cmake
# Conflicts:
#	.travis.yml
2018-02-04 17:12:51 -07: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 002b373361 makepanda: fix GetHost() on linux
[skip ci]
2018-01-28 14:44:26 +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 9065f2e16e installpanda: add --verbose flag 2018-01-03 14:09:15 +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 c1fb44ad69 makewheel: fix binary data being doubled 2017-12-21 11:39:19 +01:00
rdb 6faaabe034 makepanda: fix build error with maya2008 on macOS 2017-12-19 23:37:36 +01:00
sean5470 9e8060d402 Moved MAX plugin line to MAX instead of Maya section
Moved the search line for .ms files from the Maya section, to the MAX section where it should be.

Closes: #214
2017-12-16 21:05:57 +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