Commit Graph

1441 Commits

Author SHA1 Message Date
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 1fed113df5 Merge branch 'master' into input-overhaul 2018-09-17 19:08:06 +02:00
rdb 79d8b82cbb makepanda: fix detection of manylinux platform
[skip ci]
2018-09-17 19:06:32 +02:00
rdb 3a206ed7c4 makewheel: ignore dependencies of panda3d_tools/pstats 2018-09-17 17:58:57 +02:00
rdb 338b428e65 Merge branch 'master' into deploy-ng 2018-09-17 17:37:07 +02:00
rdb 0af1b9c988 makewheel: update manylinux1 platform check for latest image
[skip ci]
2018-09-17 16:39:09 +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 8b927318cb makewheel: on manylinux, should include all lib dependencies
(Except for those explicitly whitelisted in PEP 513)
2018-08-20 19:13:16 +02:00
rdb 57b66ebeaf Merge branch 'master' into deploy-ng 2018-08-20 19:13:04 +02:00
rdb 5147674980 Add script to run test suite on a wheel in a virtualenv
[skip ci]
2018-08-20 17:00:40 +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
rdb be19411cf8 Add support for Maya 2018 2018-08-10 23:03:15 +02:00
rdb 7e290b221b Remove a few unused and obsolete C++ test files 2018-08-03 21:09:36 +02:00
rdb c959d274be makewheel: add __version__ and docstring to panda3d/__init__.py 2018-08-03 20:22:09 +02:00
rdb 6cd59807dd Remove useless test_display.cxx file 2018-07-17 19:38:10 +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
Tohka 0c1fa6a765 nsis: Correct building on NSIS 3.0
LVM_GETITEMCOUNT and LVM_GETITEMTEXT are already defined post NSIS 3.0.
2018-07-07 22:54:53 +02:00
rdb 234fd675b1 Merge branch 'master' into input-overhaul 2018-06-23 23:24:09 +02:00
rdb d89efcfda2 makepanda: fix recognition of armv7 android systems 2018-06-19 00:37:18 +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
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
Mitchell Stokes ebe2588a50 Merge branch 'master' into deploy-ng 2018-05-06 11:21:13 -07:00
Mitchell Stokes cb077fcdae deploy-ng: Add panda3d.dist-info to installers 2018-05-06 11:20:19 -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
rdb 5523af09ce makepanda: rebuild modules when interrogate_module is modified 2018-02-27 12:05:23 +01:00
rdb 94b5fa1e90 deploy-ng: fix inclusion of additional python DLLs (eg. sqlite, tk)
Fixes: #239
2018-02-24 21:37:23 +01:00
Sam Edwards b72d1c198f distributed: Fix the import test (and syntax on Python 3) 2018-02-23 19:52:48 -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 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
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 fb32b96456 Merge remote-tracking branch 'origin/master' into input-overhaul 2018-01-28 14:44:54 +01:00
rdb 002b373361 makepanda: fix GetHost() on linux
[skip ci]
2018-01-28 14:44:26 +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 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 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 58917e6746 deploy-ng: fix failure to include libpython (particularly on macOS) 2017-12-21 13:15:45 +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
rdb 8e6cf2a60b Merge branch 'master' into input-overhaul 2017-12-17 13:04:15 +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
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 a7e00d0ee6 makewheel: use platform from build 2017-11-24 17:48:25 +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 0343dbcbba makepanda: locate setup.cfg using __file__, not working directory.
This fixes the buildbots, which import makewheel from inside the makepanda directory.
2017-11-03 20:15:21 +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 19fe51eddd makewheel: fix sha256 hashes being surrounded with b'' in Python 3 2017-11-03 20:05:24 +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 51d948a7fa Support compilation for Python 3.7 2017-10-13 12:40:47 +02:00
rdb 5ac3ccb6f6 Remove pointless direct/metalibs directory 2017-10-06 14:54:36 +02:00
rdb 5cf2f92597 Merge branch 'master' into deploy-ng 2017-09-19 19:51:28 +02:00
rdb 4018efc50d Fix travis build 2017-09-19 17:49:04 +02:00
rdb f16cd29971 Merge branch 'master' into deploy-ng 2017-09-04 21:31:32 +02:00
Younguk Kim 114aee1d6a Add additional Windows SDK path
Windows 10 SDK binary files are installed in versioned folder from Creator Update (10.0.15063.0)
2017-08-07 23:06:18 +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
rdb 153c277edd Remove references to .sha filters in direct/src/filter 2017-06-12 22:52:05 +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 ed5b74ab54 makepanda: allow using deploy-ng with build run from built dir 2017-05-31 01:35:33 +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
Mitchell Stokes c155e840b3 Merge remote-tracking branch 'origin/master' into deploy-ng 2017-05-27 15:36:49 -07: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
rdb 53794e8e36 Get rid of unnecessary DisplayRegionBase class 2017-05-24 13:42:01 +02:00
rdb d576c6b638 Improvements to generated API docs, especially in direct tree.
Also add an entry point for pfreeze.
2017-05-24 13:30:21 +02:00
rdb 3a2435b2d9 Merge branch 'master' into deploy-ng 2017-05-14 10:51:10 +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
Mitchell Stokes b3d04dd91d Merge branch 'master' into deploy-ng 2017-05-07 19:50:22 -07:00
rdb 4e1f9c012a makepanda: set LANGUAGE=en to fix lib detection on German systems
[skip ci]
2017-05-03 12:02:58 +02:00
Mitchell Stokes 0ee6a46a62 Merge branch 'master' into deploy-ng 2017-04-26 18:22:36 -07: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
Mitchell Stokes 2302f251b1 Merge branch 'master' into deploy-ng 2017-04-04 21:27:09 -07:00
rdb f7af155e93 Compile with VS 2015 Express, build assimp on Windows 2017-04-03 13:57:40 +02:00
sean5470 019700cb1a Maya 2017 support
Added entries to compile Maya 2017 plugins.
2017-04-03 02:27: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
Mitchell Stokes 3cb24fba91 Merge branch 'master' into deploy-ng 2017-02-20 13:46:39 -08: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
Mitchell Stokes 66ef8f7c2a deploy-ng: Rename build_p3d to build_apps and bdist_p3d_archive to bdist_apps 2017-02-11 16:04:48 -08:00
rdb 9b07578d62 deploy-ng: Linux: fix symbol error with static linking, fix omission of libCg 2017-02-03 12:25:58 +01:00
Mitchell Stokes b8ee352ebb deploy-ng: Create entry_points in makewheel for dist commands
This allows setuptools to automatically find build_p3d and
bdist_p3d_archive.

