+++ /dev/null
-######################################################################
-# $Id$
-#
-# Copyright
-#
-######################################################################
-# Check the copyright line of a file against cvs log
-#
-# Call: perl copyright.pl <filename>
-######################################################################
-
-use strict;
-
-my $file = $ARGV[0];
-
-my @log = `cvs log $file`;
-my %years;
-
-foreach (@log)
-{
- next unless (m/^date: (\d\d\d\d)/);
- my $year = $1;
- $years{$year} = 1;
-}
-
-my $copystring;
-
-foreach (sort keys %years)
-{
- if ($copystring)
- {
- $copystring .= ", $_";
- } else {
- $copystring = "$_";
- }
-}
-
-my $copyreg = "Copyright \\(C\\) $copystring by the deal.II authors";
-$copystring = "Copyright (C) $copystring by the deal.II authors";
-
-my $found = 0;
-my $qpl = 0;
-my $ok = 0;
-
-while(<>)
-{
- next unless (m/(Copyright.*authors)/);
- my $copyfile = $1;
- $found = 1;
- if (m/$copyreg/)
- {
- $ok = 1;
- } else {
- $copyfile =~ s/\(/\\(/;
- $copyfile =~ s/\)/\\)/;
- print "perl -pi~ -e 's{$copyfile}{$copystring};' $file\n";
- }
-}
-
-# print "# OK: $copystring\n" if ($ok);
-
-print "# $file: no copyright found\n" unless ($found);
-
+++ /dev/null
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; $Id$
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;
-;; Emacs macros supporting deal.II programming
-;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(defun deal-indentation ()
-"Install the indentation offsets used in the deal.II source code.
-All contributions to the library should follow this indentation in
-order to maintain a common look and feel as well as avoiding
-unnecessary diffs in the archives.
-
-The function is intended as a part of the cc-mode-startup-fun hook."
-
- (setq c-echo-semantic-information-p t)
- (setq c-basic-offset 2)
- (c-set-offset 'string 0)
- (c-set-offset 'defun-open 0)
- (c-set-offset 'defun-close 0)
- (c-set-offset 'defun-block-intro '+)
- (c-set-offset 'class-open 0)
- (c-set-offset 'class-close 0)
- (c-set-offset 'inline-open '+)
- (c-set-offset 'inline-close 0)
- (c-set-offset 'knr-argdecl-intro '+)
- (c-set-offset 'knr-argdecl 0)
- (c-set-offset 'topmost-intro 0)
- (c-set-offset 'topmost-intro-cont 0)
- (c-set-offset 'member-init-intro 16)
- (c-set-offset 'member-init-cont 0)
- (c-set-offset 'inher-intro '+)
- (c-set-offset 'inher-cont 'c-lineup-multi-inher)
- (c-set-offset 'block-close 0)
- (c-set-offset 'brace-list-open 0)
- (c-set-offset 'brace-list-close 0)
- (c-set-offset 'brace-list-intro 6)
- (c-set-offset 'brace-list-entry 0)
- (c-set-offset 'statement 'c-lineup-runin-statements)
- (c-set-offset 'statement-cont 'c-lineup-math)
- (c-set-offset 'statement-block-intro '+)
- (c-set-offset 'statement-case-intro 6)
- (c-set-offset 'statement-case-open 0)
- (c-set-offset 'substatement '+)
- (c-set-offset 'substatement-open '+)
- (c-set-offset 'case-label '+)
- (c-set-offset 'access-label '-)
- (c-set-offset 'label 2)
- (c-set-offset 'do-while-closure 0)
- (c-set-offset 'else-clause 0)
- (c-set-offset 'arglist-intro '+)
- (c-set-offset 'arglist-cont 0)
- (c-set-offset 'arglist-cont-nonempty 'c-lineup-arglist)
- (c-set-offset 'arglist-close 0)
- (c-set-offset 'stream-op 'c-lineup-streamop)
- (c-set-offset 'inclass '++)
- (c-set-offset 'cpp-macro -1000)
- (c-set-offset 'friend 0)
-
- (c-set-offset 'comment-intro 'c-lineup-comment)
- (c-set-offset 'c 'c-lineup-C-comments)
-
- (c-set-offset 'objc-method-intro -1000)
- (c-set-offset 'objc-method-args-cont 'c-lineup-ObjC-method-args)
- (c-set-offset 'objc-method-call-cont 'c-lineup-ObjC-method-call)
-
- (setq c-comment-only-line-offset 33)
- (setq c-hanging-comment-ender-p nil)
- (setq c-hanging-comment-starter-p nil)
-
- (setq c-tab-always-indent t)
-)
-
-(defun deal-newline ()
-"Setup emacs to automatically insert newlines and indentation before
-and after semicolon or braces, like it is done in the deal.II coding style."
- (define-key c++-mode-map "\C-m" 'newline-and-indent)
- (setq c-hanging-braces-alist '((defun-open . (before after))
- (defun-close . (before after))
- (class-open . (before after))
- (class-close . (after))
- (inline-open . (before after))
- (inline-close . (before after))
- (block-open . (before after))
- (block-close . (after))
- (brace-list-open . (nil))))
- (setq c-hanging-colons-alist '((member-init-intro . (after))
- (inher-intro . (after))
- (label . (after))
- (case-label . (after))
- (access-label . (after))))
- (setq c-cleanup-list '(empty-defun-braces
- defun-close-semi
- list-close-comma
- scope-operator))
- (setq c-default-macroize-column 65)
-)
-
-(provide 'dealmacros)
+++ /dev/null
-#!/bin/bash
-# $Id$
-
-######################################################################
-#
-# Compare the file $1/output with files in $1/cmp
-#
-# Upon success, store the name of the successful file in $1/cmp
-# in the file $1/OK
-#
-#
-# This is a possible replacement of the hardcoded hierarchies in the
-# tests directory.
-######################################################################
-
-# Process command line arguments.
-# $1 is the name of the test.
-#
-# options may be
-# -v for verbose output of diff
-# -y for side-by-side diff
-# -R for no recursion
-
-diffout="/dev/null"
-diffopt=""
-result=""
-okname=""
-recurse="true"
-
-for arg in $* ; do
- if test "x$arg" = "x-v" ; then diffout="/dev/stdout" ; fi
- if test "x$arg" = "x-y" ; then diffopt="-y" ; fi
- if test "x$arg" = "x-R" ; then recurse="false" ; fi
-done
-
-# First, we check if $1/OK exists. If so, it hopefully contains the
-# name of the successful comparison file in $1/cmp
-
-if test -r $1/OK; then
- okname=`cat $1/OK`
- if test "x$okname" != "x" ; then
- result=" $okname"
- if diff $diffopt $1/output $1/cmp/$okname > $diffout ; then
- touch $1/OK
- echo "$result"
- exit 0 ;
- else
- echo " $1/cmp/$okname ";
- fi
- fi
-fi
-
-# rm -f $1/OK
-
-# If this round failed, check all files in this directory
-# If successful, write the name into $1/OK
-if test "recurse" == "true" ; then
- echo "$result"
- exit 1;
-fi
-
-for file in `cd $1/cmp ; ls` ; do
- if test "$diffout" != "/dev/null" ; then
- echo
- echo "################### $1/cmp/$file" > $diffout
- fi
- if test -f $1/cmp/$file ; then
- result="$result $file"
- if diff $diffopt $1/output $1/cmp/$file > $diffout ; then
- echo $file > $1/OK
- echo "$result"
- exit 0 ;
- fi
- fi
-done
-
-# All files failed
-
-echo "$result"
-exit 1
-
+++ /dev/null
-# call this script with a list of files it shall process for
-# class and struct declarations.
-
-
-#fill list of files to be processed
-while ($ARGV[0]) {
- @input_files = (@input_files, shift);
-}
-
-
-# generate a guard for the file to disallow multiple inclusion
-$guard = `pwd`;
-# in case the string gets longer than the number of significant
-# positions for the preprocessor is, it is safer to use the
-# last parts of the string fist. therefore, split the string
-# at the slashes and assemble it again backwards
-$guard = join("/", reverse(split(/\//, $guard)));
-$guard =~ s![^\w]!_!g;
-$guard .= "__guard";
-print "#ifndef $guard\n";
-print "#define $guard\n";
-print "\n";
-
-print "/* this file is automatically generated from the Makefile; do not\n";
-print " * change it by hand. */\n";
-print "\n\n";
-
-foreach $file (@input_files) {
- parse_class_declarations ($file);
-};
-
-print "\n\n";
-print "#endif // $guard\n";
-
-
-
-
-sub parse_class_declarations {
- local ($filename) = $_[0];
-
- open (FILE, $filename);
- while (<FILE>) {
- # if this is continued line, then strip the backslash and join
- # it with the following one as well
- while ( /\\$/ ) {
- $_ =~ s/\\$//;
- $_ = $_ . " " . <FILE>;
- }
-
- # if the lines contains a "template" at the
- # beginning and no semicolon at the end: join it
- # with the next line.
- if ( /^\s*template/ && !/;\s*$/ ) {
- # if this is a multiline template, then join following lines as well
- # find out by looking at the last char of the line
- while ( ! />\s*$/ ) {
- # more concise check: find out whether the number of '<' is
- # not equal to the number of '>'
- my ( $tmp1, $tmp2 ) = ($_, $_);
- $tmp1 =~ s/[^<]//g;
- $tmp2 =~ s/[^>]//g;
- if ( length ($tmp1) == length ($tmp2) ) {
- last;
- }
- else
- {
- s/\n//;
- $_ = $_ . " " . <FILE>;
- s/ \s+/ /g;
- }
- }
- s/\n//;
- s/ \s+/ /g;
- $_ = $_ . " " . <FILE>;
- }
-
- if ( /^\s*((template\s*<
- (
- ([-\w,_=:\s] |
- <([-\w_,=:\s])+> )*
- )>\s*)?
- (class|struct))(.*)/x ) {
- # this is the declaration of a class, possibly a template
- $basepart = $1;
- $rest = $7;
-
- # test whether it is a forward declaration or something else.
- # if it is a forward declaration, then skip it, as it must
- # be declared somewhere else properly
- # (note that $rest contains the name of the class and what
- # comes after that)
- if ( $rest =~ /;\s*$/ ) {
- next;
- }
-
- # first extract the name of the class
- $rest =~ /([\w_]+(\s*<(([-\w,_\s]|<([-\w,\s])+>)+)>)?)(.*)/;
-
- $name = $1;
- $rest = $6;
-
- # we look for declarations, where after the name comes a colon
- # or an open-brace, maybe also a semicolon or just nothing
- #
- # the colon might be of an inheritance list, but we do not
- # want it to come from a nested class declaration
- if (($rest =~ /^\s*([\{;]|:[^:])/) || ($rest =~ /^\s*$/)) {
- $declaration = $basepart . " " . $name;
- # strip double spaces etc.
- $declaration =~ s/\s\s+/ /g;
- $declaration =~ s/^\s+//g;
- $declaration =~ s/\s+$//g;
-
- # strip default template parameters
- while ( $declaration =~ s/<(.*)=\s*[-\w,_:\s]+(<[^.]*>)?(.*)>/<$1 $3 > / ) {
- }
-
- # impose a negativ-list of names we do not want to
- # have in this file. this is due to a compiler bug in
- # egcs 1.1.2, which does not gracefully handle local
- # template classes if their name is globally defined,
- # for example
- #
- # template <int dim> struct Y;
- # struct X {template <int dim> struct Y{}; };
- # X::Y<1> y;
- #
- # does not work. So we filter out these classes at
- # present. A better way would certainly be to only
- # allow those classes into the forward-declarations.h
- # file that are global, but that would mean parsing
- # the include files instead of just searching for
- # small bits...
- if ( ! ($declaration =~ /EpsFlags|Patch|Mem_Fun_Data|Fun_Data/ ))
- {
- print $declaration, ";\n";
- }
- }
- }
- }
-}
+++ /dev/null
-# $Id$
-
-# this used to be a whole perl script, but it has been superceded by a
-# program written in C++ since it was too slow. if someone is still
-# using the perl script, simply forward all actions to the C++
-# executable
-#
-# since the perl script is not usually called from the directory which
-# it is in, we need to have the path to the C++ executable. Autoconf
-# does this for us upon configuration time.
-print `@prefix@/common/scripts/make_dependencies @ARGV`
+++ /dev/null
-######################################################################
-# creates both tar files (source and documentation). call this script
-# in an otherwise empty directory as follows:
-#
-# bash make_tarfile.sh 6 0 0
-#
-# to generate the tar files for release 6.0.0
-#
-######################################################################
-
-MAJOR=$1
-MINOR=$2
-PATCH=$3
-
-svn export http://www.dealii.org/svn/dealii/tags/Version-$MAJOR-$MINOR-$PATCH/deal.II
-
-# Generate distribution tarfile
-
-tar czf deal.II-$MAJOR.$MINOR.$PATCH.tar.gz deal.II
-
-# Generate stripped tarfile
-
-mv deal.II/doc deal.II/examples .
-tar czf deal.nodoc-$MAJOR.$MINOR.$PATCH.tar.gz deal.II
-mv doc examples deal.II
-
-# Generate documentation
-
-cd deal.II
-./configure --with-umfpack --without-petsc --without-trilinos
-make online-doc
-cd ..
-tar czf deal.doc-$MAJOR.$MINOR.$PATCH.tar.gz deal.II/doc
-
+++ /dev/null
-#!@PERL@
-
-while(<>)
-{
- s#@prefix@/?#\n#;
- s#(.*)(TODO:?)(\[[^\]]+\])?#\3 \1\2\3#i;
- s#\s*//\s*TODO:?\s*(\[[^\]]+\])?:?\s*#\n\1 #i;
- print;
-}
+++ /dev/null
-#!/bin/sh
-# $Id$
-# author: Ralf Hartmann, 2004
-
-
-echo Running `pwd`/minimize_boost
-
-# path of the (original) boost library, e.g.
-O=/home/rhartman/boost/boost_1_33_1
-# directory of the deal.II library
-Dtmp=`pwd`/../..
-cd $Dtmp && \
-D=`pwd`
-# minimized boost library in deal.II
-B=$D/contrib/boost/include
-
-# when following files compile we assume that the whole library compiles
-F="$D/lib/base/data_out_base.g.o $D/lib/base/polynomial.g.o $D/lib/base/subscriptor.g.o $D/lib/base/thread_management.g.o"
-
-######################################################################
-# Before using this script:
-# - set include-path-contrib-boost=$O in common/Make.global_options
-# and start compiling. After the Makefile.dep files are produced the
-# compilation can be stopped
-# - set back to include-path-contrib-boost=$D/contrib/boost/include
-# - add 2>&1 to CXXFLAGS.g in common/Make.global_options
-# - in lines 116... include compiler specific grep and perl commands
-# which extract the names of missing boost include files from stderr
-# of the compiler. This is already implemented for gcc and MIPSPro7.4
-#
-# Based on a full (original) boost distribution at $O this script
-# creates a boost directory at $B which includes the minimal but
-# complete set of boost files needed for the deal.II library to be
-# compiled on the current platform and compiler.
-#
-# For the case, that the $B/boost directory already exists all needed
-# boost files are updated in $B. No files in $B are removed!
-#
-# Output of this script:
-# $B/dirs_start.txt all directories which exist at start
-# $B/dirs_end.txt all directories which exist at end
-# $B/files_start.txt all files which exist at start
-# $B/files_end.txt all files which exist at end
-#
-# depending on the behaviour of the `find' command following files
-# might not include what they promise to:
-# $B/dirs_new.txt: all directories which were newly created
-# $B/files_new.txt: all files which were added to $B
-# $B/dirs_notneeded.txt: all directories which (on this platform
-# and compiler) weren't needed
-# $B/files_notneeded.txt: all files which (on this platform
-# and compiler) weren't needed
-#
-# Not yet implemented: version update of boost
-######################################################################
-
-
-# get versions:
-if test -f $B/boost/version.hpp; then
- Bversion=`grep "define BOOST_VERSION " $B/boost/version.hpp | perl -p -e 's/.define BOOST_VERSION //g;'`
-else
- Bversion=none
-fi
-if test -f $O/boost/version.hpp; then
- Oversion=`grep "define BOOST_VERSION " $O/boost/version.hpp | perl -p -e 's/.define BOOST_VERSION //g;'`
-fi
-
-# output paths and versions
-if test -d $O; then
- echo "boost (version $Oversion) library path:"
- echo " $O"
-else
- echo "Error (Line 9)"
- echo "Path of original boost library not set!"
- exit
-fi
-echo "deal.II library path:"
-echo " $D"
-echo "path of boost (version $Bversion) in deal.II:"
-echo " $B"
-echo
-
-# version controls:
-if test $Oversion -eq $Bversion; then
- echo "version numbers match"
-elif test $Oversion -lt $Bversion; then
- echo "Error: deal.II already uses a higher version of boost"
- exit
-elif test $Oversion -gt $Bversion; then
- echo "Updating $B/boost"
- echo "from boost version $Bversion to $Oversion ..."
-elif [ $Bversion = "none" ]; then
- echo "There is currently no version of boost in deal.II"
-fi
-
-# If there is already a boost directory:
-# 1. take inventory, which will be compared with the inventory at the end
-# 2. move the boost directory out of the way
-cd $B && find boost -type d > $B/dirs_start.txt
-cd $B && find boost -type f > $B/files_start.txt
-if test -d $B/boost; then
- mv boost boost._bak
-fi
-
-# Create all directories and subdirectories
-echo Creating subdirectories
-cd $O && find boost -type d > $B/dirs.txt
-cd $B && mkdir `cat dirs.txt`
-rm $B/dirs.txt
-
-# make sure that while loop below starts
-echo irgendwas > $B/files.txt
-
-# make the base library and cp all needed boost files from $O to $B
-# redo this until no boost file is missing
-while test -s $B/files.txt; do
- # remove the object files in order to force recompilation
- cd $D/lib && rm -f libbase.g.so
- cd $D/lib && rm -f $F
- echo "Recompile..."
- # recompile and keep track of missing boost files
- # create files.txt which includes a list of all missing boost files
-# CHANGE FOLLOWING TWO LINES ACCORDING TO THE OUTPUT OF YOUR SPECIFIC COMPILER
-# linux, gcc2.95.3:
- cd $D/base && make $F | grep "No such file" > $B/files.txt
- perl -pi -e 's&^[^ ]* ([^:]*): .*&$1&g;' $B/files.txt
-# sgi, MIPSpro7.4:
-# cd $D/base && gmake $F | grep "source file" > $B/files.txt
-# perl -pi -e 's&.*\"(.*)\".*&$1&g;' $B/files.txt
- # if there are some boost files missing
- if test -s $B/files.txt; then
- # collect them from the original boost directory
- cd $O && tar cvf $B/files.tar `cat $B/files.txt`
- # and write them into the minimized boost directory
- cd $B && tar xf files.tar
- fi
-done
-rm $B/files.tar $B/files.txt
-echo "Success: The files $F are now compiled"
-
-# remove empty directories
-echo Remove empty directories
-cd $B && find boost -type d > dirs.txt
-cp $B/dirs.txt $B/diff.txt
-while test -s $B/diff.txt; do
- cd $B && rmdir `cat dirs.txt`
- cp $B/dirs.txt $B/dirs.old.txt
- cd $B && find boost -type d > dirs.txt
- rm $B/diff.txt
- diff $B/dirs.old.txt $B/dirs.txt > $B/diff.txt
-done
-rm $B/dirs.old.txt $B/dirs.txt $B/diff.txt
-
-#copy version information
-cd $B && cp $O/boost/version.hpp boost
-#copy whole config directory
-cd $B && cp -r $O/boost/config boost
-
-echo "The $B/boost directory is now complete"
-
-# Take inventory of new boost directory
-cd $B && find boost -type d > $B/dirs_end.txt
-cd $B && find boost -type f > $B/files_end.txt
-
-# cp new boost files to old boost directory
-if test -d boost._bak; then
- cd $B && tar cf boost._tar boost
- cd $B && rm -rf boost; mv boost._bak boost
- cd $B && tar xf boost._tar
- cd $B && rm boost._tar
-fi
-
-# output of diffs
-echo "Output of log files in $B ..."
-echo " dirs_start.txt"
-echo " dirs_end.txt"
-echo " dirs_new.txt"
-cd $B && diff dirs_start.txt dirs_end.txt | \
- perl -p -e 's/^[^>].*$/LineToBeRemoved/g; s/^> //g;' | grep -v "LineToBeRemoved" > dirs_new.txt
-echo " dirs_notneeded.txt"
-cd $B && diff dirs_start.txt dirs_end.txt | \
- perl -p -e 's/^[^<].*$/LineToBeRemoved/g; s/^< //g;' | \
- grep -v "LineToBeRemoved" | grep -v CVS > dirs_notneeded.txt
-echo " files_start.txt"
-echo " files_end.txt"
-echo " files_new.txt"
-cd $B && diff files_start.txt files_end.txt | \
- perl -p -e 's/^[^>].*$/LineToBeRemoved/g; s/^> //g;' | grep -v "LineToBeRemoved" > files_new.txt
-echo " files_notneeded.txt"
-cd $B && diff files_start.txt files_end.txt | \
- perl -p -e 's/^[^<].*$/LineToBeRemoved/g; s/^< //g;' | \
- grep -v "LineToBeRemoved" | grep -v CVS > files_notneeded.txt
-
-echo done
+++ /dev/null
-######################################################################
-# $Id$
-#
-# Copyright (C) 2001, 2003, 2005, 2010, 2011, the deal.II authors
-#
-# Remove insignificant volatile data from output files of tests
-#
-# Data affected:
-# JobID line (containing date)
-# line number of exceptions
-# start and final residual in iterations
-# small doubles
-######################################################################
-
-# Remove absolute path names
-$D = $0;
-$D =~ s!common/scripts/normalize.pl!!;
-s!$D!DEAL_II_PATH/!g;
-
-# Remove JobID
-
-s/JobId.*//;
-
-# Several date and time strings
-
-s/%%Creation Date:.*//;
-s/\"created\".*//;
-s/# Time =.*//;
-s/# Date =.*//;
-s/^\s+Time =.*//;
-s/^\s+Date =.*//;
-s/Time tag:.*//g;
-s/by the deal.II library on.*//;
-
-# Exceptions
-
-s/line <\d+> of file <.*\//file </;
-
-# Make small exponentials zero
-
-#s/-?\d?\.\d+e-[123456789]\d+/0.00/g;
-
-# See if we have a -0.0... (not followed by any other digit) and replace it
-# by the same number without the negative sign
-s/-0\.(0+)(?!\d)/0.\1/g;
-
-# Residual values
-
-#s/value.*//;
-#s/with residual.*//;
-
-
-# remove deal.II debug output
-s/^DEAL.*::_.*\n//g;
+++ /dev/null
-#!/usr/bin/perl
-
-while(<>)
-{
- 1 while s/<[^<>]*>//g;
- print;
-}
-
+++ /dev/null
-# $Id$
-
-# Convert the contents of the OK file to a key readable by the
-# database system for regression tests
-
-# used by tests/Makefile.rules
-
-
-my $contents = <>;
-
-$contents =~ s/\s+//g;
-
-if ($contents eq 'diffok')
-{
- print ' + ';
-}
-elsif ($contents eq 'Compiling')
-{
- print ' 0 ';
-}
-elsif ($contents eq 'Linking')
-{
- print ' 1 ';
-}
-elsif ($contents eq 'Running')
-{
- print ' 2 ';
-}
-elsif ($contents eq 'Checking')
-{
- print ' 3 ';
-}
-else
-{
- print ' ?? ';
-}