Selaa lähdekoodia

Updated to reflect changes in makepanda

Josh Yelon 21 vuotta sitten
vanhempi
sitoutus
87d4d768c5
1 muutettua tiedostoa jossa 92 lisäystä ja 78 poistoa
  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
 
 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