mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
Updated to reflect changes in makepanda
This commit is contained in:
parent
2689381a45
commit
87d4d768c5
@ -10,30 +10,29 @@ Panda3D Install --- using the 'makepanda' system.
|
|||||||
INVOKING MAKEPANDA
|
INVOKING MAKEPANDA
|
||||||
|
|
||||||
Makepanda is a script that builds panda, all the way through. To
|
Makepanda is a script that builds panda, all the way through. To
|
||||||
invoke it under windows, type this:
|
invoke it under windows, change directory to the root of the panda
|
||||||
|
source tree and type this:
|
||||||
|
|
||||||
makepanda
|
makepanda\makepanda.bat
|
||||||
|
|
||||||
To invoke it under Linux, you need to type the 'py' extension
|
To invoke it under Linux, change directory to the root of the panda
|
||||||
explicitly:
|
source tree and type this:
|
||||||
|
|
||||||
makepanda.py
|
makepanda/makepanda.py
|
||||||
|
|
||||||
From this point forward, I will not be including the 'py' extension
|
From this point forward, I will not be including the directory name or
|
||||||
in my examples, I will simply assume that you know to add it if your
|
the extension in my examples. I will simply assume that you know to
|
||||||
OS requires it.
|
add the correct extension as demanded by your operating system.
|
||||||
|
|
||||||
|
|
||||||
BUILDING PANDA: QUICK START
|
BUILDING PANDA: QUICK START
|
||||||
|
|
||||||
The easy way to build panda is to type:
|
The easy way to build panda is to type:
|
||||||
|
|
||||||
makepanda --default
|
makepanda --everything
|
||||||
|
|
||||||
This will compile panda with all the default options. The default is
|
This will compile panda with all the features. It can take several
|
||||||
to compile every feature, every subsystem, and every tool that can
|
hours, depending on the speed of your machine.
|
||||||
possibly be built. It can take several hours, depending on the speed
|
|
||||||
of your machine.
|
|
||||||
|
|
||||||
The resulting copy of panda will be found in a subdirectory 'built'
|
The resulting copy of panda will be found in a subdirectory 'built'
|
||||||
inside the source tree. You can invoke panda programs directly out of
|
inside the source tree. You can invoke panda programs directly out of
|
||||||
@ -45,7 +44,7 @@ If you choose to do so, you must first copy the subdirectories
|
|||||||
and 'direct/src' into 'built/direct/src'.
|
and 'direct/src' into 'built/direct/src'.
|
||||||
|
|
||||||
|
|
||||||
BUILDING PANDA: COMMAND-LINE OPTIONS
|
MAKEPANDA COMMAND-LINE OPTIONS
|
||||||
|
|
||||||
The default invocation of makepanda is a good way to test panda on
|
The default invocation of makepanda is a good way to test panda on
|
||||||
your machine. However, it compiles several features that you probably
|
your machine. However, it compiles several features that you probably
|
||||||
@ -60,74 +59,89 @@ it will show you the available command-line options:
|
|||||||
--optimize X (optimization level can be 1,2,3,4)
|
--optimize X (optimization level can be 1,2,3,4)
|
||||||
--thirdparty X (directory containing third-party software)
|
--thirdparty X (directory containing third-party software)
|
||||||
--complete (copy models, samples, direct into the build)
|
--complete (copy models, samples, direct into the build)
|
||||||
--no-installer (don't bother building the executable installer)
|
--installer (build an executable installer)
|
||||||
--v1 X (set the major version number)
|
--v1 X (set the major version number)
|
||||||
--v2 X (set the minor version number)
|
--v2 X (set the minor version number)
|
||||||
--v3 X (set the sequence version number)
|
--v3 X (set the sequence version number)
|
||||||
--lzma (use lzma compression when building installer)
|
--lzma (use lzma compression when building installer)
|
||||||
|
|
||||||
--no-zlib (disable the use of ZLIB)
|
--use-zlib --no-zlib (enable/disable use of ZLIB)
|
||||||
--no-png (disable the use of PNG)
|
--use-png --no-png (enable/disable use of PNG)
|
||||||
--no-jpeg (disable the use of JPEG)
|
--use-jpeg --no-jpeg (enable/disable use of JPEG)
|
||||||
--no-tiff (disable the use of TIFF)
|
--use-tiff --no-tiff (enable/disable use of TIFF)
|
||||||
--no-vrpn (disable the use of VRPN)
|
--use-vrpn --no-vrpn (enable/disable use of VRPN)
|
||||||
--no-fmod (disable the use of FMOD)
|
--use-fmod --no-fmod (enable/disable use of FMOD)
|
||||||
--no-nvidiacg (disable the use of NVIDIACG)
|
--use-nvidiacg --no-nvidiacg (enable/disable use of NVIDIACG)
|
||||||
--no-helix (disable the use of HELIX)
|
--use-helix --no-helix (enable/disable use of HELIX)
|
||||||
--no-nspr (disable the use of NSPR)
|
--use-nspr --no-nspr (enable/disable use of NSPR)
|
||||||
--no-openssl (disable the use of OPENSSL)
|
--use-openssl --no-openssl (enable/disable use of OPENSSL)
|
||||||
--no-freetype (disable the use of FREETYPE)
|
--use-freetype --no-freetype (enable/disable use of FREETYPE)
|
||||||
--no-fftw (disable the use of FFTW)
|
--use-fftw --no-fftw (enable/disable use of FFTW)
|
||||||
--no-miles (disable the use of MILES)
|
--use-miles --no-miles (enable/disable use of MILES)
|
||||||
--no-maya5 (disable the use of MAYA5)
|
--use-maya5 --no-maya5 (enable/disable use of MAYA5)
|
||||||
--no-maya6 (disable the use of MAYA6)
|
--use-maya6 --no-maya6 (enable/disable use of MAYA6)
|
||||||
--no-max5 (disable the use of MAX5)
|
--use-max5 --no-max5 (enable/disable use of MAX5)
|
||||||
--no-max6 (disable the use of MAX6)
|
--use-max6 --no-max6 (enable/disable use of MAX6)
|
||||||
--no-max7 (disable the use of MAX7)
|
--use-max7 --no-max7 (enable/disable use of MAX7)
|
||||||
|
|
||||||
--no-nothing (don't use any of the third-party packages)
|
--nothing (disable every third-party lib)
|
||||||
--default (use default options for everything not specified)
|
--everything (enable every third-party lib)
|
||||||
|
|
||||||
Makepanda shows you all the available options, not all of which may be
|
Makepanda shows you all the available options, not all of which may be
|
||||||
relevant to your operating system. For example, makepanda can build a
|
relevant to your operating system. For example, makepanda can build a
|
||||||
plugin for 3D Studio Max 5. However, there is no 3D Studio Max for
|
plugin for 3D Studio Max 5. However, there is no 3D Studio Max for
|
||||||
linux, so the option --no-max5 is largely irrelevant under Linux.
|
Linux, so the option --use-max5 is irrelevant under Linux.
|
||||||
|
|
||||||
|
|
||||||
|
SELECTING PANDA FEATURES
|
||||||
|
|
||||||
|
Panda contains a large number of optional features. For example, if
|
||||||
|
panda is compiled with PNG support, then panda will be able to load
|
||||||
|
textures from PNG image files.
|
||||||
|
|
||||||
|
Some of these features require the use of bulky third-party libraries.
|
||||||
|
For example, 'helix' is a streaming video library from real networks.
|
||||||
|
If you do not plan on using streaming video in your 3D world, then
|
||||||
|
you may be interested in compiling panda without helix. This will
|
||||||
|
shave several megabytes off of the panda libraries.
|
||||||
|
|
||||||
|
To select panda features, you need to specify one of two different
|
||||||
|
command-line options:
|
||||||
|
|
||||||
|
makepanda --everything
|
||||||
|
makepanda --nothing
|
||||||
|
|
||||||
|
You can follow either of these with a list of specific exceptions.
|
||||||
|
For example, you can say:
|
||||||
|
|
||||||
|
makepanda --everything --no-helix --no-openssl
|
||||||
|
makepanda --nothing --use-zlib --use-png
|
||||||
|
|
||||||
Note that 'makepanda' is a new tool. The panda3d team has not had
|
Note that 'makepanda' is a new tool. The panda3d team has not had
|
||||||
time to test all the options. It is very likely that several do not
|
time to test every combination of options. It is likely that most
|
||||||
work. However, we have thoroughly tested the --default configuration,
|
combinations do not work. The only combination we can vouch for at
|
||||||
which works flawlessly on the machines we own.
|
this time is '--everything'. In the next release, we hope to be able
|
||||||
|
to vouch for a large number of different combinations.
|
||||||
|
|
||||||
The options you are most likely to be interested in are:
|
|
||||||
|
|
||||||
--no-installer: Under Windows, makepanda builds an installer --- a
|
USING YOUR OWN LIBRARIES
|
||||||
neatly packaged EXE file containing a panda distribution. This takes
|
|
||||||
time and disk space, and you probably don't need to build your own
|
|
||||||
installer. This option is only relevant under Windows.
|
|
||||||
|
|
||||||
--no-helix: Helix is realmedia's library of subroutines for playing
|
Panda3D uses a number of third-party libraries: libpng, libjpeg,
|
||||||
realvideo files, realaudio files, and streaming video and audio. It's
|
openssl, etc. If you are using a Unix variant, many of these
|
||||||
a large library, and unless you're planning on using this feature, you
|
libraries come with the operating system. Panda3D will use these
|
||||||
might be able to shave several megabytes off your panda tree. This
|
OS-supplied libraries where possible, so if your OS comes with a copy
|
||||||
option is only relevant under Windows.
|
of libpng, Panda3D uses that.
|
||||||
|
|
||||||
--no-openssl: Panda3D can download resources from encrypted websites.
|
For convenience, the panda source distribution includes precompiled
|
||||||
Again, this is a large library, and unless you're planning on using
|
copies of many of the third-party libraries. You will find these
|
||||||
this feature, you might be able to shave several megabytes off your
|
libraries in a subdirectory labeled 'thirdparty'. If you are happy
|
||||||
panda tree. This option is much less useful under Linux, where openssl
|
with the versions we have provided, then you don't need to do anything
|
||||||
is normally provided as a shared library, and therefore doesn't really
|
special.
|
||||||
cost any disk space.
|
|
||||||
|
|
||||||
--thirdparty: Panda3D uses a number of third-party libraries: libpng,
|
If you are not satisfied with the versions of the libraries we have
|
||||||
fftw, nspr, etc. Panda3D obtains these libraries from the host
|
provided, you may supply your own versions. To do so, duplicate the
|
||||||
operating system where possible, so if your OS comes with a copy of
|
'thirdparty' tree, substitute your own libraries, and then use
|
||||||
libpng, Panda3D uses that. Those libraries which are not provided by
|
the --thirdparty option to point makepanda to your libraries.
|
||||||
the host operating system are included in the source tar-ball under a
|
|
||||||
subdirectory 'thirdparty'. If you are not satisfied with the versions
|
|
||||||
of the libraries we have provided, you may supply your own versions.
|
|
||||||
To do so, duplicate the 'thirdparty' tree, substitute your own
|
|
||||||
libraries, and then use the --thirdparty option to point makepanda to
|
|
||||||
your libraries.
|
|
||||||
|
|
||||||
|
|
||||||
THE EDIT-COMPILE-DEBUG CYCLE
|
THE EDIT-COMPILE-DEBUG CYCLE
|
||||||
@ -147,11 +161,11 @@ It is all too easy to accidentally invoke 'makepanda' with the wrong
|
|||||||
options, thereby triggering an hour-long recompilation. To avoid this
|
options, thereby triggering an hour-long recompilation. To avoid this
|
||||||
situation, we recommend that you write a short script containing the
|
situation, we recommend that you write a short script containing the
|
||||||
options you intend to use regularly. For example, I regularly compile
|
options you intend to use regularly. For example, I regularly compile
|
||||||
panda without helix and without the installer. I have a very short
|
panda without helix. I have a very short Windows BAT file called
|
||||||
Windows BAT file called "mkp.bat" that looks like this:
|
"mkp.bat" that looks like this:
|
||||||
|
|
||||||
@echo off
|
@echo off
|
||||||
makepanda --no-installer --no-helix
|
makepanda --everything --no-helix
|
||||||
|
|
||||||
This helps me avoid accidentally typing makepanda with the wrong
|
This helps me avoid accidentally typing makepanda with the wrong
|
||||||
options.
|
options.
|
||||||
@ -164,10 +178,10 @@ panda3d sources.
|
|||||||
|
|
||||||
BUILDING THE SOURCE TAR-BALL AND THE RPM
|
BUILDING THE SOURCE TAR-BALL AND THE RPM
|
||||||
|
|
||||||
If you want to build an RPM, it is fairly easy to do so. First, you
|
If you are using Linux and you want to build an RPM, it is fairly easy
|
||||||
need a panda source tar-ball. If you do not already have one, build
|
to do so. First, you need a panda source tar-ball. If you do not
|
||||||
one using 'maketarball.py'. You will need to specify a version
|
already have one, build one using 'maketarball.py'. You will need to
|
||||||
number.
|
specify a version number.
|
||||||
|
|
||||||
maketarball.py --v1 58 --v2 23 --v3 95
|
maketarball.py --v1 58 --v2 23 --v3 95
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user