Updated to reflect changes in makepanda

This commit is contained in:
Josh Yelon 2005-02-22 23:38:46 +00:00
parent 2689381a45
commit 87d4d768c5

View File

@ -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