/ docs / INSTALL
INSTALL
  1  Basic description
  2  -----------------
  3  From the top level directory, switch to the source directory:
  4  
  5  cd src
  6  
  7  In the source directory, build LinuxCNC:
  8  
  9  ./autogen.sh  (this builds the configure script)
 10  ./configure [--with-realtime=uspace|/usr/rtai...]
 11  make clean
 12  make
 13  sudo make setuid
 14  
 15  to run the software go back to the top level directory, and issue:
 16  
 17  source scripts/rip-environment
 18  linuxcnc
 19  
 20  
 21  Detailed description
 22  ====================
 23  
 24  Run-time script
 25  ===============
 26  
 27  The runtime script is called linuxcnc, thus allowing you on an installed
 28  to just type 'linuxcnc' and get it running.  On a run-in-place system
 29  (e.g. the one you just got out of git), the runscript is scripts/linuxcnc.
 30  When you just checked out a fresh copy of LinuxCNC, you'll see there is no
 31  'scripts/linuxcnc', just a 'scripts/linuxcnc.in'.  By running configure
 32  that one will get changed to 'scripts/linuxcnc'. configure will also
 33  replace some default values for your system (folders, paths, etc).
 34  
 35  
 36  Configure script
 37  ================
 38  
 39     The `configure' shell script attempts to guess correct values for
 40  various system-dependent variables used during compilation.  It uses
 41  those values to create a `Makefile.inc' file.
 42  Finally, it creates a shell script `config.status' that you can run 
 43  in the future to recreate the current configuration, a file
 44  `config.cache' that saves the results of its tests to speed up
 45  reconfiguring, and a file `config.log' containing compiler output
 46  (useful mainly for debugging `configure').
 47  
 48     The file `configure.ac' is used to create `configure' by a program
 49  called `autoconf'.  You only need `configure.ac' if you want to change
 50  it or regenerate `configure' using a newer version of `autoconf'.
 51  
 52  The simplest way to compile this package is:
 53  
 54    1. `cd' to the directory containing the package's source code and type
 55       `./configure' to configure the package for your system.  If you're
 56       using `csh' on an old version of System V, you might need to type
 57       `sh ./configure' instead to prevent `csh' from trying to execute
 58       `configure' itself.
 59  
 60       Running `configure' takes awhile.  While running, it prints some
 61       messages telling which features it is checking for.
 62  
 63    2. Type `make' to compile the package.
 64  
 65    3. Type `scripts/linuxcnc` to test the software.
 66    
 67  
 68  Optional Features
 69  =================
 70     LinuxCNC can operate hardware only if a real time system has been
 71  installed. Either RT-PREEMPT or RTAI. If you don't have any installed,
 72  you cannot run LinuxCNC to control any machines. Please install one
 73  of the RT patches (refer to the documentation of the project on how to
 74  achieve that).
 75  
 76      However, it is possible to test LinuxCNC without a realtime system. This is 
 77  possible using a simulator mode, which doesn't allow hardware control. This is
 78  an alternate mode of `uspace` realtime.
 79  
 80      To specify RT-PREEMPT or non-realtime, use --with-realtime=uspace.
 81  Otherwise, use --with-realtime=[location where rtai is installed].
 82  
 83  If you don't want to generate the documentation from source:
 84    --disable-build-documentation          Do not build documentation automatically
 85  
 86  configure also accepts other arguments. Use --help to view the list.
 87  
 88  
 89  Operation Controls
 90  ==================
 91  
 92     `configure' recognizes the following options to control how it
 93  operates.
 94  
 95  `--cache-file=FILE'
 96       Use and save the results of the tests in FILE instead of
 97       `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
 98       debugging `configure'.
 99  
100  `--help'
101       Print a summary of the options to `configure', and exit.
102  
103  `--quiet'
104  `--silent'
105  `-q'
106       Do not print messages saying which checks are being made.  To
107       suppress all normal output, redirect it to `/dev/null' (any error
108       messages will still be shown).
109  
110  `--srcdir=DIR'
111       Look for the package's source code in directory DIR.  Usually
112       `configure' can determine that directory automatically.
113  
114  `--version'
115       Print the version of Autoconf used to generate the `configure'
116       script, and exit.