NOTE: Importing direct.showutil.dist.setup still works for installs that
are not using wheels.
2017-01-28 21:09:33 -08:00
rdb 3282656f0e makepanda: linking deploy-stub on Linux requires -lrt and -lutil 2017-01-25 13:34:06 +01:00
rdb 3fabe6a8de makewheel: fix inclusion of libpython on macOS 2017-01-14 15:35:08 +01:00
rdb b3f9845892 Merge branch 'master' into deploy-ng 2017-01-14 03:03:02 -05:00
rdb 0ae87e6781 makepanda: on macOS, use Python lib from framework dir if needed 2017-01-11 19:28:28 +01:00
Mitchell Stokes 3347a6e2cb makewheel: Add libpython to deploy_libs
TODO: See if there is a better way to do this and to test/implement macOS support.
2017-01-10 18:42:59 -08:00
rdb 8352f27a23 makepanda: deploy-stub needs to link to libpython 2017-01-10 23:15:30 +01:00
rdb 49905bad16 Merge branch 'master' into deploy-ng 2017-01-10 22:06:59 +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
Mitchell Stokes 25b167c080 makewheel: Use less restrictive extension module suffix on py3 2017-01-09 19:49:18 -08:00
rdb e1a54f52a8 makepanda: add --no-egg/--use-egg flags to enable/disable egg features. 2017-01-09 23:58:41 +01:00
rdb f8580d753a Merge branch 'master' into deploy-ng 2017-01-09 23:53:56 +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
Mitchell Stokes 40c23e5cf1 makewheel: Use _ctypes instead of cmath for get_python_ext_module_dir()
Also switch back to using __file__ instead of inspect.
2017-01-06 08:07:20 -08:00
Mitchell Stokes a5bea8f8b0 makewheel/deploy-ng: Use inspect.getfile(cmath) instead of cmath.__file__ for get_python_ext_module_dir() 2017-01-05 20:35:59 -08:00
Mitchell Stokes 2fa4ef1c7e makewheel/deploy-ng: Try import cmath instead of _sha1 for get_python_ext_module_dir()
The Python2 Windows buildbot did not like _sha1.
2017-01-05 20:17:38 -08:00
Mitchell Stokes 465d8bf1bd makewheel: Copy Python stdlib C extension modules to deploy_libs 2017-01-05 19:28:21 -08:00
Mitchell Stokes c746296e57 makepanda: Give WHLVERSION a better default than None 2017-01-05 19:28:21 -08:00
Mitchell Stokes d6aba43492 Merge branch 'master' into deploy-ng 2017-01-05 18:12:43 -08:00
rdb 31136124c7 deploy-ng: fix issues with Python 3 / Windows / Unicode, add deploy-stubw 2017-01-06 01:42:00 +01: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 8434914ab6 Merge branch 'master' into input-overhaul 2016-12-28 17:26:58 +01:00
rdb c839dc60d6 Merge remote-tracking branch 'origin/master' into deploy-ng 2016-12-28 12:11:37 +01:00
rdb 325302b623 makewheel: support building single-arch .whl from a fat Panda build 2016-12-26 17:36:38 +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 23a345437a makewheel changes for macOS, manylinux1, Python 2.6 2016-12-25 16:10:06 +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 04819719fb Fix erroneous report in installer while installing libs 2016-12-19 23:32:23 +01:00
Mitchell Stokes 3ab9bde73d deploy-ng: Only build deploy-stub if Python is available 2016-12-18 10:53:40 -08:00
rdb bae19a203b deploy-ng: changes to make it work on Windows 2016-12-08 13:21:10 +01:00
rdb 70386795f4 Merge branch 'master' into deploy-ng 2016-12-05 18:10:49 -05: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
rdb 6259feb934 Fix issue building against copy of Python that was compiled with MSVC 2010 2016-11-30 00:12:26 +01:00
rdb 335debee54 Fix error building debian package 2016-11-29 23:53:57 +01:00
rdb 80af51477a Backport ability to create a pdb zipfile to 1.9 2016-11-29 22:59:51 +01:00
rdb 948ff8562d Support targeting Windows XP with MSVC 2015 2016-11-29 22:41:46 +01:00
rdb 1e2961f7ef Improve windows installer: .prc file assoc, use DOS newlines for prc, error if installing 64-bit version on 32-bit Windows 2016-11-29 21:54:51 +01:00
rdb d0e9f136c0 Merge branch 'master' into input-overhaul 2016-11-22 12:15:21 +01:00
Mitchell Stokes f61fbd356d Set rpath on deploy-stub to $ORIGIN for Linux builds
This allows game runtimes to search their directory for shared
libraries instead of needing to use LD_LIBRARY_PATH.
2016-11-13 11:55:46 -08:00
Mitchell Stokes aa6e722941 Create experimental yapdt (Yet Another Panda3D Deployment Tool)
This uses FreezeTool and a new deploy-stub binary to create frozen
applications without needing a compiler when running the tool. This tool
is for experimenting with deployment options and is currently inflexible
and hacky.
2016-11-08 19:40:30 -08:00
Mitchell Stokes 59b0913b0b Cleanup .gitignore files
Remove all .gitignore files in subdirectories and add a few new ignores
to the top-level directory .gitignore file.
2016-10-30 20:06:12 -07:00
rdb e1ea1e8fb0 Fix link error on Windows with WANT_NATIVE_NET 2016-10-24 22:51:28 +02:00
rdb 1049088f11 Clean up some of the dtool_config.h variables 2016-10-24 22:10:46 +02:00
rdb 4381412d23 Merge branch 'release/1.9.x' 2016-09-28 00:14:21 +02:00
rdb 231ca47edd Windows installer: More robust and less error-prone PATH changing 2016-09-28 00:08:28 +02:00
rdb 4fb5d19df9 Windows: add right-click file associations for .pz/.mf/.egg/.bam files, produce .zip files containing the .pdb files 2016-09-16 00:37:29 +02:00
rdb b53d58c5c6 Merge branch 'release/1.9.x' 2016-09-15 02:30:34 +02:00
rdb 7b555b17b1 Fix rare Windows install bug: clears PATH env var if longer than 1024 chars 2016-09-15 02:27:39 +02:00
rdb 6962f56915 Add back pandac.extension_native_helpers for compatibility 2016-09-14 22:45:19 +02:00
rdb a8d24ac28a Better and more robust location checking for Windows 10 SDK
Closes: #120
2016-09-02 16:12:09 +02:00
rdb 29ea65bb3f Merge branch 'release/1.9.x' 2016-08-09 01:44:21 +02:00
rdb 645d179227 Add back missing libp3pystub.a to Mac OS X SDK 2016-08-09 01:29:24 +02:00
rdb 800d3cd9c9 Fix Python compile issues on Mac; don't use framework 2016-07-20 18:46:30 -04:00
rdb 47388b0dbc Separate out CPython calls from core libs; eliminate need for pystub 2016-07-20 14:30:41 +02:00
rdb 46147e9a09 Maya 2016.5 on 1.9 branch; fix Maya 2016.5 build on Mac OS X 2016-06-27 01:12:51 +02:00
rdb b98d3c06ee Merge branch 'master' into input-overhaul 2016-06-24 10:51:41 +02:00
rdb 9963fe2c3c Fix a couple of compile warnings, reduce unnecessary includes 2016-06-23 22:59:50 +02:00
rdb fede8b8d69 Fix compile issue on Mac OS X 2016-06-22 22:24:33 +02:00
Chris Brunner e04fc75531 Added support for Maya 2016.5 2016-06-08 10:15:17 -07:00
rdb 5675e0de56 Merge branch 'release/1.9.x' 2016-06-07 22:08:00 +02:00
rdb d53b2ca80e Backport various bugfixes from master, among which:
- Fix Windows pbuffer crash on Intel cards
 - Fix crash when using pnmimage.write with unsupported format
 - Fix GLSL diagnostics on Mesa GLES2 compiler
 - Reduce warning severity when resizing immutable storage texture
 - Print more debug info when FrameBufferProperties are insufficient
 - Fix "Bam file contains objects of unknown type: MovingPart<LMatrix4f>"
 - Fix memory leak in BulletTriangleMesh
 - Fix pmerge in Python 3
