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
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
explicitly:
To invoke it under Linux, change directory to the root of the panda
source tree and type this:
makepanda.py
makepanda/makepanda.py
From this point forward, I will not be including the 'py' extension
in my examples, I will simply assume that you know to add it if your
OS requires it.
From this point forward, I will not be including the directory name or
the extension in my examples. I will simply assume that you know to
add the correct extension as demanded by your operating system.
BUILDING PANDA: QUICK START
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
to compile every feature, every subsystem, and every tool that can
possibly be built. It can take several hours, depending on the speed
of your machine.
This will compile panda with all the features. It can take several
hours, depending on the speed of your machine.
The resulting copy of panda will be found in a subdirectory 'built'
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'.
BUILDING PANDA: COMMAND-LINE OPTIONS
MAKEPANDA COMMAND-LINE OPTIONS
The default invocation of makepanda is a good way to test panda on
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)
--thirdparty X (directory containing third-party software)
--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)
--v2 X (set the minor version number)
--v3 X (set the sequence version number)
--lzma (use lzma compression when building installer)
--no-zlib (disable the use of ZLIB)
--no-png (disable the use of PNG)
--no-jpeg (disable the use of JPEG)
--no-tiff (disable the use of TIFF)
--no-vrpn (disable the use of VRPN)
--no-fmod (disable the use of FMOD)
--no-nvidiacg (disable the use of NVIDIACG)
--no-helix (disable the use of HELIX)
--no-nspr (disable the use of NSPR)
--no-openssl (disable the use of OPENSSL)
--no-freetype (disable the use of FREETYPE)
--no-fftw (disable the use of FFTW)
--no-miles (disable the use of MILES)
--no-maya5 (disable the use of MAYA5)
--no-maya6 (disable the use of MAYA6)
--no-max5 (disable the use of MAX5)
--no-max6 (disable the use of MAX6)
--no-max7 (disable the use of MAX7)
--use-zlib --no-zlib (enable/disable use of ZLIB)
--use-png --no-png (enable/disable use of PNG)
--use-jpeg --no-jpeg (enable/disable use of JPEG)
--use-tiff --no-tiff (enable/disable use of TIFF)
--use-vrpn --no-vrpn (enable/disable use of VRPN)
--use-fmod --no-fmod (enable/disable use of FMOD)
--use-nvidiacg --no-nvidiacg (enable/disable use of NVIDIACG)
--use-helix --no-helix (enable/disable use of HELIX)
--use-nspr --no-nspr (enable/disable use of NSPR)
--use-openssl --no-openssl (enable/disable use of OPENSSL)
--use-freetype --no-freetype (enable/disable use of FREETYPE)
--use-fftw --no-fftw (enable/disable use of FFTW)
--use-miles --no-miles (enable/disable use of MILES)
--use-maya5 --no-maya5 (enable/disable use of MAYA5)
--use-maya6 --no-maya6 (enable/disable use of MAYA6)
--use-max5 --no-max5 (enable/disable use of MAX5)
--use-max6 --no-max6 (enable/disable use of MAX6)
--use-max7 --no-max7 (enable/disable use of MAX7)
--no-nothing (don't use any of the third-party packages)
--default (use default options for everything not specified)
--nothing (disable every third-party lib)
--everything (enable every third-party lib)
Makepanda shows you all the available options, not all of which may be
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
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
time to test all the options. It is very likely that several do not
work. However, we have thoroughly tested the --default configuration,
which works flawlessly on the machines we own.
time to test every combination of options. It is likely that most
combinations do not work. The only combination we can vouch for at
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
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.
USING YOUR OWN LIBRARIES
--no-helix: Helix is realmedia's library of subroutines for playing
realvideo files, realaudio files, and streaming video and audio. It's
a large library, and unless you're planning on using this feature, you
might be able to shave several megabytes off your panda tree. This
option is only relevant under Windows.
Panda3D uses a number of third-party libraries: libpng, libjpeg,
openssl, etc. If you are using a Unix variant, many of these
libraries come with the operating system. Panda3D will use these
OS-supplied libraries where possible, so if your OS comes with a copy
of libpng, Panda3D uses that.
--no-openssl: Panda3D can download resources from encrypted websites.
Again, this is a large library, and unless you're planning on using
this feature, you might be able to shave several megabytes off your
panda tree. This option is much less useful under Linux, where openssl
is normally provided as a shared library, and therefore doesn't really
cost any disk space.
For convenience, the panda source distribution includes precompiled
copies of many of the third-party libraries. You will find these
libraries in a subdirectory labeled 'thirdparty'. If you are happy
with the versions we have provided, then you don't need to do anything
special.
--thirdparty: Panda3D uses a number of third-party libraries: libpng,
fftw, nspr, etc. Panda3D obtains these libraries from the host
operating system where possible, so if your OS comes with a copy of
libpng, Panda3D uses that. Those libraries which are not provided by
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.
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
@ -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
situation, we recommend that you write a short script containing the
options you intend to use regularly. For example, I regularly compile
panda without helix and without the installer. I have a very short
Windows BAT file called "mkp.bat" that looks like this:
panda without helix. I have a very short Windows BAT file called
"mkp.bat" that looks like this:
@echo off
makepanda --no-installer --no-helix
makepanda --everything --no-helix
This helps me avoid accidentally typing makepanda with the wrong
options.
@ -164,10 +178,10 @@ panda3d sources.
BUILDING THE SOURCE TAR-BALL AND THE RPM
If you want to build an RPM, it is fairly easy to do so. First, you
need a panda source tar-ball. If you do not already have one, build
one using 'maketarball.py'. You will need to specify a version
number.
If you are using Linux and you want to build an RPM, it is fairly easy
to do so. First, you need a panda source tar-ball. If you do not
already have one, build one using 'maketarball.py'. You will need to
specify a version number.
maketarball.py --v1 58 --v2 23 --v3 95