File: ConfiguringAndCompiling.dox

package info (click to toggle)
gnustep-corebase 0.1.1%2B20230710-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,608 kB
  • sloc: ansic: 25,359; objc: 4,347; cpp: 75; xml: 49; makefile: 24; sh: 7
file content (85 lines) | stat: -rw-r--r-- 4,381 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**
\page ConfiguringAndCompiling Configuring and Compiling
How to compile the GNUstep CoreBase Library.

\tableofcontents

\section ConfiguringAndCompilingIntroduction Introduction
  The GNUstep CoreBase Library uses the GNU autoconf for package
  configuration, and the GNUStep Make tool for generating object files and
  building the shared library.  The recommended sequence for compiling and
  install the library is by running the following commands:
    \code{.sh}
      $ ./configure
      $ make
      # make install
    \endcode
  Note that the \shcmd{make install} command must be executed as
  system administrator (\em root on UNIX-like operating systems).

\section ConfiguringAndCompilingDependencies Dependencies
  Before configuring and compiling the GNUstep CoreBase Library you will
  need to have various tools, libraries and development headers installed
  on your system.

  The following tools are required by GNUstep CoreBase before 
  - <b>C Compiler</b> An ISO C99 compilant C compiler is required.  The
    recommended compilers are the <a href="http://gcc.gnu.org">GNU
    Compiler Collection</a> or <a href="http://clang.llvm.org">Clang
    with LLVM</a>.  For
    <a href="http://en.wikipedia.org/wiki/Blocks_%28C_language_extension%29">
    Blocks</a> support, Clang is required.
  - <b>Objective-C Compiler</b> Additionally, GNUstep CoreBase also makes
    use of some Objective-C features.  Both C compilers recommended above
    are able to compile Objective-C code.
  - <b>GNU make</b> The GNUstep CoreBase makefiles use features specific
    to <a href="http://www.gnu.org/software/make">GNU make</a>, and will
    will not be correctly built if other make variants.  If your default
    <b>make</b> tool is not GNU make, please install it before attempting
    to compile.  Be mindful that in some systems, the GNU make tool is
    invoked as \shcmd{gmake}.
  - <b>GNUstep Make</b> In addition to the GNU make tool, the
    <a href="http://wwwmain.gnustep.org/resources/downloads.php">GNUstep
    Make </a> package is required.
  - <b>Zoneinfo Database</b> To support Time Zones, a complete zoneinfo
    database must be installed on your system.
  - <b>Doxygen</b> <em>(Recommended)</em> Documentation is extracted from
    the sources by the <b>doxygen</b> tool.  This is a recommended tool,
    but not required.  If the <b>doxygen</b> tool is not found during the
    configuration process, API documentation will not be generated and
    installed.
      
  In addition to the tools listed above, GNUstep CoreBase also depends on
  other libraries.  To successfully configure and compile, you will need
  to install the libraries listed below along with their development headers.
  - <b>C standard library</b> A POSIX compilant C standard library is
    required and provides basic functionalities, such as memory allocation
    and socket support.
  - <b>Objective-C Runtime Library</b> To support "toll-free bridging",
    a modern Objective-C Runtime in required.  See \ref
    ConfiguringAndCompilingOptions for information on how to compile
    without this package.
  - <b>GNUstep Base Library</b> Required for "toll-free bridging" support.
  - <b>International Components for Unicode</b> The ICU package provides
    robust Unicode and Internationalization support.
  - <b>Grand Central Dispatch</b> <em>(Recommended)</em> The \ref CFRunLoopRef
    "CFRunLoop type" uses GCD for compatibility.  Compiling without
    this library leads to a loss of functionality.  See \ref
    ConfiguringAndCompilingOptions for information on how to compile
    without this package.

\section ConfiguringAndCompilingOptions Configuration Options

  \par \--without-gcd
    Compiles the library without Grand Central Dispatch Support.  Leads to
    loss of functionality.
  \par \--without-objc (not recommended)
    Compiles the library without Objective-C runtime support.  This
    leads to the loss the of the toll-free bridge capability between objects
    created by this library and those created by the GNUstep Base library.
  \par \--with-zoneinfo-dir=DIR
    Specify the directory where the zoneinfo database can be found.  The
    configure script looks for the database files in some standard location
    and this option only needs to be used if the zoneinfo database is in
    a non-standard directory.  DIR is an absolute path.
*/