2016-06-07 14:40:27 +02:00
rdb 3951a191a3 Fix compile issues with ffmpeg on FreeBSD and Mac OS X 2016-06-07 14:06:53 +02:00
rdb 8d05ef3022 Assorted fixes 2016-06-03 22:23:42 +02:00
rdb 0d770deeaa Add --rtdist-version option to makepanda 2016-06-03 02:40:14 +02:00
staticfox e6baa23c08
makepandacore: Add missing argument in exit reason 2016-05-21 19:21:26 -04:00
rdb 18874fa151 Replace PN_int/uint types with stdint.h types, since all compilers we support have them.
Plus, we already had code that relied on them being available anyway.
2016-05-11 00:27:58 +02:00
rdb aa5f2685ab Use EXT_SUFFIX for Python modules to prevent conflict when multiple Python 3 versions are installed on Ubuntu 2016-05-06 21:21:37 +02:00
rdb 38fdb80276 Various thirdparty build fixes 2016-05-03 18:49:28 +02:00
David Rose 0b224a320a Merge branch 'master' of https://github.com/panda3d/panda3d 2016-05-02 15:05:25 -07:00
David Rose 403dd39934 add support for OpenEXR floating-point image files 2016-05-02 14:44:53 -07:00
rdb 288452a861 Changes to help with static build, allow linking OpenAL statically 2016-04-29 19:54:24 +02:00
rdb 369df86096 Fix a compile issue or two 2016-04-29 19:17:47 +02:00
rdb 6b83261ea4 Implement stb_image, support loading HDR, PSD, GIF images 2016-04-28 17:10:44 +02:00
rdb c8f59367d1 More robust location of libraries in thirdparty packages on Linux 2016-04-24 01:45:24 +02:00
rdb 879b8a5ccb Remove win-extras (smartroom/BeyondQuestion, serial, JOD, phidgets) from the Windows SDK
Let me know if you still need any of these and we'll find a better spot for them.
2016-04-22 17:38:15 +02:00
rdb 2c1cb4c313 Compile fixes for latest VRPN and TIFF 2016-04-22 17:18:27 +02:00
rdb 32bc7cd819 Changes to allow compiling Panda with MSVC 2015 2016-04-19 15:43:02 +02:00
rdb 5a2a9a3020 Merge branch 'release/1.9.x' 2016-04-12 20:46:32 +02:00
rdb 449d4c8a89 Build fix on Mac when building without libRocket 2016-04-12 18:19:55 +02:00
rdb 33ed30b178 Support defining bam factory functions in Python 2016-04-09 19:28:33 +02:00
rdb a3a42874f3 Merge remote-tracking branch 'origin/master' into input-overhaul 2016-03-29 12:28:53 +02:00
rdb 23bf9ea5c7 The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
rdb 54fa31ba17 StandardError -> Exception, other 2to3 changes, threaded 2to3 2016-03-25 17:13:09 +01:00
rdb 6334f2511d Let's not display deprecation warnings in release builds 2016-03-25 16:41:58 +01:00
rdb 2abad9649b Remove X11-specific stuff from egldisplay, instead using x11display as common base 2016-03-19 18:46:10 +01:00
rdb 1cc79633c1 Merge branch 'master' into input-overhaul
Conflicts:
	panda/src/device/buttonNode.cxx
	panda/src/device/clientAnalogDevice.I
	panda/src/device/clientAnalogDevice.cxx
	panda/src/device/clientButtonDevice.I
	panda/src/device/clientButtonDevice.cxx
	panda/src/device/clientDevice.I
	panda/src/device/clientDevice.cxx
	panda/src/device/clientDevice.h
	panda/src/device/clientTrackerDevice.I
	panda/src/device/trackerNode.I
	panda/src/device/trackerNode.h
	panda/src/display/callbackGraphicsWindow.cxx
	panda/src/display/graphicsWindow.cxx
	panda/src/display/graphicsWindowInputDevice.I
	panda/src/display/graphicsWindowInputDevice.cxx
	panda/src/display/graphicsWindowInputDevice.h
	panda/src/tinydisplay/tinyOsxGraphicsWindow.mm
	panda/src/tinydisplay/tinyXGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.h
	panda/src/x11display/x11GraphicsWindow.cxx
