#
# Makefile for the whole library
+# include global options and pathes
+include Make.global_options
+
help:
@echo "======================================================================"
baseg:
- cd ../base ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) libg
base:
- cd ../base ; $(MAKE) $(MAKEOPTIONS) libg
- cd ../base ; $(MAKE) $(MAKEOPTIONS) lib
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) lib
lacg:
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) libg
lac:
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) libg
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) lib
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) lib
1dg:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
2dg:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
3dg:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
1d:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1d
2d:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2d
3d:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3d
all:
- cd ../base ; $(MAKE) $(MAKEOPTIONS) libg
- cd ../base ; $(MAKE) $(MAKEOPTIONS) lib
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) libg
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) lib
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2d
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1d
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3d
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) lib
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) lib
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3d
online-doc:
- cd ../doc/auto ; $(MAKE)
+ cd $D/doc ; $(MAKE)
@echo
@echo
@echo =======================================================
- @echo "The online documentation can now be found in"
- @echo " ../doc/auto/kdoc/base/index.html"
- @echo " ../doc/auto/kdoc/lac/index.html"
- @echo " ../doc/auto/kdoc/deal.II/index.html"
+ @echo "The online documentation can now be accessed through"
+ @echo " $D/doc/index.html"
@echo =======================================================
@echo
@echo
printable-doc:
- cd ../doc/auto ; $(MAKE) latex/deal_II_technical_reference.ps
+ cd $D/doc/auto ; $(MAKE) latex/deal_II_technical_reference.ps
@echo
@echo
@echo =======================================================
@echo "The generated postscript file can be found here:"
- @echo " ../doc/auto/latex/deal_II_technical_reference.ps"
+ @echo " $D/doc/auto/latex/deal_II_technical_reference.ps"
@echo =======================================================
@echo
@echo
tex-doc:
- cd ../doc/auto ; $(MAKE) latex/deal_II_technical_reference.tex
+ cd $D/doc/auto ; $(MAKE) latex/deal_II_technical_reference.tex
@echo
@echo
@echo =======================================================
@echo "The generated LaTeX file can be found here:"
- @echo " ../doc/auto/latex/deal_II_technical_reference.tex"
+ @echo " $D/doc/auto/latex/deal_II_technical_reference.tex"
@echo =======================================================
@echo
@echo
TODO:
- @cat ../base/Todo ../lac/Todo ../deal.II/Todo > TODO
- @grep //TODO ../base/include/*/*.h ../base/source/*.cc ../lac/include/*/*.h ../lac/source/*.cc ../deal.II/include/*/*.h ../deal.II/source/*/*.cc >> TODO
-# @grep \#TODO Makefile Make.g* Makefile.template ../*/source/Makefile ../*/Makefile >> TODO
+ @cat $D/base/Todo $D/lac/Todo $D/deal.II/Todo > TODO
+ @grep //TODO $D/base/include/*/*.h $D/base/source/*.cc $D/lac/include/*/*.h $D/lac/source/*.cc $D/deal.II/include/*/*.h $D/deal.II/source/*/*.cc >> TODO
+# @grep \#TODO Makefile Make.g* Makefile.template $D/*/source/Makefile $D/*/Makefile >> TODO
clean: clean-base clean-lac clean-dealII clean-doc
-rm TODO TAGS
clean-base:
- cd ../base ; $(MAKE) clean
+ cd $D/base ; $(MAKE) clean
clean-lac:
- cd ../lac ; $(MAKE) clean
+ cd $D/lac ; $(MAKE) clean
clean-dealII:
- cd ../deal.II ; $(MAKE) clean
+ cd $D/deal.II ; $(MAKE) clean
clean-doc:
- cd ../doc/auto ; $(MAKE) clean
+ cd $D/doc ; $(MAKE) clean
TAGS: $(filter-out %/forward-declarations.h, \
- $(shell echo ../base/source/*.cc ../base/include/*/*.h \
- ../lac/source/*.cc ../lac/include/*/*.h \
- ../deal.II/source/*/*.cc ../deal.II/include/*/*.h \
- ../tests/*/*.cc ../tests/*/*.h ))
+ $(shell echo $D/base/source/*.cc $D/base/include/*/*.h \
+ $D/lac/source/*.cc $D/lac/include/*/*.h \
+ $D/deal.II/source/*/*.cc $D/deal.II/include/*/*.h \
+ $D/tests/*/*.cc $D/tests/*/*.h ))
@etags $^
-.PHONY: base baseg lac lacg 1d 2d 3d 1dg 2dg 3dg all online-doc printable-doc tex-doc \
+.PHONY: base baseg lac lacg 1d 2d 3d 1dg 2dg 3dg all \
+ online-doc printable-doc tex-doc \
clean clean-base clean-lac clean-dealII clean-doc TAGS TODO
lib/go/%.go :
@echo =====base=============debug========= $(<F) \
" " $(patsubst -Ddata_out_dimension=%,dimension=%,$(maybe-define-dimension))
- @$(CXX) $(CXXFLAGS) $(CXXFLAGS.g) $(maybe-define-dimension) -c $< -o $@
+ @$(CXX) $(CXXFLAGS.g) $(maybe-define-dimension) -c $< -o $@
lib/o/%.o :
@echo =====base=============optimized===== $(<F) \
" " $(patsubst -Ddata_out_dimension=%,dimension=%,$(maybe-define-dimension))
- @$(CXX) $(CXXFLAGS) $(CXXFLAGS.o) $(maybe-define-dimension) -c $< -o $@
+ @$(CXX) $(CXXFLAGS.o) $(maybe-define-dimension) -c $< -o $@
# rules
#appended
lib/Makefile.dep: $(cc-files) $(forward-declarations) $(h-files) Makefile
@echo ============================ Remaking Makefile
- @perl $D/common/scripts/make_dependencies.pl $(INCLUDE) $(cc-files) \
- | perl -p -e 's!(lib/g?o/data_out_base)(.g?o)!$$1_1d$$2 $$1_2d$$2 $$1_3d$$2 $$1_4d$$2!g;' \
+ @$(PERL) $D/common/scripts/make_dependencies.pl $(INCLUDE) $(cc-files) \
+ | $(PERL) -p -e 's!(lib/g?o/data_out_base)(.g?o)!$$1_1d$$2 $$1_2d$$2 $$1_3d$$2 $$1_4d$$2!g;' \
> lib/Makefile.dep
--- /dev/null
+Make.global_options
+++ /dev/null
-# $Id$
-# Copyright W. Bangerth, G. Kanschat, University of Heidelberg, 1998, 1999
-
-# This file uses the variable $D, which is the deal home directory,
-# that is, the parent directory of this directory.
-#
-# Please set $D to the right path before including this file!
-#
-# For special compiler flags please do not edit this file but look up
-# README, section Compiler flags, for further information.
-
-vpath %.a $D/base/lib
-vpath %.a $D/lac/lib
-vpath %.a $D/deal.II/lib
-
-CXX = g++
-INCLUDE = -I$D/deal.II/include -I$D/lac/include \
- -I$D/base/include
-CXXFLAGS.g= -DDEBUG -ggdb -Wall -W -Wconversion \
- -Winline -Woverloaded-virtual\
- -fno-vtable-thunks -ftemplate-depth-32\
- $(INCLUDE)
-CXXFLAGS.o= -O2 -Wuninitialized -ffast-math \
- -felide-constructors -fnonnull-objects \
- -fno-vtable-thunks -ftemplate-depth-32 \
- $(INCLUDE)
-
-
-
-# DEAL_II_USE_MT=true
-
-ifeq ($(DEAL_II_USE_MT),true)
- INCLUDE += -I$(ACE_ROOT)
- CXXFLAGS.g += -DDEAL_II_USE_MT -threads -D__USE_MALLOC
- CXXFLAGS.o += -DDEAL_II_USE_MT -threads -D__USE_MALLOC
-
- user-libs += $(ACE_ROOT)/ace/libACE.so
-endif
-
-%.go : %.cc #Makefile
- @echo =====debug========= $<
- @$(CXX) $(CXXFLAGS) $(flags) -c $< -o $@
-%.o : %.cc #Makefile
- @echo =====optimized===== $<
- @$(CXX) $(CXXFLAGS) $(flags) -c $< -o $@
-
--- /dev/null
+# $Id$
+
+######################################################
+# the following lines will be replaced by the output
+# of ./configure
+
+D = @DEAL2_DIR@
+CXX = @CXX@
+GXX-VERSION = @GXX_VERSION@
+OS = @OS@
+PERL = @PERL@
+enable-multithreading= @enablemultithreading@
+with-multithreading = @withmultithreading@
+
+
+
+######################################################
+# now configuration for compiler flags, pathes, etc
+
+# path for libraries
+
+lib-path-base = $D/base/lib
+lib-path-lac = $D/lac/lib
+lib-path-deal2 = $D/deal.II/lib
+
+# add search path for libraries for make dependencies
+
+vpath %.a $(lib-path-base)
+vpath %.a $(lib-path-lac)
+vpath %.a $(lib-path-deal2)
+
+
+# include paths. add library paths to existing variable
+
+base-include = -I$D/base/include
+lac-include = -I$D/lac/include
+deal-include = -I$D/deal.II/include
+INCLUDE += $(base-include) $(lac-include) $(deal-include)
+
+# compiler flags for debug and optimized mode
+
+CXXFLAGS.g = -DDEBUG -ggdb -Wall -W -Wconversion \
+ -Winline -Woverloaded-virtual\
+ -ftemplate-depth-32\
+ $(INCLUDE)
+CXXFLAGS.o = -O2 -Wuninitialized -ffast-math \
+ -felide-constructors -fnonnull-objects \
+ -ftemplate-depth-32 \
+ $(INCLUDE)
+
+
+# if not egcs-1.1 we can use additional flags for which that compiler
+# had quirks
+ifneq ($(GXX-VERSION),egcs1.1)
+ CXXFLAGS.o += -funroll-loops -funroll-all-loops
+endif
+
+
+# if not on Linux and we use egcs-1.1: enable -fno-vtable-thunks,
+# since vtable-thunks are broken and yield incorrect code. in fact,
+# they are also broken on Linux, but we can't link programs compiled
+# with -fno-vtable-thunks unless the whole compiler is recompiled,
+# which we don't want to force on the users
+ifneq ($(OS),Linux)
+ ifeq ($(GXX-VERSION),egcs1.1)
+ CXXFLAGS.g += -fno-vtable-thunks
+ CXXFLAGS.o += -fno-vtable-thunks
+ endif
+endif
+
+
+# if --enable-multithreading was given, then set the compiler flags
+# accordingly. note that this only sets the flags to generate programs
+# which use thread-safe allocation functions, include the right files,
+# etc, but the library won't use its multithread code. for this you
+# have to specify another flag.
+ifeq ($(enable-multithreading),yes)
+ CXXFLAGS.g += -threads -D__USE_MALLOC
+ CXXFLAGS.o += -threads -D__USE_MALLOC
+endif
+
+
+# if multithread support in the library is requested, then set the
+# respective flags
+ifneq ($(with-multithreading),no)
+ ACE_ROOT = $(with-multithreading)
+ INCLUDE += -I$(ACE_ROOT)
+ CXXFLAGS.g += -DDEAL_II_USE_MT
+ CXXFLAGS.o += -DDEAL_II_USE_MT
+endif
+
#
# Makefile for the whole library
+# include global options and pathes
+include Make.global_options
+
help:
@echo "======================================================================"
baseg:
- cd ../base ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) libg
base:
- cd ../base ; $(MAKE) $(MAKEOPTIONS) libg
- cd ../base ; $(MAKE) $(MAKEOPTIONS) lib
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) lib
lacg:
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) libg
lac:
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) libg
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) lib
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) lib
1dg:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
2dg:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
3dg:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
1d:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1d
2d:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2d
3d:
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3d
all:
- cd ../base ; $(MAKE) $(MAKEOPTIONS) libg
- cd ../base ; $(MAKE) $(MAKEOPTIONS) lib
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) libg
- cd ../lac ; $(MAKE) $(MAKEOPTIONS) lib
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 2d
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 1d
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
- cd ../deal.II ; $(MAKE) $(MAKEOPTIONS) 3d
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/base ; $(MAKE) $(MAKEOPTIONS) lib
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) libg
+ cd $D/lac ; $(MAKE) $(MAKEOPTIONS) lib
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 2d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 1d
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3dg
+ cd $D/deal.II ; $(MAKE) $(MAKEOPTIONS) 3d
online-doc:
- cd ../doc/auto ; $(MAKE)
+ cd $D/doc ; $(MAKE)
@echo
@echo
@echo =======================================================
- @echo "The online documentation can now be found in"
- @echo " ../doc/auto/kdoc/base/index.html"
- @echo " ../doc/auto/kdoc/lac/index.html"
- @echo " ../doc/auto/kdoc/deal.II/index.html"
+ @echo "The online documentation can now be accessed through"
+ @echo " $D/doc/index.html"
@echo =======================================================
@echo
@echo
printable-doc:
- cd ../doc/auto ; $(MAKE) latex/deal_II_technical_reference.ps
+ cd $D/doc/auto ; $(MAKE) latex/deal_II_technical_reference.ps
@echo
@echo
@echo =======================================================
@echo "The generated postscript file can be found here:"
- @echo " ../doc/auto/latex/deal_II_technical_reference.ps"
+ @echo " $D/doc/auto/latex/deal_II_technical_reference.ps"
@echo =======================================================
@echo
@echo
tex-doc:
- cd ../doc/auto ; $(MAKE) latex/deal_II_technical_reference.tex
+ cd $D/doc/auto ; $(MAKE) latex/deal_II_technical_reference.tex
@echo
@echo
@echo =======================================================
@echo "The generated LaTeX file can be found here:"
- @echo " ../doc/auto/latex/deal_II_technical_reference.tex"
+ @echo " $D/doc/auto/latex/deal_II_technical_reference.tex"
@echo =======================================================
@echo
@echo
TODO:
- @cat ../base/Todo ../lac/Todo ../deal.II/Todo > TODO
- @grep //TODO ../base/include/*/*.h ../base/source/*.cc ../lac/include/*/*.h ../lac/source/*.cc ../deal.II/include/*/*.h ../deal.II/source/*/*.cc >> TODO
-# @grep \#TODO Makefile Make.g* Makefile.template ../*/source/Makefile ../*/Makefile >> TODO
+ @cat $D/base/Todo $D/lac/Todo $D/deal.II/Todo > TODO
+ @grep //TODO $D/base/include/*/*.h $D/base/source/*.cc $D/lac/include/*/*.h $D/lac/source/*.cc $D/deal.II/include/*/*.h $D/deal.II/source/*/*.cc >> TODO
+# @grep \#TODO Makefile Make.g* Makefile.template $D/*/source/Makefile $D/*/Makefile >> TODO
clean: clean-base clean-lac clean-dealII clean-doc
-rm TODO TAGS
clean-base:
- cd ../base ; $(MAKE) clean
+ cd $D/base ; $(MAKE) clean
clean-lac:
- cd ../lac ; $(MAKE) clean
+ cd $D/lac ; $(MAKE) clean
clean-dealII:
- cd ../deal.II ; $(MAKE) clean
+ cd $D/deal.II ; $(MAKE) clean
clean-doc:
- cd ../doc/auto ; $(MAKE) clean
+ cd $D/doc ; $(MAKE) clean
TAGS: $(filter-out %/forward-declarations.h, \
- $(shell echo ../base/source/*.cc ../base/include/*/*.h \
- ../lac/source/*.cc ../lac/include/*/*.h \
- ../deal.II/source/*/*.cc ../deal.II/include/*/*.h \
- ../tests/*/*.cc ../tests/*/*.h ))
+ $(shell echo $D/base/source/*.cc $D/base/include/*/*.h \
+ $D/lac/source/*.cc $D/lac/include/*/*.h \
+ $D/deal.II/source/*/*.cc $D/deal.II/include/*/*.h \
+ $D/tests/*/*.cc $D/tests/*/*.h ))
@etags $^
-.PHONY: base baseg lac lacg 1d 2d 3d 1dg 2dg 3dg all online-doc printable-doc tex-doc \
+.PHONY: base baseg lac lacg 1d 2d 3d 1dg 2dg 3dg all \
+ online-doc printable-doc tex-doc \
clean clean-base clean-lac clean-dealII clean-doc TAGS TODO
Information about deal.II
=========================
-Note: this is not yet finished, some information may still be missing
-though we hope that it is complete and correct.
-
1) Preliminaries:
------------------
+=================
In order to use the deal.II library (and its sublibraries /base and
/lac) you need to have the following programs installed:
- - A fairly complete C++ compiler. We use egcs1.1.2 but other
- compilers might work as well. egcs1.0 will not work, however.
- gcc2.95 works.
+ - A fairly complete C++ compiler. We use egcs1.1.2 and gcc2.95 but
+ other compilers might work as well. egcs1.0 will not work,
+ however.
- Perl: any Perl 5.x version should work.
- Make: we use GNU make, version 3.75. We also use GNU make 3.78
which has much better support for parallel builds, so you may
system. GNU make 3.77 had a serious flaw in the $(wildcard ...)
function which prevented us from compiling some parts of the
library (most of our Makefiles are fixed, though). Other make
- programs are not standardized and will quite surely fail to work.
+ programs (i.e. non-GNU flavours) are not standardized and will
+ quite surely fail to work.
- In case you want to generate the documentation from the header
files, you only need Perl installed.
- In case you want the printable documentation, however, you need
Doc++ and LaTeX installed. It is known that Doc++ version 3.3.13
is broken and generates invalid Tex, but 3.3.8 is ok.
- The library generates output in formats readable by GNUPLOT, GMV
- (general mesh viewer), AVS Explorer and directly to Encapsulated
- Postscript. GNUPLOT and Eps should be available almost everywhere,
- GMV is freely available for most Unix platforms. AVS is a
- commercial program available for most Unix flavours.
+ (general mesh viewer), AVS Explorer, Povray, and directly to
+ Encapsulated Postscript. GNUPLOT and a postscript viewer (for EPS)
+ should be available almost everywhere, GMV is freely available for
+ most Unix platforms. Povray is freely available for almost all
+ platforms. AVS is a commercial program available for most Unix
+ flavours.
Note that we have only tested the library under Unix (extensively
under SunOS and Linux). We believe that it should be possible with
-little effort to use it on other platforms as well. Note that if you
-didn't find your favourite graphics format above it is quite simple to
-add it to the list of supported ones (take a look at
-/base/include/base/data_out_base.h and /base/source/data_out_base.cc).
+little effort to use it on other platforms as well. In that case it
+may be necessary to change some settings in the configure.in script or
+in the file common/Make.global_options.in.
+
+In case you didn't find your favourite graphics format above it might
+be of interest that it is quite simple to add it to the list of
+supported ones (take a look at /base/include/base/data_out_base.h and
+/base/source/data_out_base.cc to see how output formats are
+implemented).
2) Installation:
-----------------
+================
The whole library usually comes as a .tar.gz file, that is a tarred
file archive which is compressed with gzip. After unpacking it with
gunzip and tar (or tar -xzf if you use GNU tar), you will find several
-subdirectories. Go to the /common subdirectory and type 'make', to
-obtain the following help (this output may change slightly over time,
-just try it):
+subdirectories. First run the script
+ ./configure
+which sets some paths and finds out what compiler you use. ./configure
+supports several flags which are discussed further down below. After
+configuring, go to the /common subdirectory and type 'make', to obtain
+the following help (this output may change slightly over time, just
+try it):
=========================================================================
=Global Makefile for the deal.II libraries =
To execute one of the commands, type 'make target-name'. Please note
that building all libraries in debug and optimized mode takes about an
hour on a Sun Ultra 450, so you may want to do this during lunchtime.
+
In case you have a multi-processor machine, you can call
'make PAR=-j4 target-name' to let make call multiple instances of the
compiler (in this case four). Since the make files are written in a
way to minimize cross-dependencies, this speeds up compilation by
about the factor given after '-j', at least if you have as many
-processors.
+processors. If you have GNU make 3.78 or higher, it is simpler to
+directly call 'make -j4 target-name'.
+
+
+2.1) Configuration options:
+---------------------------
+
+You can give several flags to ./configure:
3) Compiler flags:
-------------------
+==================
Since the ISO C++ standard is still quite new and compilers still
change a lot, you might need to provide special options for the
-compiler. You can do this by entering a value into the environment
-variable CXXFLAGS of your shell. An example for (t)csh is
-
-setenv CXXFLAGS '-option1 -option2 value'
-
-Bash-users will know what to do instead. These options then will be
-handed to the compiler and the linker during translation of the
-library and your programs.
+compiler. We have tried to automatize this process using the
+./configure script, but in case something is not as you want it,
+change the file common/Make.global_options.in and rerun ./configure in
+the top-level directory.
-If you work on Linux, you need to *remove* the flag -fno-vtable-thunks
-from the file /common/Make.global-options to allow for proper
-compilations. If you forget to do so, you will get linker errors about
-missing vtable symbols.
+We would like to hear about necessary modifications so that we can
+include them into the distribution.
4) Problems, questions, further information:
---------------------------------------------
+============================================
Feel free to ask if you have any problems with deal.II. If a
question is of general interest, you may want to use our mailing list,
which can be reached at
name for this.
5) License:
------------
+===========
Note that we have not yet fully finished the license under which we
will distribute the library. However, we will keep to the following
principles:
--- /dev/null
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multithreading Set compiler flags to allow for multithreaded programs"
+ac_help="$ac_help
+ --with-multithreading=DIR use DIR as path to the ACE library"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=base
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+
+DEAL2_DIR=`pwd`
+
+
+
+for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:533: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CXX="$ac_prog"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+ echo "$ac_t""$CXX" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX="gcc"
+
+
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:565: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 576 "configure"
+#include "confdefs.h"
+
+int main(){return(0);}
+EOF
+if { (eval echo configure:581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cxx_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+ ac_cv_prog_cxx_cross=no
+ else
+ ac_cv_prog_cxx_cross=yes
+ fi
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_prog_cxx_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
+if test $ac_cv_prog_cxx_works = no; then
+ { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:607: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
+cross_compiling=$ac_cv_prog_cxx_cross
+
+echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+echo "configure:612: checking whether we are using GNU C++" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.C <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:621: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gxx=yes
+else
+ ac_cv_prog_gxx=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+
+if test $ac_cv_prog_gxx = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+
+ac_test_CXXFLAGS="${CXXFLAGS+set}"
+ac_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS=
+echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+echo "configure:640: checking whether ${CXX-g++} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+ ac_cv_prog_cxx_g=yes
+else
+ ac_cv_prog_cxx_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS="$ac_save_CXXFLAGS"
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+
+if test $GXX = yes ; then
+ # find out the right version
+ GXX_VERSION_STRING=`($CXX -v 2>&1) | grep "gcc version"`
+ if test -n `echo $GCC_VERSION_STRING | grep egcs-1.1` ; then
+ echo "$ac_t""Found egcs-1.1" 1>&6
+ GXX_VERSION=egcs1.1
+ else
+ GXX_VERSION=other
+ fi
+else
+ { echo "configure: error: No configuration options for this C++ compiler
+ supported at present" 1>&2; exit 1; }
+ exit 1
+fi
+
+
+
+
+OS=`uname`
+
+
+
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:696: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$PERL" in
+ /*)
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_PERL="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac
+fi
+PERL="$ac_cv_path_PERL"
+if test -n "$PERL"; then
+ echo "$ac_t""$PERL" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Check whether --enable-multithreading or --disable-multithreading was given.
+if test "${enable_multithreading+set}" = set; then
+ enableval="$enable_multithreading"
+ enablemultithreading=$enableval
+else
+ enablemultithreading=no
+fi
+
+
+
+
+# Check whether --with-multithreading or --without-multithreading was given.
+if test "${with_multithreading+set}" = set; then
+ withval="$with_multithreading"
+ withmultithreading=$withval
+else
+ withmultithreading=no
+fi
+
+if test $withmultithreading != no ; then
+ echo $ac_n "checking checking for ACE""... $ac_c" 1>&6
+echo "configure:751: checking checking for ACE" >&5
+ if test -d $withmultithreading ; then
+ echo "$ac_t""found" 1>&6
+ else
+ echo "$ac_t""not found" 1>&6
+ { echo "configure: error: Invalid ACE path" 1>&2; exit 1; }
+ fi
+fi
+
+
+
+trap '' 1 2 15
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+
+trap 'rm -fr `echo "common/Make.global_options" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@DEAL2_DIR@%$DEAL2_DIR%g
+s%@CXX@%$CXX%g
+s%@GXX_VERSION@%$GXX_VERSION%g
+s%@OS@%$OS%g
+s%@PERL@%$PERL%g
+s%@enablemultithreading@%$enablemultithreading%g
+s%@withmultithreading@%$withmultithreading%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"common/Make.global_options"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
+
+
+
--- /dev/null
+dnl $Id$
+dnl
+dnl This is the input for the ./configure script of the deal.II
+dnl libraries. The only output file is common/Make.global_options
+dnl where all options and pathes are stored.
+dnl
+dnl
+dnl author: Wolfgang Bangerth, 1999
+dnl
+
+
+define([AC_CACHE_LOAD], )dnl
+define([AC_CACHE_SAVE], )dnl
+AC_INIT(base)
+
+
+dnl Set the path to the deal.II libraries to `pwd`
+DEAL2_DIR=`pwd`
+AC_SUBST(DEAL2_DIR)
+
+
+dnl Find the right C++ compiler. This modifies the following
+dnl variables: CXX, GXX, CXXFLAGS
+AC_PROG_CXX
+if test $GXX = yes ; then
+ # find out the right version
+ GXX_VERSION_STRING=`($CXX -v 2>&1) | grep "gcc version"`
+ if test -n `echo $GCC_VERSION_STRING | grep egcs-1.1` ; then
+ AC_MSG_RESULT(Found egcs-1.1)
+ GXX_VERSION=egcs1.1
+ else
+ GXX_VERSION=other
+ fi
+else
+ AC_MSG_ERROR(No configuration options for this C++ compiler
+ supported at present)
+ exit 1
+fi
+AC_SUBST(GXX_VERSION)
+
+
+
+dnl Check for the operating system
+OS=`uname`
+AC_SUBST(OS)
+
+
+dnl Find path to perl
+AC_PATH_PROG(PERL, perl)
+
+
+dnl Test whether multithreading support is requested. This
+dnl does not tell deal.II to actually use it, but the
+dnl compiler flags are set to allow for it,
+AC_ARG_ENABLE(multithreading,
+[ --enable-multithreading Set compiler flags to allow for multithreaded programs],
+ enablemultithreading=$enableval,
+ enablemultithreading=no)
+AC_SUBST(enablemultithreading)
+
+
+dnl Test whether the user wants the multithread code in the
+dnl library to be used
+AC_ARG_WITH(multithreading,
+[ --with-multithreading=DIR use DIR as path to the ACE library],
+ withmultithreading=$withval,
+ withmultithreading=no)
+if test $withmultithreading != no ; then
+ AC_MSG_CHECKING(checking for ACE)
+ if test -d $withmultithreading ; then
+ AC_MSG_RESULT(found)
+ else
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR(Invalid ACE path)
+ fi
+fi
+AC_SUBST(withmultithreading)
+
+
+dnl Write output to the global options file
+AC_OUTPUT(common/Make.global_options)
+
+
+
#of this file.
lib/Makefile.dep: $(cc-files) $(forward-declarations) $(h-files) Makefile
@echo ============================ Remaking Makefile
- @perl $D/common/scripts/make_dependencies.pl $(INCLUDE) $(cc-files) \
- | perl -p -e 's!^lib/(g?o/.*):!lib/DIM_PLACEHOLDER/$$1:!g;' \
- | perl -pe 's!(\.g?o):!_DIM_PLACEHOLDER$$1:!g;' \
- | perl -pe 's!^lib/DIM_PLACEHOLDER/(.*):!lib/1d/$$1 lib/2d/$$1 lib/3d/$$1:!g;'\
- | perl -pe 's!(lib/1d/[^ ]+)_DIM_PLACEHOLDER!$$1_1d!g;' \
- | perl -pe 's!(lib/2d/[^ ]+)_DIM_PLACEHOLDER!$$1_2d!g;' \
- | perl -pe 's!(lib/3d/[^ ]+)_DIM_PLACEHOLDER!$$1_3d!g;' \
+ @$(PERL) $D/common/scripts/make_dependencies.pl $(INCLUDE) $(cc-files) \
+ | $(PERL) -p -e 's!^lib/(g?o/.*):!lib/DIM_PLACEHOLDER/$$1:!g;' \
+ | $(PERL) -pe 's!(\.g?o):!_DIM_PLACEHOLDER$$1:!g;' \
+ | $(PERL) -pe 's!^lib/DIM_PLACEHOLDER/(.*):!lib/1d/$$1 lib/2d/$$1 lib/3d/$$1:!g;'\
+ | $(PERL) -pe 's!(lib/1d/[^ ]+)_DIM_PLACEHOLDER!$$1_1d!g;' \
+ | $(PERL) -pe 's!(lib/2d/[^ ]+)_DIM_PLACEHOLDER!$$1_2d!g;' \
+ | $(PERL) -pe 's!(lib/3d/[^ ]+)_DIM_PLACEHOLDER!$$1_3d!g;' \
> lib/Makefile.dep
# include all the dependencies
##########################################################################
+# include global paths and variables
+include ../../common/Make.global_options
+
# make rule names to rerun the generation of a library
kdoc.library-files.rerun = $(kdoc.library-files:%.kdoc=%.kdoc.rerun)
#################################################################################
cvslog:
- cd ../.. ; perl doc/auto/scripts/cvs2html -o doc/auto/cvs-backlog/newdeal -a -k -D 100
+ cd ../.. ; $(PERL) doc/auto/scripts/cvs2html -o doc/auto/cvs-backlog/newdeal -a -k -D 100
# since the rule is a rather complex one, involving the computation of
# variable names, here is the stripped down version for the base library:
# kdoc/base.kdoc:
-# @cd kdoc ; perl $(KDOCFLAGS) -dbase \
+# @cd kdoc ; $(PERL) $(KDOCFLAGS) -dbase \
# base $(kdoc.base:../..%=../../..%)
$(kdoc.library-files):
@cd kdoc ; \
- perl $(KDOCFLAGS) \
+ $(PERL) $(KDOCFLAGS) \
-d$(subst .kdoc,,$(subst kdoc/,,$@)) \
$(subst .kdoc,,$(subst kdoc/,,$@)) \
$($(subst /,.,$(subst .kdoc,,$@)):../..%=../../..%)
# similar to the above one, but includes the other libraries
$(kdoc.library-files.rerun):
@cd kdoc ; \
- perl $(KDOCFLAGS) $(kdoc.library-files:kdoc/%.kdoc=-l%) \
+ $(PERL) $(KDOCFLAGS) $(kdoc.library-files:kdoc/%.kdoc=-l%) \
-d$(subst .kdoc.rerun,,$(subst kdoc/,,$@)) \
$(subst .kdoc.rerun,,$(subst kdoc/,,$@)) \
$($(subst /,.,$(subst .kdoc.rerun,,$@)):../..%=../../..%)
kdoc/names.html: $(kdoc.libray-files)
- @cd kdoc ; perl ../scripts/index.pl *.kdoc > names.html
+ @cd kdoc ; $(PERL) ../scripts/index.pl *.kdoc > names.html
# generate the input file for doc++
%.doc++: Makefile
@echo $(kdoc.$(subst .doc++,,$(subst latex/,,$@))) | \
- perl -pi -e 's# #\n#g; s#\.\./\.\./#//\@Include: ../../../#g;' > \
+ $(PERL) -pi -e 's# #\n#g; s#\.\./\.\./#//\@Include: ../../../#g;' > \
$@
# file dependent
%.tex1: %.tex
cat $< | \
- perl scripts/process-tex | \
- perl -pi -e 's/cxx\./$(basename $(notdir $@)).cxx./g;' > $@
+ $(PERL) scripts/process-tex | \
+ $(PERL) -pi -e 's/cxx\./$(basename $(notdir $@)).cxx./g;' > $@
latex/deal_II_technical_reference.tex: latex/base.tex1 latex/lac.tex1 latex/dealII.tex1
@cat latex/header.tex > $@
# but it is hard to compute them from the '%'-sign used in the rule
doc++/%/index.html: %.doc++
cp $^ $(patsubst %/index.html,%,$@)
- cd $(patsubst %/index.html,%,$@) ; perl -pi -e 's!: ../!: ../../!g;' $^
+ cd $(patsubst %/index.html,%,$@) ; $(PERL) -pi -e 's!: ../!: ../../!g;' $^
cd $(patsubst %/index.html,%,$@) ; $(DOCPP) -p -H -u -G -S -a $^
cd $(patsubst %/index.html,%,$@) ; rm $^
rm $^
# $Id$
# Create proper HTML output from the different example programs
-example-directories = $(shell echo ../../../deal.II/examples/step-by-step/step-*)
+# include paths and global variables
+include ../../../common/Make.global_options
+
+example-directories = $(shell echo $D/deal.II/examples/step-by-step/step-*)
example-names = $(notdir $(example-directories))
example-htmls = $(addsuffix .html,$(example-names))
@cat step-by-step.header > $@
@cat $(@:.html=.intro) >> $@
@cat ../../../deal.II/examples/step-by-step/$(@:.html=)/$(@:.html=.cc) \
- | perl program2html \
+ | $(PERL) program2html \
>> $@
@cat $(@:.html=.results) >> $@
@cat ../../../deal.II/examples/step-by-step/$(@:.html=)/$(@:.html=.cc) \
- | perl program2plain \
+ | $(PERL) program2plain \
>> $@
@cat step-by-step.foot >> $@
#of this file.
lib/Makefile.dep: $(cc-files) $(forward-declarations) $(h-files) Makefile
@echo ============================ Remaking Makefile
- @perl $D/common/scripts/make_dependencies.pl $(INCLUDE) $(cc-files) \
+ @$(PERL) $D/common/scripts/make_dependencies.pl $(INCLUDE) $(cc-files) \
> lib/Makefile.dep
# include all the dependencies
in the sparse matrix: it is subscribed to twice (explicitely and
through the subscriptor); the explicit subscription is redundant,
but I don't have the time to look into that now.
+
+
+The fullmatrix should, as all other containers, acquire no memory
+ by default construction, i.e. the default argument for the
+ constructor should be zero rather than one. init then would
+ need to release all memory on request.
+