Commit Graph

1441 Commits

Author SHA1 Message Date
Daniel 5443f62068 makepanda: Add missing YY_NO_UNISTD_H to built Flex sources
Closes #1028
2020-10-02 12:15:26 +02:00
rdb 7f11dc19cd makepanda: fix ABI flags not being stripped from PYTHONVERSION 2020-09-14 19:31:07 +02:00
rdb 7711757d3d makewheel: add Python DLL before adding panda3d modules
This should ensure that dependencies of Python (such as VCRUNTIME140.DLL) make it into the deploy_libs folder, rather than the panda3d folder.
2020-09-14 11:56:25 +02:00
kamgha 30d8c90f77 makepanda: MSVC fix generating non-SSE2 code for x86
Closes #1018
Fixes #1017
2020-09-13 15:17:02 +02:00
rdb 54ffc534fb makepanda: Fix various issues building with Python 3.10 2020-09-12 22:49:46 +02:00
rdb 2cb5b95d08 makewheel: Fix DLL location when building with --no-copy-python
This fixes a missing libffi-7.dll dependency of _ctypes.pyd
2020-07-01 11:14:13 +02:00
rdb cada6c2c7b Revert "makepanda: Add pyenv support"
This reverts commit eef55f19d8.
2020-06-14 11:07:24 +02:00
Mitchell Stokes eef55f19d8 makepanda: Add pyenv support
Only tested on Linux with Clang

