1071d4279SBram MoolenaarINSTALL - Installation of Vim on different machines. 2071d4279SBram Moolenaar 3071d4279SBram MoolenaarThis file contains instructions for compiling Vim. If you already have an 4071d4279SBram Moolenaarexecutable version of Vim, you don't need this. 5071d4279SBram Moolenaar 6071d4279SBram MoolenaarContents: 7071d4279SBram Moolenaar1. Generic 8071d4279SBram Moolenaar2. Unix 9071d4279SBram Moolenaar3. RISC OS 10*4e32e4bcSBram Moolenaar4. OS/2 (with EMX 0.9b) 11*4e32e4bcSBram Moolenaar5. Atari MiNT 12071d4279SBram Moolenaar 13*4e32e4bcSBram MoolenaarSee INSTALLami.txt for Amiga 14*4e32e4bcSBram MoolenaarSee INSTALLmac.txt for Macintosh 15*4e32e4bcSBram MoolenaarSee INSTALLpc.txt for PC (MS-DOS, Windows 95/98/NT/XP) 16*4e32e4bcSBram MoolenaarSee INSTALLvms.txt for VMS 17*4e32e4bcSBram MoolenaarSee ../runtime/doc/os_390.txt for OS/390 Unix 18*4e32e4bcSBram MoolenaarSee ../runtime/doc/os_beos.txt for BeBox 19071d4279SBram Moolenaar 20071d4279SBram Moolenaar 21071d4279SBram Moolenaar1. Generic 22071d4279SBram Moolenaar========== 23071d4279SBram Moolenaar 24071d4279SBram MoolenaarIf you compile Vim without specifying anything, you will get the default 25071d4279SBram Moolenaarbehaviour as is documented, which should be fine for most people. 26071d4279SBram Moolenaar 27071d4279SBram MoolenaarFor features that you can't enable/disable in another way, you can edit the 28071d4279SBram Moolenaarfile "feature.h" to match your preferences. 29071d4279SBram Moolenaar 30071d4279SBram Moolenaar 31071d4279SBram Moolenaar2. Unix 32071d4279SBram Moolenaar======= 33071d4279SBram Moolenaar 34071d4279SBram MoolenaarSummary: 35071d4279SBram Moolenaar1. make run configure, compile and link 36071d4279SBram Moolenaar2. make install installation in /usr/local 37071d4279SBram Moolenaar 38071d4279SBram MoolenaarThis will include the GUI and X11 libraries, if you have them. If you want a 39071d4279SBram Moolenaarversion of Vim that is small and starts up quickly, see the Makefile for how 40*4e32e4bcSBram Moolenaarto disable the GUI and X11. If you don't have GUI libraries and/or X11, these 41071d4279SBram Moolenaarfeatures will be disabled automatically. 42071d4279SBram Moolenaar 43071d4279SBram MoolenaarSee the start of Makefile for more detailed instructions about how to compile 44071d4279SBram MoolenaarVim. 45071d4279SBram Moolenaar 46071d4279SBram MoolenaarIf you need extra compiler and/or linker arguments, set $CFLAGS and/or $LIBS 47071d4279SBram Moolenaarbefore starting configure. Example: 48071d4279SBram Moolenaar 49071d4279SBram Moolenaar env CFLAGS=-I/usr/local/include LIBS=-lm make 50071d4279SBram Moolenaar 51071d4279SBram MoolenaarThis is only needed for things that configure doesn't offer a specific argument 52071d4279SBram Moolenaarfor or figures out by itself. First try running configure without extra 53071d4279SBram Moolenaararguments. 54071d4279SBram Moolenaar 55071d4279SBram MoolenaarGNU Autoconf and a few other tools have been used to make Vim work on many 56071d4279SBram Moolenaardifferent Unix systems. The advantage of this is that Vim should compile 57071d4279SBram Moolenaaron most sytems without any adjustments. The disadvantage is that when 58071d4279SBram Moolenaaradjustments are required, it takes some time to understand what is happening. 59071d4279SBram Moolenaar 60071d4279SBram MoolenaarIf configure finds all library files and then complains when linking that some 61071d4279SBram Moolenaarof them can't be found, your linker doesn't return an error code for missing 62071d4279SBram Moolenaarlibraries. Vim should be linked fine anyway, mostly you can just ignore these 63071d4279SBram Moolenaarerrors. 64071d4279SBram Moolenaar 65071d4279SBram MoolenaarIf you run configure by hand (not using the Makefile), remember that any 66071d4279SBram Moolenaarchanges in the Makefile have no influence on configure. This may be what you 67071d4279SBram Moolenaarwant, but maybe not! 68071d4279SBram Moolenaar 69071d4279SBram MoolenaarThe advantage of running configure separately, is that you can write a script 70071d4279SBram Moolenaarto build Vim, without changing the Makefile or feature.h. Example (using sh): 71071d4279SBram Moolenaar 72071d4279SBram Moolenaar CFLAGS=-DCOMPILER_FLAG ./configure --enable-gui=motif 73071d4279SBram Moolenaar 74071d4279SBram MoolenaarOne thing to watch out for: If the configure script itself changes, running 75071d4279SBram Moolenaar"make" will execute it again, but without your arguments. Do "make clean" and 76071d4279SBram Moolenaarrun configure again. 77071d4279SBram Moolenaar 78071d4279SBram MoolenaarIf you are compiling Vim for several machines, for each machine: 79071d4279SBram Moolenaar a. make shadow 80071d4279SBram Moolenaar b. mv shadow machine_name 81071d4279SBram Moolenaar c. cd machine_name 82071d4279SBram Moolenaar d. make; make install 83071d4279SBram Moolenaar 84071d4279SBram Moolenaar[Don't use a path for machine_name, just a directory name, otherwise the links 85071d4279SBram Moolenaarthat "make shadow" creates won't work.] 86071d4279SBram Moolenaar 87071d4279SBram Moolenaar 88071d4279SBram MoolenaarUnix: COMPILING WITH/WITHOUT GUI 89071d4279SBram Moolenaar 90*4e32e4bcSBram MoolenaarNOTE: This is incomplete, look in Makefile for more info. 91*4e32e4bcSBram Moolenaar 92071d4279SBram MoolenaarThese configure arguments can be used to select which GUI to use: 93*4e32e4bcSBram Moolenaar--enable-gui=gtk or: gtk2, motif, athena or auto 94071d4279SBram Moolenaar--disable-gtk-check 95071d4279SBram Moolenaar--disable-motif-check 96071d4279SBram Moolenaar--disable-athena-check 97071d4279SBram Moolenaar 98071d4279SBram Moolenaar--enable-gui defaults to "auto", so it will automatically look for a GUI (in 99071d4279SBram Moolenaarthe order of GTK, Motif, then Athena). If one is found, then is uses it and 100071d4279SBram Moolenaardoes not proceed to check any of the remaining ones. Otherwise, it moves on 101071d4279SBram Moolenaarto the next one. 102071d4279SBram Moolenaar 103*4e32e4bcSBram Moolenaar--enable-{gtk,gtk2,kde,motif,athena}-check all default to "yes", such that if 104071d4279SBram Moolenaar--enable-gui is "auto" (which it is by default), GTK, Motif, and Athena will 105071d4279SBram Moolenaarbe checked for. If you want to *exclude* a certain check, then you use 106*4e32e4bcSBram Moolenaar--disable-{gtk,gtk2,kde,motif,athena}-check. 107071d4279SBram Moolenaar 108071d4279SBram MoolenaarFor example, if --enable-gui is set to "auto", but you don't want it look for 109071d4279SBram MoolenaarMotif, you then also specify --disable-motif-check. This results in only 110071d4279SBram Moolenaarchecking for GTK and Athena. 111071d4279SBram Moolenaar 112071d4279SBram MoolenaarLastly, if you know which one you want to use, then you can just do 113*4e32e4bcSBram Moolenaar--enable-gui={gtk,gtk2,kde,motif,athena}. So if you wanted to only use Motif, 114*4e32e4bcSBram Moolenaarthen you'd specify --enable-gui=motif. Once you specify what you want, the 115*4e32e4bcSBram Moolenaar--enable-{gtk,gtk2,kde,motif,athena}-check options are ignored. 116*4e32e4bcSBram Moolenaar 117*4e32e4bcSBram MoolenaarOn Linux you usually need GUI "-devel" packages. You may already have GTK 118*4e32e4bcSBram Moolenaarlibraries installed, but that doesn't mean you can compile Vim with GTK, you 119*4e32e4bcSBram Moolenaaralso need the header files. 120071d4279SBram Moolenaar 121071d4279SBram MoolenaarFor compiling with the GTK+ GUI, you need a recent version of glib and gtk+. 122*4e32e4bcSBram MoolenaarConfigure checks for at least version 1.1.16. An older version is not selected 123*4e32e4bcSBram Moolenaarautomatically. If you want to use it anyway, run configure with 124*4e32e4bcSBram Moolenaar"--disable-gtktest". 125071d4279SBram MoolenaarGTK requires an ANSI C compiler. If you fail to compile Vim with GTK+ (it 126071d4279SBram Moolenaaris the preferred choice), try selecting another one in the Makefile. 127071d4279SBram MoolenaarIf you are sure you have GTK installed, but for some reason configure says you 128071d4279SBram Moolenaardo not, you may have left-over header files and/or library files from an older 129071d4279SBram Moolenaar(and incompatible) version of GTK. if this is the case, please check 130071d4279SBram Moolenaarauto/config.log for any error messages that may give you a hint as to what's 131071d4279SBram Moolenaarhappening. 132071d4279SBram Moolenaar 133*4e32e4bcSBram MoolenaarThere used to be a KDE version of Vim, using Qt libraries, but since it didn't 134*4e32e4bcSBram Moolenaarwork very well and there was no maintainer it was dropped. 135843ee41eSBram Moolenaar 136843ee41eSBram Moolenaar 137071d4279SBram MoolenaarUnix: COMPILING WITH MULTI-BYTE 138071d4279SBram Moolenaar 139071d4279SBram MoolenaarWhen you want to compile with the multi-byte features enabled, make sure you 140071d4279SBram Moolenaarcompile on a machine where the locale settings actually work. otherwise the 141071d4279SBram Moolenaarconfigure tests may fail. You need to compile with "big" features: 142071d4279SBram Moolenaar 143071d4279SBram Moolenaar ./configure --with-features=big 144071d4279SBram Moolenaar 145071d4279SBram MoolenaarUnix: COMPILING ON LINUX 146071d4279SBram Moolenaar 147071d4279SBram MoolenaarOn Linux, when using -g to compile (which is default for gcc), the executable 148071d4279SBram Moolenaarwill probably be statically linked. If you don't want this, remove the -g 149071d4279SBram Moolenaaroption from CFLAGS. 150071d4279SBram Moolenaar 151071d4279SBram MoolenaarUnix: PUTTING vimrc IN /etc 152071d4279SBram Moolenaar 153071d4279SBram MoolenaarSome Linux distributions prefer to put the global vimrc file in /etc, and the 154071d4279SBram MoolenaarVim runtime files in /usr. This can be done with: 155071d4279SBram Moolenaar ./configure --prefix=/usr 156071d4279SBram Moolenaar make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim MAKE="make -e" 157071d4279SBram Moolenaar 158071d4279SBram MoolenaarUnix: COMPILING ON NeXT 159071d4279SBram Moolenaar 160071d4279SBram MoolenaarAdd the "-posix" argument to the compiler by using one of these commands: 161071d4279SBram Moolenaar setenv CC 'cc -posix' (csh) 162071d4279SBram Moolenaar export CC='cc -posix' (sh) 163071d4279SBram MoolenaarAnd run configure with "--disable-motif-check". 164071d4279SBram Moolenaar 165071d4279SBram Moolenaar 166071d4279SBram Moolenaar3. RISC OS 167071d4279SBram Moolenaar============= 168071d4279SBram Moolenaar 169071d4279SBram MoolenaarMuch file renaming is needed before you can compile anything. 170071d4279SBram MoolenaarYou'll need UnixLib to link against, GCC and GNU make. 171071d4279SBram Moolenaar 172071d4279SBram MoolenaarI suggest you get the RISC OS binary distribution, which includes the 173071d4279SBram MoolenaarTemplates file and the loader. 174071d4279SBram Moolenaar 175071d4279SBram MoolenaarTry here: http://www.ecs.soton.ac.uk/~tal197 176071d4279SBram Moolenaar 177071d4279SBram MoolenaarDo 178071d4279SBram Moolenaar :help riscos 179071d4279SBram Moolenaar 180*4e32e4bcSBram Moolenaarwithin the editor for more information, or read the 181*4e32e4bcSBram Moolenaar../runtime/doc/os_risc.txt help file. 182071d4279SBram Moolenaar 183071d4279SBram Moolenaar 184*4e32e4bcSBram Moolenaar4. OS/2 185071d4279SBram Moolenaar======= 186071d4279SBram Moolenaar 187071d4279SBram MoolenaarSummary: 188071d4279SBram Moolenaarren Makefile Makefile.unix 189071d4279SBram Moolenaarren makefile.os2 Makefile 190071d4279SBram Moolenaarmake 191071d4279SBram Moolenaar 192071d4279SBram MoolenaarThis port of Vim to OS/2 is based on the emx environment together 193071d4279SBram Moolenaarwith GNU C. The main design goal of emx is to simplify porting Unix 194071d4279SBram Moolenaarsoftware to OS/2 and DOS. Because of this, almost all the Unix defines 195071d4279SBram Moolenaaretc. already existing in the Vim source code could be reused. Only where 196071d4279SBram MoolenaarOS/2 specifics came into play were additional changes necessary. Those 197071d4279SBram Moolenaarplaces can be found by searching for "OS2" and "__EMX__" (I've tried to 198071d4279SBram Moolenaarkeep emx-specific things separate from generic OS/2 stuff). 199071d4279SBram Moolenaar 200071d4279SBram MoolenaarNote: This OS/2 port works well for me and an additional OS/2 user on 201071d4279SBram Moolenaar the Vim development team (Karsten Sievert); however, since I 202071d4279SBram Moolenaar haven't had any other feedback from other people, that either 203071d4279SBram Moolenaar means no (OS/2-specific) bugs exist, or no one has yet created 204071d4279SBram Moolenaar a situation in which any bugs are apparent. 205071d4279SBram Moolenaar Report any problems or other comments to [email protected] 206071d4279SBram Moolenaar (email valid up to at least September 1996, after that try 207071d4279SBram Moolenaar [email protected], [email protected], or [email protected]). 208071d4279SBram Moolenaar Textmode/notextmode and binary mode both seem to work well. 209071d4279SBram Moolenaar 210071d4279SBram MoolenaarPrerequisites: 211071d4279SBram Moolenaar- To compile, you need the emx environment (at least rev. 0.9b), GCC, 212071d4279SBram Moolenaar some make utility (GNU make works fine). These are generally 213071d4279SBram Moolenaar available as (ask Archie about them): 214071d4279SBram Moolenaar emxrt.zip emx runtime package 215071d4279SBram Moolenaar emxdev.zip emx development system (without compiler) 216071d4279SBram Moolenaar GNU programs compiled for emx, patches and patched sources: 217071d4279SBram Moolenaar gnudev1.zip GNU development tools compiled for emx (part 1) 218071d4279SBram Moolenaar gnudev2.zip GNU development tools compiled for emx (part 2) 219071d4279SBram Moolenaar gnumake.zip GNU make 220071d4279SBram Moolenaar- Don't set a TERM environment variable; Vim defaults to os2ansi 221071d4279SBram Moolenaar which is available as a builtin termcap entry. Using other values 222071d4279SBram Moolenaar may give problems! (OS/2 ANSI emulation is quite limited.) If you 223071d4279SBram Moolenaar need to set TERM for other programs, you may consider putting 224071d4279SBram Moolenaar set term=os2ansi in the vimrc file. 225071d4279SBram Moolenaar 226*4e32e4bcSBram MoolenaarCheck ../runtime/doc/os_os2.txt for additional info on running Vim. 227071d4279SBram Moolenaar 228071d4279SBram Moolenaar 229*4e32e4bcSBram Moolenaar5. Atari MiNT 230071d4279SBram Moolenaar============= 231071d4279SBram Moolenaar 232*4e32e4bcSBram Moolenaar[NOTE: this is quite old, it might not work anymore] 233071d4279SBram Moolenaar 234*4e32e4bcSBram MoolenaarTo compile Vim for MiNT you may either copy Make_mint.mak to Makefile or use 235071d4279SBram Moolenaarthe Unix Makefile adapted for the MiNT configuration. 236071d4279SBram Moolenaar 237071d4279SBram MoolenaarNow proceed as described in the Unix section. 238071d4279SBram Moolenaar 239071d4279SBram MoolenaarPrerequisites: 240071d4279SBram Moolenaar 241071d4279SBram MoolenaarYou need a curses or termcap library that supports non-alphanumeric 242071d4279SBram Moolenaartermcap names. If you don't have any, link with termlib.o. 243071d4279SBram Moolenaar 244071d4279SBram Moolenaar----------------------------------------------------------------------------- 245071d4279SBram Moolenaar 246071d4279SBram MoolenaarThe rest of this file is based on the INSTALL file that comes with GNU 247071d4279SBram Moolenaarautoconf 2.12. Not everything applies to Vim. Read Makefile too! 248071d4279SBram Moolenaar 249071d4279SBram Moolenaar 250071d4279SBram MoolenaarBasic Installation 251071d4279SBram Moolenaar================== 252071d4279SBram Moolenaar 253071d4279SBram Moolenaar These are generic installation instructions. 254071d4279SBram Moolenaar 255071d4279SBram Moolenaar The `configure' shell script attempts to guess correct values for 256071d4279SBram Moolenaarvarious system-dependent variables used during compilation. It uses 257071d4279SBram Moolenaarthose values to create a `Makefile' in each directory of the package. 258071d4279SBram MoolenaarIt may also create one or more `.h' files containing system-dependent 259071d4279SBram Moolenaardefinitions. Finally, it creates a shell script `config.status' that 260071d4279SBram Moolenaaryou can run in the future to recreate the current configuration, a file 261071d4279SBram Moolenaar`config.cache' that saves the results of its tests to speed up 262071d4279SBram Moolenaarreconfiguring, and a file `config.log' containing compiler output 263071d4279SBram Moolenaar(useful mainly for debugging `configure'). 264071d4279SBram Moolenaar 265071d4279SBram Moolenaar If you need to do unusual things to compile the package, please try 266071d4279SBram Moolenaarto figure out how `configure' could check whether to do them, and mail 267071d4279SBram Moolenaardiffs or instructions to the address given in the `README' so they can 268071d4279SBram Moolenaarbe considered for the next release. If at some point `config.cache' 269071d4279SBram Moolenaarcontains results you don't want to keep, you may remove or edit it. 270071d4279SBram Moolenaar 271071d4279SBram Moolenaar The file `configure.in' is used to create `configure' by a program 272071d4279SBram Moolenaarcalled `autoconf'. You only need `configure.in' if you want to change 273071d4279SBram Moolenaarit or regenerate `configure' using a newer version of `autoconf'. 274071d4279SBram Moolenaar 275071d4279SBram MoolenaarThe simplest way to compile this package is: 276071d4279SBram Moolenaar 277071d4279SBram Moolenaar 1. `cd' to the directory containing the package's source code and type 278071d4279SBram Moolenaar `./configure' to configure the package for your system. If you're 279071d4279SBram Moolenaar using `csh' on an old version of System V, you might need to type 280071d4279SBram Moolenaar `sh ./configure' instead to prevent `csh' from trying to execute 281071d4279SBram Moolenaar `configure' itself. 282071d4279SBram Moolenaar 283071d4279SBram Moolenaar Running `configure' takes awhile. While running, it prints some 284071d4279SBram Moolenaar messages telling which features it is checking for. 285071d4279SBram Moolenaar 286071d4279SBram Moolenaar 2. Type `make' to compile the package. 287071d4279SBram Moolenaar 288071d4279SBram Moolenaar 3. Optionally, type `make check' to run any self-tests that come with 289071d4279SBram Moolenaar the package. 290071d4279SBram Moolenaar 291071d4279SBram Moolenaar 4. Type `make install' to install the programs and any data files and 292071d4279SBram Moolenaar documentation. 293071d4279SBram Moolenaar 294071d4279SBram Moolenaar 5. You can remove the program binaries and object files from the 295071d4279SBram Moolenaar source code directory by typing `make clean'. To also remove the 296071d4279SBram Moolenaar files that `configure' created (so you can compile the package for 297071d4279SBram Moolenaar a different kind of computer), type `make distclean'. There is 298071d4279SBram Moolenaar also a `make maintainer-clean' target, but that is intended mainly 299071d4279SBram Moolenaar for the package's developers. If you use it, you may have to get 300071d4279SBram Moolenaar all sorts of other programs in order to regenerate files that came 301071d4279SBram Moolenaar with the distribution. 302071d4279SBram Moolenaar 303071d4279SBram MoolenaarCompilers and Options 304071d4279SBram Moolenaar===================== 305071d4279SBram Moolenaar 306071d4279SBram Moolenaar Some systems require unusual options for compilation or linking that 307071d4279SBram Moolenaarthe `configure' script does not know about. You can give `configure' 308071d4279SBram Moolenaarinitial values for variables by setting them in the environment. Using 309071d4279SBram Moolenaara Bourne-compatible shell, you can do that on the command line like 310071d4279SBram Moolenaarthis: 311071d4279SBram Moolenaar CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure 312071d4279SBram Moolenaar 313071d4279SBram MoolenaarOr on systems that have the `env' program, you can do it like this: 314071d4279SBram Moolenaar env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure 315071d4279SBram Moolenaar 316071d4279SBram MoolenaarCompiling For Multiple Architectures 317071d4279SBram Moolenaar==================================== 318071d4279SBram Moolenaar 319071d4279SBram Moolenaar You can compile the package for more than one kind of computer at the 320071d4279SBram Moolenaarsame time, by placing the object files for each architecture in their 321071d4279SBram Moolenaarown directory. To do this, you must use a version of `make' that 322071d4279SBram Moolenaarsupports the `VPATH' variable, such as GNU `make'. `cd' to the 323071d4279SBram Moolenaardirectory where you want the object files and executables to go and run 324071d4279SBram Moolenaarthe `configure' script. `configure' automatically checks for the 325071d4279SBram Moolenaarsource code in the directory that `configure' is in and in `..'. 326071d4279SBram Moolenaar 327071d4279SBram Moolenaar If you have to use a `make' that does not supports the `VPATH' 328071d4279SBram Moolenaarvariable, you have to compile the package for one architecture at a time 329071d4279SBram Moolenaarin the source code directory. After you have installed the package for 330071d4279SBram Moolenaarone architecture, use `make distclean' before reconfiguring for another 331071d4279SBram Moolenaararchitecture. 332071d4279SBram Moolenaar 333071d4279SBram MoolenaarInstallation Names 334071d4279SBram Moolenaar================== 335071d4279SBram Moolenaar 336071d4279SBram Moolenaar By default, `make install' will install the package's files in 337071d4279SBram Moolenaar`/usr/local/bin', `/usr/local/man', etc. You can specify an 338071d4279SBram Moolenaarinstallation prefix other than `/usr/local' by giving `configure' the 339071d4279SBram Moolenaaroption `--prefix=PATH'. 340071d4279SBram Moolenaar 341071d4279SBram Moolenaar You can specify separate installation prefixes for 342071d4279SBram Moolenaararchitecture-specific files and architecture-independent files. If you 343071d4279SBram Moolenaargive `configure' the option `--exec-prefix=PATH', the package will use 344071d4279SBram MoolenaarPATH as the prefix for installing programs and libraries. 345071d4279SBram MoolenaarDocumentation and other data files will still use the regular prefix. 346071d4279SBram Moolenaar 347071d4279SBram Moolenaar In addition, if you use an unusual directory layout you can give 348071d4279SBram Moolenaaroptions like `--bindir=PATH' to specify different values for particular 349071d4279SBram Moolenaarkinds of files. Run `configure --help' for a list of the directories 350071d4279SBram Moolenaaryou can set and what kinds of files go in them. 351071d4279SBram Moolenaar 352071d4279SBram Moolenaar If the package supports it, you can cause programs to be installed 353071d4279SBram Moolenaarwith an extra prefix or suffix on their names by giving `configure' the 354071d4279SBram Moolenaaroption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 355071d4279SBram Moolenaar 356071d4279SBram MoolenaarOptional Features 357071d4279SBram Moolenaar================= 358071d4279SBram Moolenaar 359071d4279SBram Moolenaar Some packages pay attention to `--enable-FEATURE' options to 360071d4279SBram Moolenaar`configure', where FEATURE indicates an optional part of the package. 361071d4279SBram MoolenaarThey may also pay attention to `--with-PACKAGE' options, where PACKAGE 362071d4279SBram Moolenaaris something like `gnu-as' or `x' (for the X Window System). The 363071d4279SBram Moolenaar`README' should mention any `--enable-' and `--with-' options that the 364071d4279SBram Moolenaarpackage recognizes. 365071d4279SBram Moolenaar 366071d4279SBram Moolenaar For packages that use the X Window System, `configure' can usually 367071d4279SBram Moolenaarfind the X include and library files automatically, but if it doesn't, 368071d4279SBram Moolenaaryou can use the `configure' options `--x-includes=DIR' and 369071d4279SBram Moolenaar`--x-libraries=DIR' to specify their locations. 370071d4279SBram Moolenaar 371071d4279SBram MoolenaarSpecifying the System Type 372071d4279SBram Moolenaar========================== 373071d4279SBram Moolenaar 374071d4279SBram Moolenaar There may be some features `configure' can not figure out 375071d4279SBram Moolenaarautomatically, but needs to determine by the type of host the package 376071d4279SBram Moolenaarwill run on. Usually `configure' can figure that out, but if it prints 377071d4279SBram Moolenaara message saying it can not guess the host type, give it the 378071d4279SBram Moolenaar`--host=TYPE' option. TYPE can either be a short name for the system 379071d4279SBram Moolenaartype, such as `sun4', or a canonical name with three fields: 380071d4279SBram Moolenaar CPU-COMPANY-SYSTEM 381071d4279SBram Moolenaar 382071d4279SBram MoolenaarSee the file `config.sub' for the possible values of each field. If 383071d4279SBram Moolenaar`config.sub' isn't included in this package, then this package doesn't 384071d4279SBram Moolenaarneed to know the host type. 385071d4279SBram Moolenaar 386071d4279SBram Moolenaar If you are building compiler tools for cross-compiling, you can also 387071d4279SBram Moolenaaruse the `--target=TYPE' option to select the type of system they will 388071d4279SBram Moolenaarproduce code for and the `--build=TYPE' option to select the type of 389071d4279SBram Moolenaarsystem on which you are compiling the package. 390071d4279SBram Moolenaar 391071d4279SBram MoolenaarSharing Defaults 392071d4279SBram Moolenaar================ 393071d4279SBram Moolenaar 394071d4279SBram Moolenaar If you want to set default values for `configure' scripts to share, 395071d4279SBram Moolenaaryou can create a site shell script called `config.site' that gives 396071d4279SBram Moolenaardefault values for variables like `CC', `cache_file', and `prefix'. 397071d4279SBram Moolenaar`configure' looks for `PREFIX/share/config.site' if it exists, then 398071d4279SBram Moolenaar`PREFIX/etc/config.site' if it exists. Or, you can set the 399071d4279SBram Moolenaar`CONFIG_SITE' environment variable to the location of the site script. 400071d4279SBram MoolenaarA warning: not all `configure' scripts look for a site script. 401071d4279SBram Moolenaar 402071d4279SBram MoolenaarOperation Controls 403071d4279SBram Moolenaar================== 404071d4279SBram Moolenaar 405071d4279SBram Moolenaar `configure' recognizes the following options to control how it 406071d4279SBram Moolenaaroperates. 407071d4279SBram Moolenaar 408071d4279SBram Moolenaar`--cache-file=FILE' 409071d4279SBram Moolenaar Use and save the results of the tests in FILE instead of 410071d4279SBram Moolenaar `./config.cache'. Set FILE to `/dev/null' to disable caching, for 411071d4279SBram Moolenaar debugging `configure'. 412071d4279SBram Moolenaar 413071d4279SBram Moolenaar`--help' 414071d4279SBram Moolenaar Print a summary of the options to `configure', and exit. 415071d4279SBram Moolenaar 416071d4279SBram Moolenaar`--quiet' 417071d4279SBram Moolenaar`--silent' 418071d4279SBram Moolenaar`-q' 419071d4279SBram Moolenaar Do not print messages saying which checks are being made. To 420071d4279SBram Moolenaar suppress all normal output, redirect it to `/dev/null' (any error 421071d4279SBram Moolenaar messages will still be shown). 422071d4279SBram Moolenaar 423071d4279SBram Moolenaar`--srcdir=DIR' 424071d4279SBram Moolenaar Look for the package's source code in directory DIR. Usually 425071d4279SBram Moolenaar `configure' can determine that directory automatically. 426071d4279SBram Moolenaar 427071d4279SBram Moolenaar`--version' 428071d4279SBram Moolenaar Print the version of Autoconf used to generate the `configure' 429071d4279SBram Moolenaar script, and exit. 430071d4279SBram Moolenaar 431071d4279SBram Moolenaar`configure' also accepts some other, not widely useful, options. 432