2016-03-19 14:54:56 +01:00
rdb 5cfe2b89e7 Support getting FBO attachment with only 8 red bits 2016-03-12 21:05:16 +01:00
rdb 6689e69822 Merge branch 'master' into input-overhaul 2016-02-13 11:21:20 +01:00
rdb 40739c6b5f Fix link issues and crashes with Android build 2016-02-06 11:46:56 +01:00
rdb ffaa7419ec Fix Android compile on Windows 2016-02-05 23:21:23 +01:00
rdb 0d1394fa23 Add makepanda instructions to compile motion trail, by user request 2016-01-30 19:15:40 +01:00
rdb ee7b03f374 Merge remote-tracking branch 'origin/master' into input-overhaul 2015-12-25 13:27:40 +01:00
mfwass f8837999ed Cleanup trailing whitespace 2015-12-13 10:08:41 -05:00
rdb dd8344455c XInput gamepad control states, battery information, HID properties 2015-12-12 22:07:43 +01:00
rdb bd0683d101 Generalised input framework for raw mice, gamepads, trackers (incl. HMDs like Oculus Rift) 2015-12-11 15:26:40 +01:00
rdb 571fd7d72e Add test script to travis 2015-12-06 22:38:24 +01:00
rdb 77bf02742b Remove unused direct.http package 2015-12-06 22:36:58 +01:00
rdb 50d2e8324e Merge branch 'release/1.9.x'
Conflicts:
	.travis.yml
	direct/src/directtools/DirectLights.py
	panda/src/nativenet/buffered_datagramconnection.h
