| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | Basic Installation | 
					
						
							|  |  |  | ================== | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |     For more information specific to this package, please read the README | 
					
						
							|  |  |  | file. This source code distribution  is autoconfiguring and you should be  | 
					
						
							|  |  |  | able to compile it and install it without manual interventions such as  | 
					
						
							|  |  |  | editing Makefiles, configuration files, and so on. These are generic  | 
					
						
							|  |  |  | instructions for people who are not familiar with installing autoconfiguring | 
					
						
							|  |  |  | software. | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | The simplest way to compile this package is to enter the source code | 
					
						
							|  |  |  | main directory and do the following: | 
					
						
							|  |  |  |     | 
					
						
							|  |  |  |   1. Configure the source code by typing: | 
					
						
							|  |  |  |         % sh ./configure | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      If you're planning to install the package into your home directory | 
					
						
							|  |  |  |      or to a location other than `/usr/local' then add the flag | 
					
						
							|  |  |  |      `--prefix=PATH' to `configure'. For example, if your home directory   | 
					
						
							|  |  |  |      is `/home/luser' you can configure the package to install itself there | 
					
						
							|  |  |  |      by invoking: | 
					
						
							|  |  |  |         % sh ./configure --prefix=/home/luser | 
					
						
							|  |  |  |       | 
					
						
							|  |  |  |      While running, `configure' prints some messages telling which | 
					
						
							|  |  |  |      features is it checking for.  | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |   2. Compile the package by typing: | 
					
						
							|  |  |  |         % make | 
					
						
							|  |  |  |      Running `make' takes a while. If this is a very large package, now | 
					
						
							|  |  |  |      is the time to go make some coffee. | 
					
						
							|  |  |  |       | 
					
						
							|  |  |  |   3. Some packages are bundled with self-tests for source-code  | 
					
						
							|  |  |  |      verification. If this package includes such tests, you can  | 
					
						
							|  |  |  |      optionally run them after compilation by typing  | 
					
						
							|  |  |  |         % make check | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |   4. Type `make install' to install the programs and any data files and | 
					
						
							|  |  |  |      documentation. Type `make uninstall' to undo the installation. | 
					
						
							|  |  |  |      During installation, the following files go to the following directories: | 
					
						
							|  |  |  |         Executables          -> /prefix/bin | 
					
						
							|  |  |  |         Libraries            -> /prefix/lib | 
					
						
							|  |  |  |         Public header files  -> /prefix/include | 
					
						
							|  |  |  |         Man pages            -> /prefix/man/man? | 
					
						
							|  |  |  |         Info files           -> /prefix/info | 
					
						
							|  |  |  |         Doc files            -> /prefix/share/doc/<prog name> | 
					
						
							|  |  |  |         Share files          -> /prefix/share/<prog name> | 
					
						
							|  |  |  |      where `prefix' is either `/usr/local' or the PATH that you specified | 
					
						
							|  |  |  |      in the `--prefix' flag. | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      If any of these directories do not presently exist, they will be | 
					
						
							|  |  |  |      created on demand.  | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      If you are installing in your home directory make sure that  | 
					
						
							|  |  |  |      `/home/luser/bin' is in your path. If you're using the bash shell | 
					
						
							|  |  |  |      add this line at the end of your .cshrc file: | 
					
						
							|  |  |  |         PATH="/home/luser/bin:${PATH}" | 
					
						
							|  |  |  |         export PATH | 
					
						
							|  |  |  |      If you are using csh or tcsh, then use this line instead: | 
					
						
							|  |  |  |         setenv PATH /home/luser/bin:${PATH} | 
					
						
							|  |  |  |      By prepending your home directory to the rest of the PATH you can | 
					
						
							|  |  |  |      override systemwide installed software with your own custom installation. | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |   5. You can remove the program binaries and object files from the | 
					
						
							|  |  |  |      source code directory by typing `make clean'.  To also remove the | 
					
						
							|  |  |  |      files that `configure' created (so you can compile the package for | 
					
						
							|  |  |  |      a different kind of computer), type `make distclean'. | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | Compiler configuration | 
					
						
							|  |  |  | ====================== | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |    The `configure' shell script is responsible for choosing and configuring | 
					
						
							|  |  |  | the compiler(s).  | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | The following options allow you to specify whether you | 
					
						
							|  |  |  | want to enable or disable various debugging mechanisms: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | `--enable-warnings' | 
					
						
							|  |  |  |       Make the compilers very picky about warnings. Try this whenever you | 
					
						
							|  |  |  |       write new code since it may catch a few bugs. This is not active by | 
					
						
							|  |  |  |       default because all too often warnings can be too picky and scare | 
					
						
							|  |  |  |       the end-user. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | All programs are compiled with optimization level 2 by default (-O2). | 
					
						
							|  |  |  | Occasionally that confuses the debugger when code is inlined. To disable | 
					
						
							|  |  |  | optimization and enable debugging, set the shell environment variables | 
					
						
							|  |  |  | CFLAGS, CXXFLAGS, FFLAGS to `-g'. On the bash shell, you can do this | 
					
						
							|  |  |  | like this: | 
					
						
							|  |  |  |   $ export CFLAGS="-g" | 
					
						
							|  |  |  |   $ export CXXFLAGS="-g" | 
					
						
							|  |  |  |   $ export FFLAGS="-g" | 
					
						
							|  |  |  | On the tcsh shell, use the `setenv' command instead: | 
					
						
							|  |  |  |   % setenv CFLAGS "-g" | 
					
						
							|  |  |  |   ...etc... | 
					
						
							|  |  |  | For other shell, please consult your shell's documentation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Similarly, you can increase the optimization level by assigning these | 
					
						
							|  |  |  | variables to "-g -O3".  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Depending on what languages the package uses, some of these options may | 
					
						
							|  |  |  | or may not be available. To see what is available, type: | 
					
						
							|  |  |  |     % sh ./configure --help | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | About the configure script | 
					
						
							|  |  |  | ========================== | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  |    The `configure' shell script attempts to guess correct values for | 
					
						
							|  |  |  | various system-dependent variables used during compilation.  It uses | 
					
						
							|  |  |  | those values to create a `Makefile' in each directory of the package. | 
					
						
							|  |  |  | It may also create one or more `.h' files containing system-dependent | 
					
						
							|  |  |  | definitions.  Finally, it creates a shell script `config.status' that | 
					
						
							|  |  |  | you can run in the future to recreate the current configuration, a file | 
					
						
							|  |  |  | `config.cache' that saves the results of its tests to speed up | 
					
						
							|  |  |  | reconfiguring, and a file `config.log' containing compiler output | 
					
						
							|  |  |  | (useful mainly for debugging `configure'). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    If you need to do unusual things to compile the package, please try | 
					
						
							|  |  |  | to figure out how `configure' could check whether to do them, and mail | 
					
						
							|  |  |  | diffs or instructions to the address given in the `README' so they can | 
					
						
							|  |  |  | be considered for the next release.  If at some point `config.cache' | 
					
						
							|  |  |  | contains results you don't want to keep, you may remove or edit it. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    The file `configure.in' is used to create `configure' by a program | 
					
						
							|  |  |  | called `autoconf'.  You only need `configure.in' if you want to change | 
					
						
							|  |  |  | it or regenerate `configure' using a newer version of `autoconf'. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Advanced installation options. | 
					
						
							|  |  |  | ============================== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    The `configure' script also understands the following more advanced | 
					
						
							|  |  |  | options, to handle situations for which `--prefix' alone is not sufficient. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    You can specify separate installation prefixes for | 
					
						
							|  |  |  | architecture-specific files and architecture-independent files.  If you | 
					
						
							|  |  |  | give `configure' the option `--exec-prefix=PATH', the package will use | 
					
						
							|  |  |  | PATH as the prefix for installing programs and libraries. | 
					
						
							|  |  |  | Documentation and other data files will still use the regular prefix. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    In addition, if you use an unusual directory layout you can give | 
					
						
							|  |  |  | options like `--bindir=PATH' to specify different values for particular | 
					
						
							|  |  |  | kinds of files.  Run `configure --help' for a list of the directories | 
					
						
							|  |  |  | you can set and what kinds of files go in them. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    If the package supports it, you can cause programs to be installed | 
					
						
							|  |  |  | with an extra prefix or suffix on their names by giving `configure' the | 
					
						
							|  |  |  | option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Optional Features | 
					
						
							|  |  |  | ================= | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Some packages pay attention to `--enable-FEATURE' options to | 
					
						
							|  |  |  | `configure', where FEATURE indicates an optional part of the package. | 
					
						
							|  |  |  | They may also pay attention to `--with-PACKAGE' options, where PACKAGE | 
					
						
							|  |  |  | is something like `gnu-as' or `x' (for the X Window System).  The | 
					
						
							|  |  |  | `README' should mention any `--enable-' and `--with-' options that the | 
					
						
							|  |  |  | package recognizes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    For packages that use the X Window System, `configure' can usually | 
					
						
							|  |  |  | find the X include and library files automatically, but if it doesn't, | 
					
						
							|  |  |  | you can use the `configure' options `--x-includes=DIR' and | 
					
						
							|  |  |  | `--x-libraries=DIR' to specify their locations. | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-02-08 17:39:38 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | Win32 | 
					
						
							|  |  |  | ===== | 
					
						
							|  |  |  | - Debian system with mingw32msvc cross-compiler | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	./configure --host=i586-mingw32msvc | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Mingw compiler under Cygwin  | 
					
						
							|  |  |  | 	CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" ./configure --host=i686-pc-mingw32  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Cygwin | 
					
						
							|  |  |  | 	Native Cygwin requires no special options besides regular ones. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-04-28 06:34:58 +00:00
										 |  |  | Hamlib specific Features | 
					
						
							|  |  |  | ======================== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Should you encounter any problem with the build of the C++ binding, | 
					
						
							|  |  |  | you can disable this optional part by passing `--without-cxx-binding' | 
					
						
							| 
									
										
										
										
											2004-02-08 17:39:38 +00:00
										 |  |  | to the configure script (may happen under MacOSX). | 
					
						
							| 
									
										
										
										
											2003-04-28 06:34:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-02-08 17:39:38 +00:00
										 |  |  |    Any problem encountered with the perl, tcl, python or swig tool can be | 
					
						
							|  |  |  | disabled by passing `--without-tcl-binding', `--without-perl-binding', | 
					
						
							|  |  |  | and/or '--without-python-binding'. | 
					
						
							| 
									
										
										
										
											2003-04-28 06:34:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |    Some platfroms may have trouble compiling the RPC support (e.g. Mac OS X). | 
					
						
							|  |  |  | in such a case, the rpcrig and rpcrot backends may be disabled  | 
					
						
							|  |  |  | with the `--without-rpc-backends' option. | 
					
						
							|  |  |  | 
 |