Bläddra i källkod

Updated to reflect changes in makepanda

Josh Yelon 21 år sedan
förälder
incheckning
87d4d768c5
1 ändrade filer med 92 tillägg och 78 borttagningar
  1. 92 78
      doc/doc/INSTALL-MK

+ 92 - 78
doc/doc/INSTALL-MK

@@ -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
-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
 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
-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'
 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)
-  --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
 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
-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
 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
-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
 	@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
-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
 	maketarball.py --v1 58 --v2 23 --v3 95