2015-12-06 22:32:12 +01:00
rdb 1bbfc1d9f6 Put .lib files for .pyd modules in built/lib, so they are packaged into the SDK 2015-12-06 15:16:48 +01:00
rdb c644e7ae49 Merge branch 'release/1.9.x' 2015-12-03 16:38:25 +01:00
rdb eb2c9f51f5 More fixes for custom incdir/libdir 2015-12-03 16:38:10 +01:00
rdb 956097b632 Merge branch 'release/1.9.x'
Conflicts:
	pandatool/src/assimp/pandaLogger.h
2015-12-03 16:14:07 +01:00
rdb 2680680df0 Fix when passing custom incdir/libdir for Eigen 2015-12-03 16:09:54 +01:00
rdb e5fac610c8 Remove unnecessary HAVE_EGL setting in dtool_config.h 2015-11-28 16:23:18 +01:00
rdb a819e9055b Merge branch 'release/1.9.x' 2015-11-25 23:42:36 +01:00
rdb f6b66fc5db Fix PhysX compile issues on Mac 2015-11-25 02:01:07 +01:00
rdb 3c2f820ad8 Merge branch 'release/1.9.x'
Conflicts:
	direct/src/p3d/DeploymentTools.py
2015-11-24 13:39:36 +01:00
rdb 5ba93acf5c Workaround to allow building the rtdist on Mac 10.11, which removes DYLD_LIBRARY_PATH 2015-11-23 23:33:38 +01:00
rdb 37509e7c93 Fix makepanda --clean option when built dir doesn't exist yet 2015-11-23 23:33:27 +01:00
rdb 0e063694d7 Reorganise installation choices in Mac OS X installer 2015-11-23 18:06:38 +01:00
rdb 84d8298ee2 Change location of Mac tools from /Developer/Tools/Panda3D to /Developer/Panda3D/bin, to fix relative loader_path issue 2015-11-23 17:06:53 +01:00
rdb 1d86d604b2 More reliable file copy behaviour - handle directory symlinks better, too 2015-11-23 16:20:39 +01:00
rdb d3a0603a7b Include Eigen headers in the Mac OS X SDK as well 2015-11-23 16:18:35 +01:00
rdb 9eb0a9196b Fix Mac libRocket library issues in 1.9.0 (particularly on El Capitan) 2015-11-21 16:55:27 +01:00
rdb 0a9f9887f9 Merge branch 'release/1.9.x'
Conflicts:
	direct/src/p3d/Packager.py
	direct/src/p3d/ppackage.py
	makepanda/makepandacore.py
