Commit b8fd633f authored by thomas.forbriger's avatar thomas.forbriger
Browse files

[MERGE][API][FIX] (ticket10): make libtfxx ready for publication

This is a legacy commit from before 2015-03-01.
It may be incomplete as well as inconsistent.
See COPYING.legacy and README.history for details.

  c4acdaf [WP][FIX][API][!!!] (branch): provide snapshot of libtfxx
  875de26 [WP][DOC] (ticket10tfxx): note API modification in doxygen documentation
  7e6b077 [WP][DOC] (ticket10tfxx): provide proper copying information
  f4be379 [WP][TASK] (ticket10tfxx): group entries in flist

libtfxx is now fully self-contained after being disentangled from libtsxx.
Documentation, and Makefile are adjusted such that a snapshot tar-ball can be
published.

Missing:
 - Publication is only reasonable after libtsxx, libtsioxx, and all
   application programs which use the respective libraries have been fixed too
parents 51dd9f2e 1574736d
......@@ -2,7 +2,7 @@ this is <README.dependencies>
============================================================================
library dependencies
--------------------
$Id$
$Id: README.dependencies 5425 2014-01-06 16:08:10Z tmetz $
============================================================================
This file tells you on which libraries/modules the different software
......@@ -57,9 +57,9 @@ order of the libraries is listed with increasing dependency, the top one being
the most independent one. Consequently no library should depend on a library
following after it in the list.
Details on the prerequisites for each library can be found in the Makefiles.
The Makefiles are also the place to provide more detailed information on how
prerequisites can be obtained.
Details on the prerequisites for each library can be found in the README
files. The README files are also the place to provide more detailed
information on how prerequisites can be obtained.
tfmacros.h
is not a library and is obsolete
......@@ -105,8 +105,9 @@ C++ libraries
external dependencies: -
internal dependencies: libtfxx libgsexx libtime++ libseife libaff
libdatrwxx libsffxx
test program dependency: libtfxx
checked: 26.01.2014 (tforb)
checked: 16.10.2010 (tforb)
!! comment: there are many dependencies on libtfxx which probably should not
be here
liblinearxx
language: C++
libraries: liblinearxx.a
......@@ -132,9 +133,8 @@ C++ libraries
language: C++
libraries: libtfxx.a
external dependencies: libgsl libboost
internal dependencies: libaff libdatrwxx libgsexx libtime
libsffxx libtsxx
checked: 16.10.2010 (tforb)
internal dependencies: -
checked: 28.10.2014 (tforb)
C++ and C libraries
-------------------
......
......@@ -6,9 +6,9 @@ $Id: COPYING 4960 2013-02-01 09:02:16Z tforb $
============================================================================
The source code in this directory is part of libtfxx which
compiles libtfxx.a
compiles to libtfxx.a
Copyright (C) 2002, 2013 by Thomas Forbriger
Copyright (C) 2002, 2005-2009, 2012-2014 by Thomas Forbriger
----
libtfxx is free software; you can redistribute it and/or modify
......@@ -16,7 +16,7 @@ it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
libtfxx is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
......
......@@ -30,7 +30,7 @@
# prerequisites and installation.
#
# REVISIONS and CHANGES
# 15/11/2002 V1.0 Thomas Forbriger
# 15/11/2002 V1.0 Thomas Forbriger (thof)
# 24/06/2003 V1.1 disabled blitz part of the code
# 28/03/2006 V1.2 provide a package
# 29/03/2006 V1.3 temporary header install path for package creation
......@@ -51,6 +51,8 @@
# 17/01/2011 V1.7 distinguish library creation and installation
# 25/03/2013 V1.8 added comments and package creation
# 26/03/2013 V1.9 fullpackage source code tar-ball is tested
# 28/01/2014 (thof) adjusted snapshot package rules
# the library now is fully self-contained
#
# ============================================================================
#
......@@ -82,8 +84,8 @@ $(call CHECKVARS,TF_BROWSER TF_WWWBASEDIR)
#----------------------------------------------------------------------
#HEADERS=$(shell find . -name \*.h)
DIRSTOINCLUDE= ./cmdline ./misc ./affio ./containers \
./strings ./fileio ./num ./fs
DIRSTOINCLUDE= cmdline misc affio containers \
strings fileio num fs
#./hacks
#./blitzio
HEADERS=$(wildcard $(addsuffix /*.h,$(DIRSTOINCLUDE)))
......@@ -128,9 +130,18 @@ LDFLAGS=-L$(LOCLIBDIR) $(TF_LINK_REGEXX)
CPPFLAGS=-I$(LOCINCLUDEDIR) $(FLAGS) $(REGEXXFLAG)
#CPPFLAGS=-I$(LOCINCLUDEDIR) $(FLAGS) -I$(BLITZINCLUDE)
flist: Makefile tests/Makefile doxydoc.cfg COPYING README $(DOXYTXT) \
$(HEADERS) $(SRC) $(TESTS) $(FTESTS) $(TF_EDIT)
echo $^ | tr ' ' '\n' | sort > $@
CODEFILES=$(SRC) $(HEADERS)
TESTFILES=$(TESTS) $(FTESTS)
OTHERFILES=Makefile tests/Makefile doxydoc.cfg COPYING README $(DOXYTXT)
flist: $(CODEFILES) $(OTHERFILES) $(TF_EDIT) $(TESTFILES)
echo $(OTHERFILES) | tr ' ' '\n' | sort > $@
echo '----' >> $@
echo $(CODEFILES) | tr ' ' '\n' | sort >> $@
echo '----' >> $@
echo $(TESTFILES) | tr ' ' '\n' | sort >> $@
echo '----' >> $@
echo $(filter-out $(CODEFILES) $(TESTFILES) $(OTHERFILES),$^) \
| tr ' ' '\n' | sort >> $@
.PHONY: edit
edit: flist; vim $<
......@@ -167,7 +178,7 @@ libtfxx.a: $(SRC:.cc=.o)
libtfxx.so: $(SRC:.cc=.o)
$(CXX) $(CXXFLAGS) -shared -o $@ $^ -lgsl -lboost_regex -lgslcblas \
-ltsxx -L$(LOCLIBDIR)
-L$(LOCLIBDIR)
#----------------------------------------------------------------------
# comment stripping
......@@ -266,19 +277,8 @@ package: $(TF_MAKEPKG)
$(MAKE) -f $< \
PACKAGE=libtfxx \
PACKAGEEXPORT="trunk/src/libs/libtfxx:src" \
PACKAGETARGETS="src:install:-i src:doc" \
PACKAGETARGETS="src:all" \
PACKAGELIBS="-"
# due to the undesired circular dependency between libtfxx and libtsxx, we
# have to install libtsxx as a primary source in the fullpacke
# see ticket:215 and ticket:10
.PHONY: fullpackage
fullpackage: $(TF_MAKEPKG)
$(MAKE) -f $< \
PACKAGE=libtfxxwithlibs \
PACKAGEEXPORT="trunk/src/libs/libtfxx:src trunk/src/libs/libtsxx:contrib/libtsxx" \
PACKAGETARGETS="contrib/libtsxx:install:-i src:install:-i contrib/libtsxx:reinstall contrib/libtsxx:doc:-i src:all" \
PACKAGELIBS="libgsexx:libtime:libsffxx:libaff:libseife:libdatrwxx"
endif
#======================================================================
......
......@@ -5,17 +5,18 @@ C++ library libtfxx
$Id$
============================================================================
For compilation instructions see README.1st in the root directory of the tar-ball or
For compilation instructions see README.1st in the root directory of the
tar-ball or
http://gpitrsvn.gpi.uni-karlsruhe.de:8000/TFSoftware/wiki/docs/installation
A collection of miscellaneous code frequently used by C++ programs in
TFSoftware.
This library contains smaller and independent sets of classes and modules.
They should provide stable and reliable interfaces and sematics.
Some of them will be copied from libclass which was more for experimenting purposes.
The modules provide handling of commandline options and arguments, I/O byte swapping,
I/O for Fortran binary files, error handling, and more.
This library contains smaller and independent sets of classes and modules.
They should provide stable and reliable interfaces and sematics. Some of them
will be copied from libclass which was more for experimenting purposes. The
modules provide handling of commandline options and arguments, I/O byte
swapping, I/O for Fortran binary files, error handling, and more.
The home of this software suite is
http://gpitrsvn.gpi.uni-karlsruhe.de:8000/TFSoftware/wiki/trunk/src/libs/libtfxx
......@@ -44,15 +45,12 @@ Dependencies:
doxygen (required to process source code documentation)
TFSoftware libraries required to compile the code:
direct dependencies:
libtsxx, libaff, libsffxx, libtime, libgsexx
indirect dependencies:
libseife, libdatrwxx
non; the library is self-contained
Further non-standard libraries required to compile the code:
- the C++ standard template library (STL)
- libboost
- libgsl
- libboost (libboost_regex)
- libgsl (libgsl, libgslcblas)
Tests and examples are provided in subdirectory tests
......
......@@ -34,10 +34,22 @@
\author Thomas Forbriger
\since November 2002
\date November 2013
\date January 2014
\version V1.0
$Id$
\section main_contents Table of contents
- \ref main_aims
- \ref main_modules
- \ref main_module_commandline
- \ref main_module_io
- \ref main_module_error
- \ref main_module_misc
- \ref main_module_nogroup
- \ref main_namespaces
- \ref related_pages
- \ref main_api_modifications
\section main_aims Aims
This library contains smaller and independent sets of classes and modules.
......@@ -163,6 +175,13 @@ $Id$
that is factored out to be compilable into a binary library for explicit
instantiation.
\section main_api_modifications Modification applied to API
- 28/01/2014 (thof):
The module provided through readtsdata.h has been moved to
libtsioxx; Both readtsdata.h and readtsdata.cc ahev vanished from libtfxx;
this was necessary in order to disentangle libtsxx and libtfxx
*/
/*======================================================================*/
......
......@@ -24,7 +24,7 @@
* This namespace may contain some modules without subdivisions or
* subnamespaces for modules consisting of several classes.
*
* Look at the mainpage for a summary of all \ref main_modules.
* See the mainpage for a summary of all \ref main_modules.
*/
namespace tfxx {
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment