Mercurial > fem-fenics-eugenio
annotate inst/private/get_vars.m.in @ 230:1a3674836579
Provide flags for just-in-time compilation
* src/configure.ac: add inst/private/get_vars.m as configured file
* inst/private/get_vars.m.in: a function returning proper compiler
or linker flags
* inst/provate/generate_makefile.m: use flags
* src/Makefile.in: add get_vars.m in the cleanall recipe
author | Eugenio Gianniti <eugenio.gianniti@mail.polimi.it> |
---|---|
date | Fri, 13 Jun 2014 18:45:40 +0200 |
parents | |
children | 5e9b5bbdc56b |
rev | line source |
---|---|
230
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
1 ## Copyright (C) 2014 Eugenio Gianniti <eugenio.gianniti@mail.polimi.it> |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
2 ## |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
3 ## This program is free software; you can redistribute it and/or modify it under |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
4 ## the terms of the GNU General Public License as published by the Free Software |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
5 ## Foundation; either version 3 of the License, or (at your option) any later |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
6 ## version. |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
7 ## |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
8 ## This program is distributed in the hope that it will be useful, but WITHOUT |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
9 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
10 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
11 ## details. |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
12 ## |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
13 ## You should have received a copy of the GNU General Public License along with |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
14 ## this program; if not, see <http://www.gnu.org/licenses/>. |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
15 |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
16 |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
17 ## -*- texinfo -*- |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
18 ## function for internal usage only |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
19 ## @end deftypefn |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
20 |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
21 function var = get_vars (name) |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
22 persistent opts = {"CPPFLAGS", |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
23 "LIBS"}; |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
24 select = validatestring (name, opts, "get_vars", "name"); |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
25 switch (select) |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
26 case "CPPFLAGS" |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
27 var = "@DENSE_CPPFLAGS@ @DOLFIN_CPPFLAGS@ @EIGEN_CPPFLAGS@"; |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
28 case "LIBS" |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
29 tokens = strsplit (strtrim ("@EIGEN_LIBS@ @DOLFIN_LIBS@")); |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
30 var = strjoin (tokens, '" "'); |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
31 var = ['"', var, '"']; |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
32 otherwise |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
33 error ("get_vars: the requested variable is not available."); |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
34 endswitch |
1a3674836579
Provide flags for just-in-time compilation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents:
diff
changeset
|
35 endfunction |