2015-11-21 03:17:33 +01:00
rdb 5b4b6ced70 Build .exe wrapper for .p3d deploy tools on Windows 2015-11-20 20:25:46 +01:00
rdb f0e8dd4117 Build .p3d tools as part of SDK build process, if host URL and distributor are specified 2015-11-20 17:44:28 +01:00
rdb a617376e16 Merge branch 'release/1.9.x'
Conflicts:
	dtool/src/interrogate/interfaceMakerPythonNative.cxx
2015-11-20 02:37:46 +01:00
rdb 7fa407a118 Add code to locate June 2010 DirectX SDK outside of the registry 2015-11-20 02:05:18 +01:00
rdb da6d5f442c Don't require setting system PATH to import panda3d.* (backport from master) 2015-11-20 00:56:31 +01:00
rdb 9f1898b935 Fix errors with Windows filenames in CopyFile() 2015-11-19 23:27:33 +01:00
rdb 673263dc22 Copy vcruntime140.dll to bin, necessary for building with Python 3.5 2015-11-19 23:21:00 +01:00
rdb c93e50ca05 Merge branch 'release/1.9.x'
Conflicts:
	.travis.yml
	dtool/src/cppparser/cppBison.cxx.prebuilt
	dtool/src/cppparser/cppBison.yxx
	makepanda/makepanda.py