Closes #943
2020-06-02 20:42:29 +02:00
rdb 783c721cef makewheel: strip codesign signature on macOS from libpython3.x.dylib
This is necessary because install_name_tool invalidates the signature, which causes the whole app to fail validation and refuse to open.
2020-03-29 15:34:01 +02:00
rdb 8a86ca97eb makewheel: don't include libpythonX.Y.a in wheel
Fixes #839
2020-03-02 11:00:00 +01:00
rdb 54ff2a8dda makepanda: support --cggl-incdir and --cggl-libdir options
It's quite hacky right now, but that doesn't matter as we're switching to CMake anyway
2020-02-29 16:55:14 +01:00
rdb f57cd186bb makewheel: fix location of libpythonX.Y.so on Debian/Ubuntu 2020-02-23 10:20:38 +01:00
rdb f1af6c80ff test_wheel: fix for Python 3.4
[skip ci]
2020-02-22 14:43:52 +01:00
rdb 8ff2064fe5 makepanda: auto-detect manylinux2010 and manylinux2014 platforms 2020-02-22 12:10:55 +01:00
rdb 59608c9079 makepanda: force flex step for dcParser to occur after bison step
This fixes an erratic build failure reported by the Travis GCC builder.
2020-02-10 13:48:38 +01:00
rdb 6f17a9e36a makepanda: disable plug-ins in Config.prc that weren't compiled
This also disables the plug-ins if we are building them statically.
2020-01-22 09:16:02 +01:00
rdb e5b7760b85 makepanda: do not pass -Wl,--exclude-libs on macOS for OpenSSL
Part two of fix for build regression introduced in e78ce78acf (see #851)
2020-01-21 15:29:12 +01:00
rdb 6b5c473b8e makepanda: do not pass -Wl,--exclude-libs on macOS
Fixes build regression introduced in e78ce78acf (see #851)
2020-01-21 15:21:16 +01:00
rdb e78ce78acf makepanda: don't export symbols of linked static libraries
This results in size savings for thirdparty libraries that are only used once, and a size increase for libraries used more than once (eg. OpenSSL).  More importantly, it prevents conflicts with other versions of the libraries loaded by other Python modules, such as the version of OpenSSL that the hmac module uses.

We need to be careful to only apply this for packages that are either used once, used in a plug-in module, or if we don't need to pass thirdparty library structures across Panda library boundaries.  For example, I haven't done this for Bullet, since the Bullet symbols need to be available through libpandabullet.so due to the fact that pandabullet contains calls to the Bullet libraries in the inline methods.

Fixes #851
2020-01-21 14:35:17 +01:00
rdb 8859ad8c1b makepanda: remove explicit OpenSSL link where it is unneeded
These were probably added before makepanda gained the ability to automatically add dependencies of static libraries when linking statically.

They don't really do any harm--the linker will probably optimize these out automatically--but it's cleaner not to add unused dependencies.
2020-01-21 14:07:36 +01:00
rdb 2fd703af6c makepanda: fix using Windows 8.1 SDK (which also requires UCRT) 2020-01-13 15:02:36 +01:00
LD 87a1be4d4e makepackage: Add warning in macOS installer about change of installdir
Closes #830
2020-01-06 16:17:02 +01:00
rdb ca89b7420a Update Python 2.7 EOL warnings to indicate that EOL date is reached
[skip ci]
2020-01-06 00:36:49 +01:00
rdb 8137bea8f8 makepackage: fix regression in MakeInstaller on Windows 2020-01-05 18:52:26 +01:00
rdb b7017669a1 makepackage: fix None installdir when not passing in any on macOS 2020-01-04 14:14:12 +01:00
Donny Lawrence 2d4647ea33 makepackage: Change macOS install location
Starting with macOS 10.15, we can no longer install into /Developer/Panda3D due
to it not being one of the sanctioned writable directories. This commit changes
the default install location to /Library/Developer/Panda3D, which is the next
best place to put it (discussion on this can be found in #760).

To keep compatibility with those who may rely on the old location, some
postinstall scripts have been added that create symlinks to the new location
if running on 10.14 or older.

Fixes #760
Closes #825
2020-01-04 02:57:21 +01:00
rdb 2d11f36c9e makepanda: add docstring for panda3d.dtoolconfig module 2019-12-29 15:06:24 +01:00
rdb 530955b53e makepanda: add explicit link to libOpenMayaUI.dylib on macOS
This is needed when compiling without -undefined dynamic_lookup
2019-12-29 14:19:58 +01:00
rdb 4c3b6fcc03 makepanda: libIMFbase.dylib is no longer shipped with Maya 2020 on macOS 2019-12-28 21:27:51 -05:00
rdb 7aab057245 makepanda: change strange rpath argument for maya2egg on macOS
It doesn't seem like this setting is actually needed (because mayapath does the necessary set-up), but while it's set, we might as well set it to something more sensible.
2019-12-28 21:25:41 -05:00
rdb 8c82cf5800 makepanda: --universal should not enable i386 when targeting 10.15+
[skip ci]
2019-12-29 00:27:59 +01:00
rdb 5eb40b9061 makewheel: remove maya2egg#_bin.exe from entry_points.txt
These are not intended to be invoked by the user directly, so .exe wrappers do not need to be generated.  maya2egg will find the _bin equivalent by looking for it next to the executable itself.
2019-12-28 21:27:58 +01:00
rdb 7b5e11e9c9 makepanda: add support for Windows 10.0.18362.0 SDK 2019-12-28 20:57:44 +01:00
rdb 1c50abb79b Add support for Maya 2020 2019-12-28 20:57:21 +01:00
rdb 02b0fe0063 installpanda: add note about needing to call "sudo ldconfig"
This note only appears when not using --destdir

This should help avoid user confusion (such as in #818)

[skip ci]
2019-12-18 17:03:44 +01:00
rdb 8645e9d2a4 makepanda: distinguish macOS 10.6 from 10.9 libs in thirdparties
This is specifically for C++ thirdparty libraries, which are linked against either libc++ or libstdc++, and can now both be present in the thirdparty download, in order to address #584

This is a temporary fix for 1.10.5 that will not be present on master (due to #300)
2019-12-18 09:06:15 -05:00
rdb 0456fdcd92 makepanda: update CommandLineTools paths for newer XCode versions 2019-12-18 08:42:43 -05:00
rdb 4c62260291 makepanda: add -framework AudioUnit for OpenAL Soft (#678) 2019-12-18 08:41:58 -05:00
rdb a503e9439e test_wheel: only install colorama on Windows 2019-12-11 15:25:15 +01:00
rdb 1568d1c6b1 test_wheel: workaround to keep this working on Python 3.4 for now
colorama dropped Python 3.4 (see tartley/colorama#228) but pip is not smart enough to lock to an older version.
2019-12-09 09:50:39 +01:00
kamgha 6e36abf5ba makepanda: build against OpenEXR 2.4 (MSVC)
Fixes #799
Closes #800
2019-12-08 10:29:44 +01:00
rdb 4f4b79295f makepanda: fix error when building on Android without specifying --target 2019-12-07 14:32:09 +01:00
rdb 1cfd297433 makepanda: specify freetype library after harfbuzz as well
This fixes static linking of harfbuzz and freetype, which have a circular dependency on each other.
2019-11-17 20:37:33 +01:00
rdb c52db7239b makepanda: fix unnecessary re-copy of unmodified direct files 2019-11-02 19:51:16 +01:00
rdb e1df400f87 makewheel: add pandac/input/*.in interrogatedb files
These are present in the normal SDK builds and are useful for analyzing the API, for example for generating FFI code or generating API documentation.
2019-10-29 20:44:52 +01:00
rdb a9759fab14 makepanda: fix makepanda.bat to look in Python 3.7 folder 2019-10-25 11:50:50 +02:00
rdb 45973fe697 makepanda: remove a leftover debug print 2019-10-25 10:25:40 +02:00
rdb 4ceb494127 makepackage: allow Homebrew Python to find Panda3D libraries 2019-10-05 20:55:23 +02:00
rdb 7fa373bd6a makepanda: fix custom --python-incdir and --python-libdir on macOS 2019-09-16 21:07:13 +02:00
rdb 64982f8b14 makepanda: makepackage/makewheel take default version from setup.cfg
dtool/PandaVersion.pp is obsolete and will be removed soon.
2019-08-20 13:23:11 +02:00
rdb edbdf43f07 makepanda: PANDA_VERSION_STR should contain the full version number 2019-08-19 22:57:51 +02:00
rdb 2b0a2ea6df makepanda: allow passing in more than 3 digits in version number 2019-08-19 21:57:49 +02:00
rdb d028bebb52 makepanda: change getversion.py to take version from setup.cfg
[skip ci]
2019-08-19 21:37:50 +02:00
rdb 22833686e3 test_wheel: temp hack around pypa/pip#6885 to make Win Py3.8 tests pass
A proper fix for this has been merged in pip already (pypa/pip#6874), so this hack will only exist until pip 19.2.3 is out.
2019-08-17 21:01:28 +02:00
rdb b94e080ad2 makepackage: apply workaround for bpo-28440 to 2.7 and 3.8+ too
See #502
2019-08-17 19:59:20 +02:00
rdb 9fac30b3e8 makepanda: Python 3.8 no longer has d/m SOABI flags 2019-08-14 15:07:23 +02:00
rdb 999d1f74f7 makepanda: fix locating UCRT when building with Windows SDK 7.1A
[skip ci]
2019-08-14 09:01:43 +02:00
rdb 262f8b7643 makepanda: look in correct location for VC 2017 dlls 2019-08-13 17:48:47 +02:00
rdb df8ccdb7ab Add support for Python 3.8 2019-08-13 17:48:32 +02:00
rdb fef72ab2a5 test_wheel: don't try to install pip outside the virtual env
We can no longer have pip pre-installed, see #690
2019-08-13 17:46:05 +02:00
rdb 6b3e6f9097 makepackage: install pip as part of installer, using ensurepip
Fixes #690
2019-08-13 17:45:06 +02:00
rdb 2771c29ac9 Make it possible to compile for Maya 2009 2019-08-13 11:49:32 +02:00
rdb 9caae6520e makewheel: add more project URLs to wheel metadata
[skip ci]
2019-07-22 20:02:13 +02:00
rdb 00d7973925 makewheel: remove outdated comment
[skip ci]
2019-07-22 19:18:38 +02:00
rdb cee000d1da makepanda: pick up AudioToolbox and CoreAudio frameworks on macOS
These seem to be needed to compile against OpenAL Soft.

Fixes #678
Fixes #679
2019-07-10 10:05:10 +02:00
rdb 9512187156 test_wheel: upgrade pip inside virtualenv, don't write bytecode 2019-04-30 10:32:01 +02:00
Sam Edwards be247e1be9 makepanda: Remove config entry for defunct HAVE_SOFTIMAGE 2019-04-15 16:46:14 -06:00
rdb fa43591f7a makepanda: show warning when attempting to build with Python 2.7
See #602
2019-04-02 22:41:09 +02:00
rdb 768dce9244 makepanda: fix locating UCRT shipped with more recent Win 10 SDK 2019-03-17 16:04:12 +01:00
deflected 0840e80f54 makepanda: Fixed building of FreeBSD installer
- Include the python bindings when building the FreeBSD
        installer

Signed-off-by: deflected <deflected@users.noreply.github.com>

Closes #585
2019-03-17 11:56:19 +01:00
rdb 6cbc7ac22f makepanda: fix missing Python link when building on Android
[skip ci]
2019-03-16 23:58:13 +01:00
Sebastian Hoffmann 915e290513 makepanda: expose save_egg_file/save_egg_data to Python
Closes #582
2019-03-12 18:08:19 +01:00
rdb 5426ec68dd makepanda: properly respect --x11-incdir setting 2019-03-07 17:33:57 +01:00
Younguk Kim a7c8827dde makepanda: add support for Visual Studio 2019
Closes #570
2019-02-28 18:37:20 +01:00
rdb bf846cd461 makepanda: fall back to libassimpd.so if libassimp.so not found 2019-02-19 21:22:04 +01:00
rdb d5a4dcfd1d Clarify framebuffer-software/hardware comment in Config.prc
[skip ci]
2019-02-19 11:50:59 +01:00
rdb c41c2219c4 makewheel: add long description to METADATA file 2019-02-14 22:41:59 +01:00
rdb 55ac585745 makewheel: exclude libdrm.so.2 which causes GLX context failure 2019-02-12 19:04:38 +01:00
rdb d93fb702eb makepanda: fix various syntax warnings in Python 3.8 2019-02-11 18:58:22 +01:00
rdb 0b087ecf92 installpanda: create intermediate directories with mode 0755 too
Fixes #541
2019-01-23 23:23:33 +01:00
rdb 3cc9e49469 installpanda: fix issues installing includes to existing dir 2019-01-23 23:07:15 +01:00
rdb eef2a93163 makepanda: allow building for Android from Windows machine 2019-01-20 15:59:08 +01:00
rdb c0b973b789 makepanda: support cross-compiling for Android again 2019-01-20 00:32:26 +01:00
rdb 85ca6f66f2 makepackage: add some missing imports 2019-01-19 23:02:30 +01:00
Younguk Kim 5a9a87d2c1 makepanda: fix link error of assimp tool
Closes #535
2019-01-13 21:49:41 +01:00
John Cote e8f0e03043 makepackage: Don't include deploy-stub when building .rpm
Attempting to include deploy-stub in the .rpm would cause rpmbuild to fail, as deploy-stub isn't present.

Closes #527
2019-01-11 10:42:38 +01:00
rdb 83e41262bd makewheel: use all supported Python versions as classifier
Otherwise, PyPI wil pick the ones for the first uploaded wheel, which means that Panda3D will not be indexed under all Python versions on PyPI.

Also add a few more classifiers.
2019-01-10 21:39:44 +01:00
rdb e215ff2928 makepackage: fix error building macOS package for Python 3.x only 2019-01-09 19:20:45 +01:00
rdb eed0834ccb makepanda: fix error concatenating platform
[skip ci]
2019-01-06 09:53:35 +01:00
rdb 9ff536432d makepackage: fix locating Panda3D on sys.path on macOS w/ Py 3.7
Also moves panda3d.dist-info directory to /Developer/Panda3D/ so that deleting /Developer/Panda3D makes it possible to install panda3d via pip again.

Fixes #502
2019-01-03 15:04:53 +01:00
rdb 3e22578529 New branding images for 1.10.0 2019-01-03 14:44:17 +01:00
rdb 62781c154b makepanda: fix instructions to find Opus thirdparty pkg on Windows 2018-12-30 20:09:57 +01:00
rdb cedd4172c4 makepanda: build Python libraries statically with --static
Fixes #477
2018-12-30 16:45:27 +01:00
rdb ee6531abee makepackage: copy over panda3d.dist-info dir on macOS 2018-12-26 23:45:00 +01:00
rdb ae74e2d18e makepackage: avoid packaging deploy-stub with installers 2018-12-26 23:42:39 +01:00
rdb 01915a36db Merge branch 'master' into deploy-ng 2018-12-26 23:41:50 +01:00
rdb 862906b86d makepackage: install for multiple Python versions on Windows
See #441
2018-12-24 21:38:46 +01:00
rdb 94d1722c8c makepanda: add --no-copy-python flag for Windows build
This will avoid copying over the python installation to the built/python directory.
2018-12-24 20:51:20 +01:00
rdb d180be2acc makepackage: build macOS installer for multiple Python versions
See #441
2018-12-24 13:50:12 +01:00
rdb 8a38337e6b makepanda: fix model cache written in current dir on macOS
This was a regression in 2b537d2263 that caused the model-cache to be written to ./Library/Caches rather than $HOME/Library/Caches
2018-12-24 00:17:02 +01:00
rdb 395b9733fb makepanda: when making Linux package, ship Python 2 and 3 bindings
See #441 for discussion.
2018-12-23 22:28:12 +01:00
rdb bd6ef2b0ea Rename CollisionTube to CollisionCapsule (bam 6.44)
Adds ability to register "obsolete" names for certain types under older .bam versions, so that we are still able to write out old .bam files.

Fixes #347
2018-12-23 22:28:06 +01:00
Mitchell Stokes 587237577f deploy-ng: Move distribution related files from direct.showtutil to direct.dist 2018-12-18 20:33:12 -08:00
rdb c0138930c9 makewheel: properly chmod libraries that have no write permissions
Seems to be necessary on macOS for install_name_tool to be able to work on some libraries.  Not sure why fchmod/fstat isn't working right.
2018-12-16 22:37:23 +01:00
rdb e12ff1140b makewheel: fix picking up libssl/libcrypto for _hashlib on macOS 2018-12-09 20:29:19 +01:00
rdb a0af670dc7 makewheel: don't try to resolve deps with absolute path 2018-12-09 20:26:54 +01:00
rdb a7752da4f1 Merge branch 'master' into deploy-ng 2018-12-09 20:22:23 +01:00
rdb b474ef6b1e makepanda: split out installer code into separate makepackage.py 2018-12-09 19:00:01 +01:00
rdb b674104c1f makepanda: don't error for harmless use of removed options
Let's show a warning when an option has been removed but its presence would not have affected the build in an important way.  For options like --use-awesomium we should still show an error since it invokes behavior we no longer support, but it should be harmless to specify --no-awesomium.
2018-12-09 17:09:27 +01:00
rdb 4213e0a50a Remove awesomium (see #440) 2018-12-09 15:53:23 +01:00
rdb 97946cf95e makepanda: deploy-stub should be a Python-version-specific target 2018-12-02 21:39:41 +01:00
rdb f2f4b4c264 Merge branch 'master' into deploy-ng 2018-12-02 16:26:13 +01:00
kamgha 43ce32478f makepanda: find OpenEXR 2.3 and its static variant for MSVC
Closes #463
2018-12-02 12:18:16 +01:00
rdb c560c502b9 Merge branch 'master' into deploy-ng 2018-12-01 22:14:01 +01:00
rdb d7124d4df4 Merge branch 'master' into deploy-ng 2018-11-29 12:57:49 +01:00
rdb 26fcf131c9 Merge branch 'master' into input-overhaul 2018-11-25 17:10:31 +01:00
rdb 356b604627 makepanda: link with IrrXML when using static assimp library
Same fix as #432 but for Linux
2018-11-20 14:50:40 +01:00
rdb 02979fa106 makepanda: use pkg-config for locating assimp 2018-11-20 14:49:44 +01:00
rdb 3d7fcf2ce9 Merge branch 'master' into deploy-ng 2018-11-12 18:31:43 +01:00
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 62ae624a95 makepanda: installer uses registry to add Panda3D to Python path 2018-11-09 18:17:53 +01:00
rdb b37cfd6573 makepanda: use correct Registry key for 32-bit Python 3.5+ 2018-11-09 17:50:17 +01:00
rdb 412f5ecc2a makepanda: more reliable way to get extension suffix 2018-11-09 17:35:47 +01:00
rdb 38c2382ba6 test_wheel: fix upgrading pip on Windows
pip can only be upgraded by running `python -m pip` on Windows.

[skip ci]
2018-11-09 11:44:43 +01:00
rdb 223c532ce7 makepanda: link libpandagl into pview when using --static 2018-11-09 11:43:28 +01:00
rdb 52b2df4ebb makepanda: test_wheel.py should upgrade pip to latest version
[skip ci]
2018-11-08 22:46:52 +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 cf65010a54 Merge branch 'master' into deploy-ng 2018-11-06 23:40:24 +01:00
rdb 70bfe21a63 Merge branch 'master' into input-overhaul 2018-11-06 22:10:39 +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 a799bcaec9 Merge branch 'master' into deploy-ng 2018-11-03 22:51:32 +01:00
rdb 5ac3cf3fc6 Eliminate C++ DConfig; replace it with a Python compatibility shim 2018-11-02 23:27:07 +01:00
rdb 8d3576607e makepanda: remove INSTALLING-PLUGINS.TXT from installer.nsi
[skip ci]
2018-10-30 14:10:31 +01:00
rdb 357b6d3093 Merge branch 'master' into input-overhaul 2018-10-29 23:40:46 +01:00
rdb 54b3474670 Merge branch 'master' into deploy-ng 2018-10-28 20:47:36 +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
Mitchell Stokes b16f9f8f4f Merge branch 'master' into deploy-ng 2018-10-18 17:58:21 -07: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 c28045990c Merge branch 'master' into deploy-ng 2018-10-15 15:42:48 +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