|
|
@@ -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)
|
|
|
-
|
|
|
- --no-nothing (don't use any of the third-party packages)
|
|
|
- --default (use default options for everything not specified)
|
|
|
+ --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)
|
|
|
+
|
|
|
+ --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.
|
|
|
-
|
|
|
-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.
|
|
|
-
|
|
|
---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.
|
|
|
-
|
|
|
---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.
|
|
|
-
|
|
|
---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.
|
|
|
+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.
|
|
|
+
|
|
|
+
|
|
|
+USING YOUR OWN LIBRARIES
|
|
|
+
|
|
|
+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.
|
|
|
+
|
|
|
+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.
|
|
|
+
|
|
|
+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
|
|
|
|