2015-11-19 18:43:13 +01:00
rdb e0dea2b342 Add --clean flag to makepanda to force a clean build 2015-11-19 15:31:24 +01:00
rdb 1d2ba26e26 Merge branch 'release/1.9.x' 2015-11-13 19:26:57 +01:00
rdb f9e61f8231 Fix OSX 10.11: use pkgbuild instead of PackageMaker, backport relocatability from master 2015-11-13 19:25:39 +01:00
rdb 31dbcae262 Deprecate many extension methods, make extension methods imported via modules instead of dumped into core.py, move _core.pyd and _direct.pyd back to core.pyd, direct.pyd respectively, move MAIN_DIR set-up code to module init time 2015-11-10 00:44:29 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb dafb4e7e5e Fix error locating VC 2010 on cygwin Python 2015-11-05 20:59:50 +01:00
rdb e6391c0b87 Merge branch 'release/1.9.x'
Conflicts:
	makepanda/installpanda.py
	makepanda/makepandacore.py
2015-11-05 20:55:01 +01:00
rdb 04949501c6 Fix annoying 'rpm not found' error on Windows 2015-11-05 20:48:18 +01:00
rdb d4d8585d0e Fix issues building with Cygwin version of Python 2015-11-05 20:43:03 +01:00
rdb 1adb0e48f4 Merge branch 'release/1.9.x' 2015-11-03 20:30:33 +01:00
rdb 546bb22421 Workaround for Apple compiler bug causing Eigen compile error 2015-11-02 10:01:11 +01:00
deflected 21656ace52 Squash merge of PR #37:
commit 757038784126094d350244c5ecdd764b1f726532
Author: deflected <deflected@github>
Date:   Sat Jun 6 14:10:16 2015 +0300

    makepanda: Runtime support for FreeBSD PKGNG

    	- Support creation of runtime package
    	- Changed @dirrm to @dir. All non-empty
    	directories are handled by pkg internally,
    	but it is good to have entry for all directories.

commit 756f8b10bad559a9802df68e3aa5d419afe13a25
Author: deflected <deflected@github>
Date:   Fri Jun 5 01:21:26 2015 +0300

    makepanda: Add FreeBSD PKGNG support

    	- The old FreeBSD package manager is obsolete
    	for more than an year.
    	- Added generating of installable package for the new
    	package manager when '--installer' is invoked
    	on FreeBSD
2015-10-28 17:05:46 +01:00
rdb ebd1fd8462 Fix interrogate warnings on Windows. Show warnings when running makepanda in verbose mode. 2015-10-17 03:27:38 +02:00
rdb ddf8343590 Reorganise explicit template instantiations so that it always happens in the .cxx file, while remaining backward compatible with MSVC's standards-breaking implementation 2015-10-16 15:38:28 +02:00
rdb dba5191bc2 Merge branch 'release/1.9.x' 2015-10-12 12:46:39 +02:00
rdb 83d9c4f528 Use /usr/local instead of /usr in Mac OS X installer, to work around El Capitan's System Integrity Protection 2015-10-11 20:11:30 +02:00
rdb ba45120eac Try to stay compatible with Bison 2.5 (for Ubuntu precise), support C++11 and C++17 static_assert, improve error reporting, handle several gcc keyword aliases, fix bug handling preprocessor expression in which the same manifest occurs more than once 2015-10-11 16:52:33 +02:00