From 3e9b24daacb1c66d2fc7b0523cde91c289e75325 Mon Sep 17 00:00:00 2001 From: wolf Date: Sun, 12 Dec 1999 13:13:34 +0000 Subject: [PATCH] More configuration stuff git-svn-id: https://svn.dealii.org/trunk@2044 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/README | 2 + deal.II/common/README | 155 ------------------ deal.II/deal.II/Makefile | 14 +- deal.II/doc/readme.html | 337 +++++++++++++++++++++++++++++++++++++++ deal.II/lac/Makefile | 4 +- 5 files changed, 348 insertions(+), 164 deletions(-) create mode 100644 deal.II/README delete mode 100644 deal.II/common/README create mode 100644 deal.II/doc/readme.html diff --git a/deal.II/README b/deal.II/README new file mode 100644 index 0000000000..3d5c4ef15c --- /dev/null +++ b/deal.II/README @@ -0,0 +1,2 @@ +For installation instructions and further information, +please see doc/readme.html. diff --git a/deal.II/common/README b/deal.II/common/README deleted file mode 100644 index e00bc7c91d..0000000000 --- a/deal.II/common/README +++ /dev/null @@ -1,155 +0,0 @@ - -Information about deal.II -========================= - -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 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 - want to consider this version if you have a multiprocessor - 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 (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, 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. 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. 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 = -========================================================================= -=Possible Targets = -= (1) baseg lacg: debug libraries base and lac = -= (2) base lac: debug and optimized libraries base and lac = -= (3) 1dg 2dg 3dg: (1) and deal.II debug version for specified dimension= -= (4) 1d 2d 3d: (2) and deal.II for specified dimension = -= (5) all: 1d, 2d and 3d = -= (6) online-doc: generate the documentation in HTML format = -= (7) printable-doc: generate the documentation in Postscript format. = -= You need to have Doc++ and LaTeX installed for that. = -= (8) tex-doc: same, but only generate the LaTeX file, don't compile it = -= (9) clean: removes all object files, libraries, etc in all subdirs = -= = -=The following additional parameters may be specified to make: = -= PAR=-jn where n is the number of parallel processes for parallel = -= builds. = -========================================================================= - -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. 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. 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. - -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 - deal@iwr.uni-heidelberg.de -For specific problems, send email to either - wolfgang.bangerth@iwr.uni-heidelberg.de -or - kanschat@iwr.uni-heidelberg.de - -We are interested in any feedback, whether positive or negative, in -order to determine the directions of future work on the library. We -are also very much interested in incorporating any work and bug fixes -by third parties into the library; you will of course be credited by -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: -- The library comes free of charge for non-commercial users, but we - keep a copyright in it. We will grant everyone access to the library - but we would like to ask you to not further distribute it yourself. - This is to keep an overview over the number of users and their - background. -- The libraries may not be stripped of our copyright and shall not be - used in commercial projects without our written prior consent. -- Scientific publications presenting results obtained with these - libraries shall state the names of the library and their authors - (at present Wolfgang Bangerth and Guido Kanschat). There will be future - articles about the library. You will be notified of their appearance. - Afterwards, you are kindly required to cite these articles in your - publications. - -Note: Since our institute is evaluated at regular intervals, we are -interested in documenting the use of the programs and libraries we -create. This is the reason for not allowing to freely re-distribute -them. We would also be interested in collecting publications with -results obtained with the aid of these libraries and would therefore -like to ask you to drop us a note about every such publication. Your -publication will then be listed on the DEAL homepage. You see, it works -both ways. diff --git a/deal.II/deal.II/Makefile b/deal.II/deal.II/Makefile index 18db9582fa..5f92bd7f32 100644 --- a/deal.II/deal.II/Makefile +++ b/deal.II/deal.II/Makefile @@ -52,29 +52,29 @@ include $D/common/Make.global_options # listed immediately below lib/1d/go/%.go : @echo =====deal.II====1d====debug========= $(<:source/%=%) - @$(CXX) $(CXXFLAGS) $(CXXFLAGS.g) -Ddeal_II_dimension=1 -c $< -o $@ + @$(CXX) $(CXXFLAGS.g) -Ddeal_II_dimension=1 -c $< -o $@ lib/1d/o/%.o : @echo =====deal.II====1d====optimized===== $(<:source/%=%) - @$(CXX) $(CXXFLAGS) $(CXXFLAGS.o) -Ddeal_II_dimension=1 -c $< -o $@ + @$(CXX) $(CXXFLAGS.o) -Ddeal_II_dimension=1 -c $< -o $@ lib/2d/go/%.go : @echo =====deal.II====2d====debug========= $(<:source/%=%) - @$(CXX) $(CXXFLAGS) $(CXXFLAGS.g) -Ddeal_II_dimension=2 -c $< -o $@ + @$(CXX) $(CXXFLAGS.g) -Ddeal_II_dimension=2 -c $< -o $@ lib/2d/o/%.o : @echo =====deal.II====2d====optimized===== $(<:source/%=%) - @$(CXX) $(CXXFLAGS) $(CXXFLAGS.o) -Ddeal_II_dimension=2 -c $< -o $@ + @$(CXX) $(CXXFLAGS.o) -Ddeal_II_dimension=2 -c $< -o $@ lib/3d/go/%.go : @echo =====deal.II====3d====debug========= $(<:source/%=%) - @$(CXX) $(CXXFLAGS) $(CXXFLAGS.g) -Ddeal_II_dimension=3 -c $< -o $@ + @$(CXX) $(CXXFLAGS.g) -Ddeal_II_dimension=3 -c $< -o $@ lib/3d/o/%.o : @echo =====deal.II====3d====optimized===== $(<:source/%=%) - @$(CXX) $(CXXFLAGS) $(CXXFLAGS.o) -Ddeal_II_dimension=3 -c $< -o $@ + @$(CXX) $(CXXFLAGS.o) -Ddeal_II_dimension=3 -c $< -o $@ # special rules for exceptional files lib/3d/o/q1_mapping.jacobians_3d.o: @echo =====deal.II====3d====opt==special== $(<:source/%=%) - @$(CXX) $(CXXFLAGS) $(filter-out -O2 -Wuninitialized,$(CXXFLAGS.o)) -Ddeal_II_dimension=3 -c $< -o $@ + @$(CXX) $(filter-out -O2 -Wuninitialized,$(CXXFLAGS.o)) -Ddeal_II_dimension=3 -c $< -o $@ # rules how to make the libraries themselves diff --git a/deal.II/doc/readme.html b/deal.II/doc/readme.html new file mode 100644 index 0000000000..3694ebff86 --- /dev/null +++ b/deal.II/doc/readme.html @@ -0,0 +1,337 @@ + + + +

