Commit Graph

881 Commits

Author SHA1 Message Date
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 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 5ac3cf3fc6 Eliminate C++ DConfig; replace it with a Python compatibility shim 2018-11-02 23:27:07 +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
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 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 a9ff8a22f0 makepanda: enable Assimp in default Confauto.prc if built 2018-10-07 23:00:17 +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 35fff81b6a makepanda: fix missing BUILDING_DIRECT_DCPARSER
[skip ci]
2018-08-19 21:06:47 +02:00
rdb f84b0840f9 makepanda: work around GCC/Eigen double matrix invert bug
Fixes #228
2018-08-12 22:15:40 +02:00
rdb fa23c199ec makepanda: fix faulty error when immediately pressing Ctrl+C 2018-06-12 11:08:52 +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
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 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
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