kopia lustrzana https://github.com/Hamlib/Hamlib
				
				
				
			
		
			
				
	
	
		
			256 wiersze
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			256 wiersze
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
| Basic Installation
 | |
| ==================
 | |
| 
 | |
|     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 (along with some Hamlib-specific information).
 | |
| 
 | |
| 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:
 | |
|         
 | |
|         $ ./configure
 | |
| 
 | |
|      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/username' you can configure the package to install itself 
 | |
|      there by invoking:
 | |
|         
 | |
|         $ ./configure --prefix=/home/username
 | |
| 
 | |
|      N.B. If you know that you won't be using scripting languages (Perl,
 | |
|      Python, or TCL) and that you won't need static libaries (most
 | |
|      applications dynamically link Hamlib by default) invoke `configure'
 | |
|      as follows:
 | |
|      
 | |
|         $ ./configure --without-perl-binding --without-python-binding \
 | |
|         --without-tcl-binding --disable-static
 | |
| 
 | |
|      This will result in a much smaller Hamlib installation (and faster
 | |
|      compilation :-) ).  See also the "Hamlib specific Features" section 
 | |
|      below for other `configure' options.  
 | |
|      
 | |
|      While running, `configure' prints some messages telling you which
 | |
|      features it is checking for. 
 | |
| 
 | |
|   2. Compile the package by typing:
 | |
|         
 | |
|         $ make
 | |
|      
 | |
|      Running `make' takes a while.  Since Hamlib is a package, now is the 
 | |
|      time to go get a cup of 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
 | |
| 
 | |
|   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.
 | |
| 
 | |
|      If any of these directories do not presently exist, they will be
 | |
|      created on demand. 
 | |
| 
 | |
|      If you are installing in your home directory make sure that 
 | |
|      `/home/username/bin' is in your path. If you're using the bash shell
 | |
|      add these lines at the end of your .bashrc file:
 | |
| 
 | |
|         PATH="/home/username/bin:${PATH}"
 | |
|         export PATH
 | |
| 
 | |
|      If you are using csh or tcsh, then use this line instead:
 | |
| 
 | |
|         setenv PATH /home/username/bin:${PATH}
 | |
| 
 | |
|      By prepending your home directory to the rest of the PATH you can
 | |
|      override systemwide installed software with your own custom installation.
 | |
| 
 | |
|   5. After installation you may need to update the ld.so.cache as the 
 | |
|      installation files are placed in /usr/local/lib by default.  On most
 | |
|      systems this is easily accomplished by running the `ldconfig' command
 | |
|      as the superuser (root).  The following line may need to be added to
 | |
|      /etc/ld.so.conf:
 | |
|      
 | |
|         /usr/local/lib
 | |
|      
 | |
|      On Debian systems since at least 4.0 (Etch) and its derivatives (Ubuntu,
 | |
|      etc.), a file will need to be created in the /etc/ld.so.conf.d directory.
 | |
|      It doesn't seem to matter what you name it so long as it ends in .conf 
 | |
|      and local.conf is a good choice.  Place the following line in it:
 | |
|      
 | |
|         /usr/local/lib
 | |
|         
 | |
|      Now `ldconfig' can be run.  
 | |
|      
 | |
|      While the programs built along with Hamlib will probably work fine
 | |
|      without running `ldconfig', experience has shown that precompiled
 | |
|      binaries like Fldigi will not be able to find libhamlib.so.2 without
 | |
|      updating the ld.so.cache.
 | |
|      
 | |
|   6. 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'.  The
 | |
|      `configure' program will need to be run again to recompile Hamlib.
 | |
| 
 | |
|   7. You can optionally generate the Doxygen documentation files:
 | |
| 
 | |
|         cd doc
 | |
|         make doc
 | |
| 
 | |
|      The HTML output files are provided for binary releases on the hamlib.org
 | |
|      web site.
 | |
|      
 | |
|   8. Finally, if you wish to remove Hamlib, run `make uninstall' as 
 | |
|      superuser (root), unless Hamlib was installed into your home directory,
 | |
|      from the Hamlib source directory.  This will work unless `make distclean'
 | |
|      has been run.
 | |
| 
 | |
| Compiler configuration
 | |
| ======================
 | |
| 
 | |
|    The `configure' shell script is responsible for choosing and configuring
 | |
| the compiler(s). 
 | |
| 
 | |
| 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.
 | |
| 
 | |
| 
 | |
| 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.
 | |
| 
 | |
| 
 | |
| 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'
 | |
| to the configure script (may happen under MacOSX).
 | |
| 
 | |
|    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'.
 | |
| 
 | |
|    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.
 | |
| 
 | |
|    Building static libraries can be disabled by use of the `--disable-static'
 | |
| option.  This will reduce the installed size of Hamlib considerably.
 | |
| 
 |