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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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