(linenum→info "unix/slp.c:2238")

dbus/1.0.2/INSTALL

    1:            DBus Installation
    2:            =================
    3: 
    4: Quick start
    5: ===========
    6: 
    7: DBus uses GNU AutoTools for its build system, thus the basic install
    8: procedure can be summarized as:
    9: 
   10:     ./configure --prefix=/usr
   11:     make
   12:     su make install
   13: 
   14: The configure script will automatically determine whether to try and
   15: build bindings for GLib, Qt, Qt3, Python and Mono based on what tools
   16: are installed on the host system. The default build behaviour can be 
   17: overridden using the --enable-XXX/--disable-XXX arguments to configure.
   18: A typical scenario in which it is desirable to override automatic
   19: detection, is during packaging of binary builds, where a predictable 
   20: dependancy chain is required. For more details on GNU AutoTools 
   21: installation, consult the generic instructions later in this document
   22: 
   23: External software dependancies
   24: ==============================
   25: 
   26: The only fundamental requirement to build DBus is an XML parser,
   27: however, there are a number of other software packages which (if
   28: present) will enhance functionality.
   29: 
   30: Core library
   31: ------------
   32: 
   33:  Requisite:
   34: 
   35:   - Gettext
   36:   - expat or libxml-2
   37: 
   38:  NB, expat is the recommended XML parser because it has more robust
   39:  handling of OOM conditions.
   40: 
   41:  Optional:
   42: 
   43:   - libselinux  (for SELinux integration)
   44:   - dnotify     (for automatic service file reload)
   45:   - doxygen     (for API documentation)
   46:   - xmlto       (for Spec & other XML documentation)
   47: 
   48: GLib Bindings
   49: -------------
   50: 
   51:  Requisite:
   52: 
   53:   - GLib >= 2.4
   54: 
   55:  Optional:
   56: 
   57:   - GTK+ >= 2.4  (for dbus-viewer tool)
   58: 
   59: Qt Bindings
   60: -----------
   61: 
   62:  Requisite:
   63: 
   64:   - QtCore and QtXml >= 4.1.3
   65: 
   66:  Optional:
   67: 
   68:   - QtTest              (for Qt Unit tests)
   69:   - QtGui >= 4.1.3      (for the chat example program)
   70: 
   71: Note: Qt 4.1.3 is not available in released form. You need to download
   72: the 4.1.3 snapshots from Trolltech. However, the Qt binding compiles
   73: and works in Qt 4.1.2, but not the dbusidl2cpp tool.
   74: 
   75: Note that DBus detects QtCore and QtXml during the configure process 
   76: using pkg-config. You may need to set the PKG_CONFIG_PATH to include
   77: the Qt4 library directory. If you don't have your Qt4 installed, then
   78: you may also need to use the --with-qt-moc directive to point to the
   79: Qt4 moc executable (e.g. $QTDIR/bin/moc).
   80: 
   81: 
   82: Qt 3 Bindings
   83: -------------
   84: 
   85:  Requisite:
   86: 
   87:   - Qt >= 3.1
   88: 
   89: Mono Bindings
   90: -------------
   91: 
   92:  Requisite:
   93: 
   94:   - Mono >= 0.95
   95: 
   96:  Optional:
   97: 
   98:   - MonoDoc >= 0.16   (for API documentation)
   99: 
  100: Python Bindings
  101: ---------------
  102: 
  103:  Requisite:
  104: 
  105:   - Python >= 2.4
  106:   - Pyrex
  107: 
  108: ====================================================================
  109: 
  110: The rest of this document contains the generic GNU AutoTools install
  111: insructions....
  112: 
  113: Basic Installation
  114: ==================
  115: 
  116:    These are generic installation instructions.
  117: 
  118:    The `configure' shell script attempts to guess correct values for
  119: various system-dependent variables used during compilation.  It uses
  120: those values to create a `Makefile' in each directory of the package.
  121: It may also create one or more `.h' files containing system-dependent
  122: definitions.  Finally, it creates a shell script `config.status' that
  123: you can run in the future to recreate the current configuration, a file
  124: `config.cache' that saves the results of its tests to speed up
  125: reconfiguring, and a file `config.log' containing compiler output
  126: (useful mainly for debugging `configure').
  127: 
  128:    If you need to do unusual things to compile the package, please try
  129: to figure out how `configure' could check whether to do them, and mail
  130: diffs or instructions to the address given in the `README' so they can
  131: be considered for the next release.  If at some point `config.cache'
  132: contains results you don't want to keep, you may remove or edit it.
  133: 
  134:    The file `configure.in' is used to create `configure' by a program
  135: called `autoconf'.  You only need `configure.in' if you want to change
  136: it or regenerate `configure' using a newer version of `autoconf'.
  137: 
  138: The simplest way to compile this package is:
  139: 
  140:   1. `cd' to the directory containing the package's source code and type
  141:      `./configure' to configure the package for your system.  If you're
  142:      using `csh' on an old version of System V, you might need to type
  143:      `sh ./configure' instead to prevent `csh' from trying to execute
  144:      `configure' itself.
  145: 
  146:      Running `configure' takes awhile.  While running, it prints some
  147:      messages telling which features it is checking for.
  148: 
  149:   2. Type `make' to compile the package.
  150: 
  151:   3. Optionally, type `make check' to run any self-tests that come with
  152:      the package.
  153: 
  154:   4. Type `make install' to install the programs and any data files and
  155:      documentation.
  156: 
  157:   5. You can remove the program binaries and object files from the
  158:      source code directory by typing `make clean'.  To also remove the
  159:      files that `configure' created (so you can compile the package for
  160:      a different kind of computer), type `make distclean'.  There is
  161:      also a `make maintainer-clean' target, but that is intended mainly
  162:      for the package's developers.  If you use it, you may have to get
  163:      all sorts of other programs in order to regenerate files that came
  164:      with the distribution.
  165: 
  166: Compilers and Options
  167: =====================
  168: 
  169:    Some systems require unusual options for compilation or linking that
  170: the `configure' script does not know about.  You can give `configure'
  171: initial values for variables by setting them in the environment.  Using
  172: a Bourne-compatible shell, you can do that on the command line like
  173: this:
  174:      CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
  175: 
  176: Or on systems that have the `env' program, you can do it like this:
  177:      env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
  178: 
  179: Compiling For Multiple Architectures
  180: ====================================
  181: 
  182:    You can compile the package for more than one kind of computer at the
  183: same time, by placing the object files for each architecture in their
  184: own directory.  To do this, you must use a version of `make' that
  185: supports the `VPATH' variable, such as GNU `make'.  `cd' to the
  186: directory where you want the object files and executables to go and run
  187: the `configure' script.  `configure' automatically checks for the
  188: source code in the directory that `configure' is in and in `..'.
  189: 
  190:    If you have to use a `make' that does not supports the `VPATH'
  191: variable, you have to compile the package for one architecture at a time
  192: in the source code directory.  After you have installed the package for
  193: one architecture, use `make distclean' before reconfiguring for another
  194: architecture.
  195: 
  196: Installation Names
  197: ==================
  198: 
  199:    By default, `make install' will install the package's files in
  200: `/usr/local/bin', `/usr/local/man', etc.  You can specify an
  201: installation prefix other than `/usr/local' by giving `configure' the
  202: option `--prefix=PATH'.
  203: 
  204:    You can specify separate installation prefixes for
  205: architecture-specific files and architecture-independent files.  If you
  206: give `configure' the option `--exec-prefix=PATH', the package will use
  207: PATH as the prefix for installing programs and libraries.
  208: Documentation and other data files will still use the regular prefix.
  209: 
  210:    In addition, if you use an unusual directory layout you can give
  211: options like `--bindir=PATH' to specify different values for particular
  212: kinds of files.  Run `configure --help' for a list of the directories
  213: you can set and what kinds of files go in them.
  214: 
  215:    If the package supports it, you can cause programs to be installed
  216: with an extra prefix or suffix on their names by giving `configure' the
  217: option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
  218: 
  219: Optional Features
  220: =================
  221: 
  222:    Some packages pay attention to `--enable-FEATURE' options to
  223: `configure', where FEATURE indicates an optional part of the package.
  224: They may also pay attention to `--with-PACKAGE' options, where PACKAGE
  225: is something like `gnu-as' or `x' (for the X Window System).  The
  226: `README' should mention any `--enable-' and `--with-' options that the
  227: package recognizes.
  228: 
  229:    For packages that use the X Window System, `configure' can usually
  230: find the X include and library files automatically, but if it doesn't,
  231: you can use the `configure' options `--x-includes=DIR' and
  232: `--x-libraries=DIR' to specify their locations.
  233: 
  234: Specifying the System Type
  235: ==========================
  236: 
  237:    There may be some features `configure' can not figure out
  238: automatically, but needs to determine by the type of host the package
  239: will run on.  Usually `configure' can figure that out, but if it prints
  240: a message saying it can not guess the host type, give it the
  241: `--host=TYPE' option.  TYPE can either be a short name for the system
  242: type, such as `sun4', or a canonical name with three fields:
  243:      CPU-COMPANY-SYSTEM
  244: 
  245: See the file `config.sub' for the possible values of each field.  If
  246: `config.sub' isn't included in this package, then this package doesn't
  247: need to know the host type.
  248: 
  249:    If you are building compiler tools for cross-compiling, you can also
  250: use the `--target=TYPE' option to select the type of system they will
  251: produce code for and the `--build=TYPE' option to select the type of
  252: system on which you are compiling the package.
  253: 
  254: Sharing Defaults
  255: ================
  256: 
  257:    If you want to set default values for `configure' scripts to share,
  258: you can create a site shell script called `config.site' that gives
  259: default values for variables like `CC', `cache_file', and `prefix'.
  260: `configure' looks for `PREFIX/share/config.site' if it exists, then
  261: `PREFIX/etc/config.site' if it exists.  Or, you can set the
  262: `CONFIG_SITE' environment variable to the location of the site script.
  263: A warning: not all `configure' scripts look for a site script.
  264: 
  265: Operation Controls
  266: ==================
  267: 
  268:    `configure' recognizes the following options to control how it
  269: operates.
  270: 
  271: `--cache-file=FILE'
  272:      Use and save the results of the tests in FILE instead of
  273:      `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
  274:      debugging `configure'.
  275: 
  276: `--help'
  277:      Print a summary of the options to `configure', and exit.
  278: 
  279: `--quiet'
  280: `--silent'
  281: `-q'
  282:      Do not print messages saying which checks are being made.  To
  283:      suppress all normal output, redirect it to `/dev/null' (any error
  284:      messages will still be shown).
  285: 
  286: `--srcdir=DIR'
  287:      Look for the package's source code in directory DIR.  Usually
  288:      `configure' can determine that directory automatically.
  289: 
  290: `--version'
  291:      Print the version of Autoconf used to generate the `configure'
  292:      script, and exit.
  293: 
  294: `configure' also accepts some other, not widely useful, options.
Syntax (Markdown)