System Requirements
- Any system with an Objective-C development system, which would include the
Objective-C headers and libraries. If the Cocoa Framework on Macintosh OS X or
GNUstep on any platform is found, the ObjectiveLib
build will integrate with it.
- The GNU version of
make
is required.
- The
iconv
library is required.
- To build with the Cocoa Foundation framework on Macintosh OS X,
the command-line tool
xcodebuild
is required.
ObjectiveLib
was developed using the version "DevToolsCore-757.0; DevToolsSupport-733.0" of
xcodebuild
, which ships with Xcode version 2.4. If you discover that
other versions of xcodebuild
work, please contact the project.
- To build the documentation you must have doxygen and the
dot
tool from
the graphviz
project.
Building ObjectiveLib
- Unpack the source archive to a directory of your choosing.
- Enter that directory and run the configure script:
./configure
.
Note that
there are various options that may help when you run the configure
script. You can see all available options by running ./configure
--help
. Here is a list of options related to
ObjectiveLib:
--with-xcodebuild=PATH
- For a build on Cocoa on Macintosh OS X only, the specific path to the
xcodebuild
tool.
--with-doxygen=PATH
- The specific path to the doxygen executable. Doxygen is used only if you
build the documentation.
--with-dot=PATH
- The specific path to the dot tool, which is part of the
graphviz graph visualization package. The dot tool is only used if you
build the documentation.
--with-fwk-dir=PATH
- For a Cocoa build only, the directory where you would
like the framework to be installed. By default this is
${HOME}/Library/Frameworks
. For other configurations, the installation
directory is set by using the --prefix=[PATH]
option to configure
.
--with-doc-dir=PATH
- The directory where you would like the documentation to be
installed. By default this is
${HOME}/Documents
.
--with-gnustep
- This option will force the use of the GNUstep build even if a
Macintosh operating system is detected. Normally, when Macintosh OS X
is detected Cocoa will be used for the build.
--with-zlib
- Check for the presence of the zlib compression library. The
default is yes. A path to the library may be given as an argument to this
option.
--with-bzlib
- Check for the presence of the bzlib compression library. The
default is yes. A path to the library may be given as an argument to this
option.
--without-openstep
- The normal configuration will always assume that OpenStep is being used
if you don't supply this option. By using
--without-openstep
OpenStep
will be ignored.
--with-threads=VALUE
- You can force the script to use either
posix
or win32
threads by specifying one of those values. Those are the only valid values.
None of these options is required, as the configure script will set
reasonable defaults for all options.
- Run
make
to build ObjectiveLib.
Alternatively, you may run make run-tests
to build the framework and the unit
tests and to run the tests.
- If you have doxygen and dot installed and the configure script was able
to find them, you may build the documentation with
make doc
.
If you don't have doxygen and dot, then make doc
does nothing.
- Finally, when you are ready to install ObjectiveLib
run
make install
. This copies the library and the
documentation, if available, to the directories chosen when the
configure script was run.
Platform Notes
ObjectiveLib has been built and
tested on the following platforms both with and without GNUstep (or Cocoa in the case of
Macintosh OS X):
Power PC
Macintosh OS X 10.4.7
Ubuntu Linux 3.10
Intel x86
Windows: MinGW 3.1.0
Debian Linux 3.1r5
FreeBSD 5.3
Sun Solaris 10
Ubuntu Linux 3.10
Windows: Cygwin 1.5.24 (without GNUstep)
Sparc
Sun Solaris 8
- Note that when building with versions of GNUstep that predate the
introduction of keyed archives you will receive many warnings relating
to keyed archives. Don't worry. ObjectiveLib
will build and operate just fine in this environment.
- When building with versions 4.1.1 and 4.1.2 of gcc you may see warnings relating
to
_OBJC_INSTANCE_<a number>
. This is a bug in the compiler which
does not affect the ability of ObjectiveLib
to function. These warnings will occur in any source file that contains references
to constant strings using the @"a string"
style of string.
$Id: Build.html,v 1.16 2007/04/22 18:08:42 will_mason Exp $