INSTALL
author Ryan C. Gordon <icculus@icculus.org>
Mon, 23 Mar 2009 01:30:36 -0400
branchstable-1.0
changeset 962 f56390dd82ec
parent 766 3970811e14f4
permissions -rw-r--r--
Removed a reference to CVS.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
214
19846c18071b Initial autoconf support.
Ryan C. Gordon <icculus@icculus.org>
parents: 208
diff changeset
     1
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
     2
The latest PhysicsFS information and releases can be found at:
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
     3
  http://icculus.org/physfs/
214
19846c18071b Initial autoconf support.
Ryan C. Gordon <icculus@icculus.org>
parents: 208
diff changeset
     4
208
d176cef27a77 Updated win32 build info, other tweaks.
Ryan C. Gordon <icculus@icculus.org>
parents: 205
diff changeset
     5
Building is (ahem) very easy.
54
2756e7c8125f Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     6
71
105bdb041c03 More win32 updates.
Ryan C. Gordon <icculus@icculus.org>
parents: 60
diff changeset
     7
105bdb041c03 More win32 updates.
Ryan C. Gordon <icculus@icculus.org>
parents: 60
diff changeset
     8
ALL PLATFORMS:
91
4a13fbf4a88a Updated again.
Ryan C. Gordon <icculus@icculus.org>
parents: 89
diff changeset
     9
71
105bdb041c03 More win32 updates.
Ryan C. Gordon <icculus@icculus.org>
parents: 60
diff changeset
    10
Please understand your rights and mine: read the text file LICENSE in the root
105bdb041c03 More win32 updates.
Ryan C. Gordon <icculus@icculus.org>
parents: 60
diff changeset
    11
of the source tree. If you can't abide by it, delete this source tree now.
105bdb041c03 More win32 updates.
Ryan C. Gordon <icculus@icculus.org>
parents: 60
diff changeset
    12
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    13
If you've got Doxygen (http://www.doxygen.org/) installed, you can run it
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    14
 without any command line arguments in the root of the source tree to generate
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    15
 the API reference. This is optional. You can browse the API docs online
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    16
 here:  http://icculus.org/physfs/docs/
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    17
71
105bdb041c03 More win32 updates.
Ryan C. Gordon <icculus@icculus.org>
parents: 60
diff changeset
    18
105bdb041c03 More win32 updates.
Ryan C. Gordon <icculus@icculus.org>
parents: 60
diff changeset
    19
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    20
UNIX:
962
f56390dd82ec Removed a reference to CVS.
Ryan C. Gordon <icculus@icculus.org>
parents: 766
diff changeset
    21
(If you got this code from Mercurial, run "./bootstrap" first.)
54
2756e7c8125f Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    22
230
13e275b51d5a Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
    23
Run ./configure --help and see what features can be optionally enabled or
13e275b51d5a Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
    24
disabled. "./configure" does its best to pick optimal defaults for your
13e275b51d5a Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
    25
platform.
54
2756e7c8125f Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    26
230
13e275b51d5a Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
    27
Run "make".
13e275b51d5a Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
    28
As root, run "make install".
13e275b51d5a Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
    29
If you get sick of the library, run "make uninstall" as root and it will
13e275b51d5a Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
    30
remove all traces of the library from the system paths.
54
2756e7c8125f Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    31
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    32
Primary Unix development is done with GNU/Linux, but PhysicsFS is known to
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    33
work out of the box with several flavors of Unix. It it doesn't work, patches
766
3970811e14f4 Changed my email address.
Ryan C. Gordon <icculus@icculus.org>
parents: 590
diff changeset
    34
to get it running can be sent to icculus@icculus.org.
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    35
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    36
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    37
BeOS:
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    38
Use the "Unix" instructions, above.
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    39
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    40
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    41
AtheOS:
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    42
Use the "Unix" instructions, above.
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    43
71
105bdb041c03 More win32 updates.
Ryan C. Gordon <icculus@icculus.org>
parents: 60
diff changeset
    44
105bdb041c03 More win32 updates.
Ryan C. Gordon <icculus@icculus.org>
parents: 60
diff changeset
    45
WIN32:
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    46
If building with CygWin, mingw32 or something else that uses the GNU
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    47
toolchain, follow the Unix instructions, above.
230
13e275b51d5a Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 214
diff changeset
    48
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    49
If you're using Visual C++ 6, point it at "physfs.dsp" in the root of the
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    50
source tree, and build. This will produce a "physfs.dll" and "physfs.lib"
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    51
(shared library and import lib, respectively) in either a "Debug" or
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    52
"Release" directory, depending on what configuration you chose to build.
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    53
After building the lib, you can make sure it works by building the
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    54
"test_physfs.dsp" project file, which will create "test_physfs.exe" in
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    55
"Debug" or "Release". This EXE is linked against the DLL you built
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    56
previously.
89
2f9f1d02aaca Updated win32 build instructions.
Ryan C. Gordon <icculus@icculus.org>
parents: 71
diff changeset
    57
590
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    58
If you're using Visual C++ 6 and want to generate a static LIB file, point
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    59
it at "physfs_static.dsp" in the root of the source tree and build.  This
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    60
will produce a "physfs_static.lib" in either a "physfs_static_debug"
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    61
or a "physfs_static_release" directory, depending on what configuration
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    62
you chose to build.  NOPE: "test_physfs.dsp" does not work with the
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    63
statically linked build.
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    64
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    65
Visual Studio.NET users should do the same thing, but use the "physfs.vcproj"
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
    66
