Menu

Tree [9980fc] master /
 History

HTTPS access


File Date Author Commit
 admdocs 2002-03-22 petter_urkedal petter_urkedal [2587b9] Sources moved to SourceForge repository. (Old ...
 bdwgc 2009-03-03 Petter Urkedal Petter Urkedal [0f21fa] Tidying after CVS to Git conversion (CVSROOT, ....
 common 2009-08-02 Petter Urkedal Petter Urkedal [6aa66f] Replaced mtconf with plain Automake and cleaned...
 doc 2009-05-01 Petter Urkedal Petter Urkedal [a034db] Updated copyright notices, etc.
 melon 2009-05-01 Petter Urkedal Petter Urkedal [a034db] Updated copyright notices, etc.
 meta 2009-05-01 Petter Urkedal Petter Urkedal [a034db] Updated copyright notices, etc.
 more 2018-02-08 Petter A. Urkedal Petter A. Urkedal [9980fc] Fix std::isfinite condition.
 parser 2009-05-01 Petter Urkedal Petter Urkedal [a034db] Updated copyright notices, etc.
 pkgconfig 2010-01-30 Petter Urkedal Petter Urkedal [7baa42] Update configure.ac and add pkg-config specs.
 spp 2009-03-03 Petter Urkedal Petter Urkedal [0f21fa] Tidying after CVS to Git conversion (CVSROOT, ....
 .gitignore 2010-01-30 Petter Urkedal Petter Urkedal [7baa42] Update configure.ac and add pkg-config specs.
 AUTHORS 2002-03-22 petter_urkedal petter_urkedal [2587b9] Sources moved to SourceForge repository. (Old ...
 COPYING 2002-05-16 petter_urkedal petter_urkedal [4016a5] *** empty log message ***
 ChangeLog 2004-01-05 petter_urkedal petter_urkedal [59150a] *** empty log message ***
 Makefile.am 2010-01-30 Petter Urkedal Petter Urkedal [7baa42] Update configure.ac and add pkg-config specs.
 NEWS 2003-06-24 petter_urkedal petter_urkedal [483401] Updated for version 0.7.5.
 README 2009-08-02 Petter Urkedal Petter Urkedal [6aa66f] Replaced mtconf with plain Automake and cleaned...
 autogen.sh 2009-08-02 Petter Urkedal Petter Urkedal [6aa66f] Replaced mtconf with plain Automake and cleaned...
 configure.ac 2011-01-31 Petter Urkedal Petter Urkedal [2b07d8] Release 0.8.3.
 find-imd.sh 2002-03-22 petter_urkedal petter_urkedal [2587b9] Sources moved to SourceForge repository. (Old ...
 mkdoxydoc.sh 2002-03-22 petter_urkedal petter_urkedal [2587b9] Sources moved to SourceForge repository. (Old ...
 modules.txt 2002-03-22 petter_urkedal petter_urkedal [2587b9] Sources moved to SourceForge repository. (Old ...
 more-config.in 2009-03-03 Petter Urkedal Petter Urkedal [63ec86] Many minor build fixes fixes.
 more.sgml 2002-03-22 petter_urkedal petter_urkedal [2587b9] Sources moved to SourceForge repository. (Old ...
 update-tags.sh 2002-04-10 petter_urkedal petter_urkedal [9f1df7] *** empty log message ***

Read Me

XXX old abstract:
libmore is a collection of C++ classes and algorithms designed to work
well with the the standard C++ library.  It mainly reflects my own
needs -- in particular you will find types and functions related to
mathematics, quantum mechanics and nuclear physics.  There are also
some extensions to the STL library, a class to parse the command line
options, various IO functions (including a system independent binary
format), and an ENSDF (Evaluated Nuclear Data File) fetcher and
parser.


Requirements
============

gc	(recommended)
	Parts of libmore depends on the Boehm-Demers-Weiser
	conservative garbage collector, which is available at

	    http://www.hpl.hp.com/personal/Hans_Boehm/gc/

	When installing, make sure also the headers are accessible in
	a standard location, though an -I flag in CPPFLAGS.  Else give
	the option '--with-bdwgc=TOP_BUILDDIR' to configure.

libffi	(optional)
	The more::lang module uses libffi (Foreign Function
	Interface) if present.  libffi is available from

	    http://sources.redhat.com/libffi/

	or in the GCC tree, if you have the habbit of brewing your own
	gcc binaries.

curl	(optional)
	The phys::ens module depends on curl for fetching data.  In
	case it is missing on your system, see

	    http://curl.haxx.se/



How to build
============

If you have just checked out the source from the Git repository, run
./autogen.sh first.  If you are using a tarball this is not needed, and it
will not work unless you have sufficiently recent Autotools on your system.

In most cases, start with one of these

	./configure				# to install in /usr/local
	./configure --prefix=$HOME/local	# to install in $HOME/local

For more options, see

	./configure --help

Also, you may first create and cd to a separate build directory and invoke
path/to/configure from there.  Check that the grabage collector was detected
if needed.  Then type

	make
	make install
	make doc


How to use
==========

An API reference is created by Doxygen from the sources.  Type

	make doc

which will (after some time) result in the documentation accessible from

	$builddir/doc/html/index.html
	$builddir/doc/man/man3/*

If $MANPATH is set up, "man more_lang" should display the API
reference of the "more::lang" module, etc.  The documentation is not
installed at the moment and will not be cleand by "make clean".


Using libmore with autoconf
---------------------------

Autoconf macro is installed in

	$prefix/share/aclocal/more.m4

Put this in your configure.in:

	AM_LIB_MORE(0.7)
	CPPFLAGS="$MORE_CPPFLAGS $CPPFLAGS"
	LIBS="$MORE_LIBS $LIBS"

or, better, drop the last line and put $(MORE_LIBS) in the appropriate
*_LDADD and *_LIBADD variables in Makefile.am.


Using libmore without autoconf
------------------------------

A config script is installed as

	$prefix/bin/more-config

invoke it with the --help option for usage.  Otherwise, the library is
installed in standard locations:

    Headers in
	$prefix/include/more/$pkg	-- Headers for the NS "more::$pkg"
	$prefix/include/more/bits	-- Internal use only
	$prefix/include/more/backward	-- Obsolete headers

    Libraries in
	$prefix/lib/libmore.la		-- The main library
	$prefix/lib/libmorethread.la	-- Parts depending on POSIX threads
	$prefix/lib/libmorebackward.la	-- Obsolete headers

    Documentation would have been installed in
	$prefix/share/doc/more/en/html	-- Not used yet
	$prefix/share/man/man3		-- Not used yet


Parts of the library uses UTF-8
-------------------------------

Both the some of the source code and output is UTF-8 encoded when needed.
In particular, the ENSDF module.  Hints:

    xterm: Something like (replacing the font as proper):
	LANG=en_US.utf8 \
	xterm -u8 -fn -misc-fixed-medium-r-normal-*-15-*-*-*-c-*-iso10646-1

    konsole (KDE):
	LANG=en_US.utf8 konsole

    emacs: Get 21.x (beta) or the emacs-oc-unicode package.
    vim:   UTF-8 is supported by versions from 6.0