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
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.