Installation instructions and further information + for deal.II

+ + This document contains the following sections: + + + + + +

Prerequisites

+ + In order to use the deal.II library (and its sub-libraries /base + and /lac) you need to have the following programs installed: + + + 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. 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). + + + + +

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. 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                           =
+======================================================================
+=Possible Targets                                                    =
+=  baseg lacg: debug libraries base and lac                          =
+=  base lac: debug and optimized libraries base and lac              =
+=  1dg 2dg 3dg: (1) and deal.II debug version for specified dimension=
+=  1d 2d 3d: (2) and deal.II for specified dimension                 =
+=  all: base, lac 1d, 2d and 3d                                      =
+=  online-doc: generate the documentation in HTML format             =
+=  printable-doc: generate the documentation in Postscript format.   =
+=      You need to have Doc++ and LaTeX installed for that.          =
+=  tex-doc: same, but only generate the LaTeX file, don't compile it =
+=  TODO: create a TODO file from TODO lines in the source files      =
+=  TAGS: create a TAGS file from include and source files            =
+=  clean: removes all object files, libraries, etc in all subdirs    =
+=                                                                    =
+=The following additional parameters may be specified to make:       =
+=  PAR=-jn where n is the number of parallel processes for parallel  =
+=          builds. If you use GNU make 3.78 or higher, you can       =
+=          call 'make -jn' directly. This parameter is no more       =
+=          necessary then.                                           =
+======================================================================
+    
+ + To execute one of the commands, type 'make target-name'. Please + note that building all libraries in debug and optimized mode + presently 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. If you have GNU make 3.78 or higher, it is simpler to + directly call 'make -j4 target-name'. + +

+ + After 'make' has finished, you will have two sets of + libraries. The first consists of the files +

+ + For each library, there will also be another library with the + suffix .g.a instead of .a. The + difference between the two sets of libraries is the following: + + + +

Configuration options

+ + You can give several flags to ./configure: + + + +
+

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. We have tried to automatize this process using the + ./configure script at least for the gcc compilers we use, 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. + +

+ + We would like to hear about necessary modifications so that we can + include them into the distribution. + + + + +

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 + deal@iwr.uni-heidelberg.de. + +

+ + For specific problems, send email to either + Wolfgang Bangerth or + Guido Kanschat. + +

+ + We are interested in any feedback, whether positive or negative, + in order to determine the directions of future work on the + library. We are also very much interested in incorporating any + work and bug fixes by third parties into the library; you will of + course be credited by name for this. + + + + +

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: + + + + Note that since our institute is evaluated at regular intervals, + we are interested in documenting the use of the programs and + libraries we create. This is the reason for not allowing to freely + re-distribute them. We would also be interested in collecting + publications with results obtained with the aid of these libraries + and would therefore like to ask you to drop us a note about every + such publication. Your publication will then be listed on the DEAL + homepage. You see, it works both ways. + + +
+ +
+ The deal.II group
+

+ Last modified: $Date$ +

+ + + + diff --git a/deal.II/lac/Makefile b/deal.II/lac/Makefile index 04531f9d68..7cf8ab4c0e 100644 --- a/deal.II/lac/Makefile +++ b/deal.II/lac/Makefile @@ -26,10 +26,10 @@ include $D/common/Make.global_options # production rules lib/go/%.go : @echo =====lac==============debug========= $(