From: bangerth Date: Mon, 31 Jul 2006 22:15:11 +0000 (+0000) Subject: Re-add file X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24e78aa5a018cd3599a94bfd05cd2aecaa457f41;p=dealii-svn.git Re-add file git-svn-id: https://svn.dealii.org/trunk@13558 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/contrib/umfpack/UMFPACK/Source/umf_multicompile.c b/deal.II/contrib/umfpack/UMFPACK/Source/umf_multicompile.c new file mode 100644 index 0000000000..f1f3d64edf --- /dev/null +++ b/deal.II/contrib/umfpack/UMFPACK/Source/umf_multicompile.c @@ -0,0 +1,58 @@ +/* ========================================================================== */ +/* === UMF_multicompile ===================================================== */ +/* ========================================================================== */ + +/* -------------------------------------------------------------------------- */ +/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis. CISE Dept, */ +/* Univ. of Florida. All Rights Reserved. See ../Doc/License for License. */ +/* web: http://www.cise.ufl.edu/research/sparse/umfpack */ +/* -------------------------------------------------------------------------- */ + +/* This file is not needed if you have the Unix/Linux "make" command for + * compiling UMFPACK. Microsoft Visual Studio cannot be configured to compile + * one file multiple times, with different -D flags. In this case, you can + * use this file instead. To use this file, see the Demo/simple_compile file. + * + * This file includes the following source files: + * + * umf_ltsolve.c + * umf_utsolve.c + * umf_triplet.c + * umf_assemble.c + * umf_store_lu.c + * umfpack_solve.c + * + * This file simply compiles the above files with different pre-#define'd flags, + * by defining the flags and then #include'ing the source files themselves. + * This is a rather unconventional approach, since by convention #include is + * supposed to be used with *.h files not *.c. However, it is one way of + * working around the limitations of Microsoft Visual Studio. + * + * You still need to compile all files separately as well, with none of the + * pre-#define'd terms listed below. + */ + +/* compile the complex conjugate forward/backsolves */ +#define CONJUGATE_SOLVE +#include "umf_ltsolve.c" +#include "umf_utsolve.c" + +/* compile umf_triplet with DO_MAP, DO_VALUES and DO_MAP, and just DO_VALUES */ +#define DO_MAP +#include "umf_triplet.c" +#define DO_VALUES +#include "umf_triplet.c" +#undef DO_MAP +#include "umf_triplet.c" + +/* compile the FIXQ version of umf_assemble */ +#define FIXQ +#include "umf_assemble.c" + +/* compile the DROP version of umf_store_lu */ +#define DROP +#include "umf_store_lu.c" + +/* compile umfpack_wsolve */ +#define WSOLVE +#include "umfpack_solve.c"