and "test_physfs.vcproj" project files instead.
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    67
590
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    68
NOTE: to change build options such as which drivers are loaded (ZIP, QPAK,
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    69
etc.) modify the appropriate manifest constants under the Project Settings.
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    70
By default the LIB version supports all drivers, but the DLL build does
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    71
not support MVL or HOG file formats.
171fd8b3f7f2 updated to reflect info on VC6 static lib files
bhook
parents: 488
diff changeset
    72
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    73
If you're using another compiler, send me a patch when you get it working.  :)
208
d176cef27a77 Updated win32 build info, other tweaks.
Ryan C. Gordon <icculus@icculus.org>
parents: 205
diff changeset
    74
d176cef27a77 Updated win32 build info, other tweaks.
Ryan C. Gordon <icculus@icculus.org>
parents: 205
diff changeset
    75
No one's tried building this for a WinCE (PocketPC) platform, but it may or
d176cef27a77 Updated win32 build info, other tweaks.
Ryan C. Gordon <icculus@icculus.org>
parents: 205
diff changeset
    76
may not work. Patches are welcome.
d176cef27a77 Updated win32 build info, other tweaks.
Ryan C. Gordon <icculus@icculus.org>
parents: 205
diff changeset
    77
91
4a13fbf4a88a Updated again.
Ryan C. Gordon <icculus@icculus.org>
parents: 89
diff changeset
    78
If someone is willing to maintain prebuilt PhysicsFS DLLs, I'd like to hear
766
3970811e14f4 Changed my email address.
Ryan C. Gordon <icculus@icculus.org>
parents: 590
diff changeset
    79
from you; send an email to icculus@icculus.org.
91
4a13fbf4a88a Updated again.
Ryan C. Gordon <icculus@icculus.org>
parents: 89
diff changeset
    80
187
1241722f5f28 Added MacOS info, etc.
Ryan C. Gordon <icculus@icculus.org>
parents: 91
diff changeset
    81
MACOS 8/9:
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    82
Double-click on "CWProjects.sit" in the root of the source tree. This will
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    83
unpack into a folder called "Mac Classic Support", which has CodeWarrior 6
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    84
project files.
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    85
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    86
Point CodeWarrior at "physfs.mcp" in that new folder, and build. This will
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    87
produce a "PhysicsFS" or "PhysicsFS Debug" shared library, depending on what
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    88
configuration you chose to build. After building the lib, you can make sure
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    89
it works by building the "test_physfs.mcp" project file, which will create
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    90
"test_physfs" or "test_physfs Debug". These binaries are linked against the
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    91
DLLs you built previously.
187
1241722f5f28 Added MacOS info, etc.
Ryan C. Gordon <icculus@icculus.org>
parents: 91
diff changeset
    92
1241722f5f28 Added MacOS info, etc.
Ryan C. Gordon <icculus@icculus.org>
parents: 91
diff changeset
    93
If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
766
3970811e14f4 Changed my email address.
Ryan C. Gordon <icculus@icculus.org>
parents: 590
diff changeset
    94
the Mac, I'd like to hear from you; send an email to icculus@icculus.org.
187
1241722f5f28 Added MacOS info, etc.
Ryan C. Gordon <icculus@icculus.org>
parents: 91
diff changeset
    95
1241722f5f28 Added MacOS info, etc.
Ryan C. Gordon <icculus@icculus.org>
parents: 91
diff changeset
    96
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    97
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    98
MACOS X:
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
    99
You (currently) need to use the freeware Apple Developer Tools, which are
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   100
based on the GNU toolchain. Fire up a terminal and run "cc"...if this reports
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   101
"no input files" then you've got the tools installed.
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   102
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   103
Follow the Unix directions, above (configure, make, make install).
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   104
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   105
If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
766
3970811e14f4 Changed my email address.
Ryan C. Gordon <icculus@icculus.org>
parents: 590
diff changeset
   106
MacOS X, I'd like to hear from you; send an email to icculus@icculus.org.
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   107
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   108
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   109
OS/2:
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   110
You need EMX installed. I tried this on a stock Warp 4 install, no fixpaks.
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   111
I used the latest EMX and patches (which are several years old now). You need
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   112
to install link386.exe (Selective Install, "link object modules" option). Once
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   113
EMX is installed correctly, unpack the source to PhysicsFS and run the script
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   114
file "makeos2.cmd". I know this isn't ideal, but I wanted to have this build
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   115
without users having to hunt down a "make" program (While several exist, EMX
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   116
doesn't come with one). If someone wants to hack some REXX to make this a bit
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   117
more piccky about recompiling, I'll accept the patch.
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   118
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   119
If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
766
3970811e14f4 Changed my email address.
Ryan C. Gordon <icculus@icculus.org>
parents: 590
diff changeset
   120
OS/2, I'd like to hear from you; send an email to icculus@icculus.org.
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   121
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   122
187
1241722f5f28 Added MacOS info, etc.
Ryan C. Gordon <icculus@icculus.org>
parents: 91
diff changeset
   123
OTHER PLATFORMS:
283
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   124
Many Unix-like platforms might "just work" with the GNU autoconf tools. Some
c966316c8998 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 230
diff changeset
   125
of these platforms are known to have worked at one time, but have not been
488
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   126
heavily tested, if tested at all. PhysicsFS is, as far as we know, 64-bit and
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   127
byteorder clean, and is known to compile on several compilers across many
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   128
platforms. To implement a new platform or archiver, please read the
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   129
heavily-commented physfs_internal.h and look in the platform/ and archiver/
731e85d74cfe Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 283
diff changeset
   130
directories for examples.
187
1241722f5f28 Added MacOS info, etc.
Ryan C. Gordon <icculus@icculus.org>
parents: 91
diff changeset
   131
766
3970811e14f4 Changed my email address.
Ryan C. Gordon <icculus@icculus.org>
parents: 590
diff changeset
   132
--ryan. (icculus@icculus.org)
54
2756e7c8125f Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   133