INSTALL.txt
changeset 812 b987fcf6f707
parent 811 9400f1669df4
child 817 f2131d5dc3dd
equal deleted inserted replaced
811:9400f1669df4 812:b987fcf6f707
     7 
     7 
     8 ALL PLATFORMS:
     8 ALL PLATFORMS:
     9 
     9 
    10 Please understand your rights and mine: read the text file LICENSE.txt in the
    10 Please understand your rights and mine: read the text file LICENSE.txt in the
    11  root of the source tree. If you can't abide by it, delete this source tree
    11  root of the source tree. If you can't abide by it, delete this source tree
    12  now.
    12  now. The license is extremely liberal, even to closed-source, commercial
       
    13  applications.
    13 
    14 
    14 If you've got Doxygen (http://www.doxygen.org/) installed, you can run it
    15 If you've got Doxygen (http://www.doxygen.org/) installed, you can run it
    15  without any command line arguments in the root of the source tree to generate
    16  without any command line arguments in the root of the source tree to generate
    16  the API reference. This is optional. You can browse the API docs online
    17  the API reference (or build the "docs" target from your build system). This
    17  here:  http://icculus.org/physfs/docs/
    18  is optional. You can browse the API docs online here:
       
    19 
       
    20     http://icculus.org/physfs/docs/
       
    21 
    18 
    22 
    19 
    23 
    20 
    24 
    21 UNIX:
    25 UNIX:
    22 (If you got this code from CVS, run "./bootstrap" first.)
       
    23 
    26 
    24 Run ./configure --help and see what features can be optionally enabled or
    27 You will need CMake (http://www.cmake.org/) 2.4 or later installed.
    25 disabled. "./configure" does its best to pick optimal defaults for your
       
    26 platform.
       
    27 
    28 
    28 Run "make".
    29 Run "cmake ." in the root of the source directory to generate Makefiles.
       
    30  You can then run "ccmake ." and customize the build, but the defaults are
       
    31  probably okay. You can have CMake generate KDevelop project files if you
       
    32  prefer these.
       
    33 
       
    34 Run "make". PhysicsFS will now build.
       
    35 
    29 As root, run "make install".
    36 As root, run "make install".
    30 If you get sick of the library, run "make uninstall" as root and it will
    37  If you get sick of the library, run "xargs rm < install_manifest.txt" as root
    31 remove all traces of the library from the system paths.
    38  and it will remove all traces of the library from the system paths.
    32 
    39 
    33 Primary Unix development is done with GNU/Linux, but PhysicsFS is known to
    40 Primary Unix development is done with GNU/Linux, but PhysicsFS is known to
    34 work out of the box with several flavors of Unix. It it doesn't work, patches
    41  work out of the box with several flavors of Unix. It it doesn't work, patches
    35 to get it running can be sent to icculus@icculus.org.
    42  to get it running can be sent to icculus@icculus.org.
       
    43 
    36 
    44 
    37 
    45 
    38 BeOS:
    46 BeOS:
    39 Use the "Unix" instructions, above.
       
    40 
    47 
    41 
    48 Use the "Unix" instructions, above. The CMake port to BeOS is fairly new at
    42 AtheOS/Syllable:
    49  the time of this writing, but it works. You can get it from bebits.com ...
    43 Use the "Unix" instructions, above.
       
    44 
       
    45 
       
    46 WIN32:
       
    47 If building with CygWin, mingw32 or something else that uses the GNU
       
    48 toolchain, follow the Unix instructions, above.
       
    49 
       
    50 If you're using Visual C++ 6, point it at "physfs.dsp" in the root of the
       
    51 source tree, and build. This will produce a "physfs.dll" and "physfs.lib"
       
    52 (shared library and import lib, respectively) in either a "Debug" or
       
    53 "Release" directory, depending on what configuration you chose to build.
       
    54 After building the lib, you can make sure it works by building the
       
    55 "test_physfs.dsp" project file, which will create "test_physfs.exe" in
       
    56 "Debug" or "Release". This EXE is linked against the DLL you built
       
    57 previously.
       
    58 
       
    59 If you're using Visual C++ 6 and want to generate a static LIB file, point
       
    60 it at "physfs_static.dsp" in the root of the source tree and build.  This
       
    61 will produce a "physfs_static.lib" in either a "physfs_static_debug"
       
    62 or a "physfs_static_release" directory, depending on what configuration
       
    63 you chose to build.  NOTE: "test_physfs.dsp" does not work with the
       
    64 statically linked build.
       
    65 
       
    66 Visual Studio.NET users should do the same thing, but use the "physfs.vcproj"
       
    67 and "test_physfs.vcproj" project files instead.
       
    68 
       
    69 NOTE: to change build options such as which drivers are loaded (ZIP, QPAK,
       
    70 etc.) modify the appropriate manifest constants under the Project Settings.
       
    71 By default the LIB version supports all drivers, but the DLL build does
       
    72 not support MVL or HOG file formats.
       
    73 
       
    74 If you're using another compiler, send me a patch when you get it working.  :)
       
    75 
       
    76 No one's tried building this for a WinCE (PocketPC) platform, but it may or
       
    77 may not work. Patches are welcome.
       
    78 
       
    79 If someone is willing to maintain prebuilt PhysicsFS DLLs, I'd like to hear
       
    80 from you; send an email to icculus@icculus.org.
       
    81 
       
    82 MACOS 8/9:
       
    83 Double-click on "CWProjects.sit" in the root of the source tree. This will
       
    84 unpack into a folder called "Mac Classic Support", which has CodeWarrior 6
       
    85 project files.
       
    86 
       
    87 Point CodeWarrior at "physfs.mcp" in that new folder, and build. This will
       
    88 produce a "PhysicsFS" or "PhysicsFS Debug" shared library, depending on what
       
    89 configuration you chose to build. After building the lib, you can make sure
       
    90 it works by building the "test_physfs.mcp" project file, which will create
       
    91 "test_physfs" or "test_physfs Debug". These binaries are linked against the
       
    92 DLLs you built previously.
       
    93 
       
    94 If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
       
    95 the Mac, I'd like to hear from you; send an email to icculus@icculus.org.
       
    96 
    50 
    97 
    51 
    98 
    52 
    99 MACOS X:
    53 Windows:
   100 You (currently) need to use the freeware Apple Developer Tools, which are
       
   101 based on the GNU toolchain. Fire up a terminal and run "cc"...if this reports
       
   102 "no input files" then you've got the tools installed.
       
   103 
    54 
   104 Follow the Unix directions, above (configure, make, make install).
    55 If building with CygWin, mingw32 or something else that uses the GNU
       
    56  toolchain, follow the Unix instructions, above.
       
    57 
       
    58 If you want to use Visual Studio, nmake, or the Platform SDK, you will need
       
    59  CMake (http://www.cmake.org/) 2.4 or later installed. Point CMake at the
       
    60  CMakeLists.txt file in the root of the source directory and it will generate
       
    61  project files for you.
       
    62 
       
    63 PhysicsFS will only link directly against system libraries that have existed
       
    64  since Windows 95 and Windows NT 3.51. If there's a newer API we want to use,
       
    65  we try to dynamically load it at runtime and fallback to a reasonable
       
    66  behaviour when we can't find it...this is used for Unicode support and
       
    67  locating user-specific directories, etc.
       
    68 
       
    69 PhysicsFS has not been tested on 64-bit Windows, but probably works. There is
       
    70  no 16-bit Windows support at all. Reports of success and problems can go to
       
    71  Ryan at icculus@icculus.org ...
       
    72 
       
    73 If someone is willing to maintain prebuilt PhysicsFS DLLs, I'd like to hear
       
    74 from you; send an email to icculus@icculus.org ...
       
    75 
       
    76 
       
    77 
       
    78 PocketPC/WindowsCE:
       
    79 
       
    80 Code exists for PocketPC support, and there are shipping titles that used
       
    81  PhysicsFS 1.0 on PocketPC...but it isn't tested in 2.0, and is probably
       
    82  broken with the new build system. Please send patches.
       
    83 
       
    84 
       
    85 
       
    86 MAC OS 8/9:
       
    87 
       
    88 Double-click on "CWProjects.sit" in the root of the source tree. This will
       
    89  unpack into a folder called "Mac Classic Support", which has CodeWarrior 6
       
    90  project files.
       
    91 
       
    92 Point CodeWarrior at "physfs.mcp" in that new folder, and build. This will
       
    93  produce a "PhysicsFS" or "PhysicsFS Debug" shared library, depending on what
       
    94  configuration you chose to build. After building the lib, you can make sure
       
    95  it works by building the "test_physfs.mcp" project file, which will create
       
    96  "test_physfs" or "test_physfs Debug". These binaries are linked against the
       
    97  DLLs you built previously.
       
    98 
       
    99 PhysicsFS builds for classic Mac OS do not require CarbonLib...they use
       
   100  OS 8 (8.5?) APIs exclusively.
   105 
   101 
   106 If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
   102 If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
   107 MacOS X, I'd like to hear from you; send an email to icculus@icculus.org.
   103  the Mac, I'd like to hear from you; send an email to icculus@icculus.org.
       
   104 
       
   105 
       
   106 
       
   107 
       
   108 MAC OS X:
       
   109 
       
   110 You will need CMake (http://www.cmake.org/) 2.4 or later installed.
       
   111 
       
   112 You can either generate a Unix makefile with CMake, or generate an Xcode
       
   113  project, whichever makes you more comfortable.
       
   114 
       
   115 PowerPC and Intel Macs should both be supported.
       
   116 
       
   117 If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
       
   118  Mac OS X, I'd like to hear from you; send an email to icculus@icculus.org.
       
   119 
   108 
   120 
   109 
   121 
   110 OS/2:
   122 OS/2:
       
   123 
   111 You need EMX installed. I tried this on a stock Warp 4 install, no fixpaks.
   124 You need EMX installed. I tried this on a stock Warp 4 install, no fixpaks.
   112 I used the latest EMX and patches (which are several years old now). You need
   125  I used the latest EMX and patches (which are several years old now). You need
   113 to install link386.exe (Selective Install, "link object modules" option). Once
   126  to install link386.exe (Selective Install, "link object modules" option). Once
   114 EMX is installed correctly, unpack the source to PhysicsFS and run the script
   127  EMX is installed correctly, unpack the source to PhysicsFS and run the script
   115 file "makeos2.cmd". I know this isn't ideal, but I wanted to have this build
   128  file "makeos2.cmd". I know this isn't ideal, but I wanted to have this build
   116 without users having to hunt down a "make" program (While several exist, EMX
   129  without users having to hunt down a "make" program (While several exist, EMX
   117 doesn't come with one). If someone wants to hack some REXX to make this a bit
   130  doesn't come with one). If someone wants to hack some REXX to make this a bit
   118 more picky about recompiling, I'll accept the patch.
   131  more picky about recompiling, I'll accept the patch.
       
   132 
       
   133 Modernizing this for post-EMX systems or OpenWatcom may be good solutions, too.
       
   134  Send patches. And port CMake.
   119 
   135 
   120 If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
   136 If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
   121 OS/2, I'd like to hear from you; send an email to icculus@icculus.org.
   137  OS/2, I'd like to hear from you; send an email to icculus@icculus.org.
       
   138 
   122 
   139 
   123 
   140 
   124 OTHER PLATFORMS:
   141 OTHER PLATFORMS:
   125 Many Unix-like platforms might "just work" with the GNU autoconf tools. Some
   142 
   126 of these platforms are known to have worked at one time, but have not been
   143 Many Unix-like platforms might "just work" with CMake. Some of these platforms
   127 heavily tested, if tested at all. PhysicsFS is, as far as we know, 64-bit and
   144  are known to have worked at one time, but have not been heavily tested, if
   128 byteorder clean, and is known to compile on several compilers across many
   145  tested at all. PhysicsFS is, as far as we know, 64-bit and byteorder clean,
   129 platforms. To implement a new platform or archiver, please read the
   146  and is known to compile on several compilers across many platforms. To
   130 heavily-commented physfs_internal.h and look in the platform/ and archiver/
   147  implement a new platform or archiver, please read the heavily-commented
   131 directories for examples.
   148  physfs_internal.h and look in the platform/ and archiver/ directories for
       
   149  examples.
   132 
   150 
   133 --ryan. (icculus@icculus.org)
   151 --ryan. (icculus@icculus.org)
   134 
   152