annotate libinterp/config-features.sh @ 16170:2a4f83826024

new way to test for features in Octave scripts * __have_feature__.m: New file. * test.m, geometryimages.m, sparseimages.m: Use it. Delete tests for testif and xfail. * config-features.sh: New file. * libinterp/Makefile.am (EXTRA_DIST): Include config-features.sh in the list. (oct-conf-features.h): New target. (BUILT_NODISTFILES, nodist_liboctinterp_la_SOURCES): Include oct-conf-features.h in the list.
author John W. Eaton <jwe@octave.org>
date Sat, 02 Mar 2013 07:41:50 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16170
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 #! /bin/sh
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
3 set -e
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 AWK=${AWK:-awk}
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
6 conffile=$1
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 cat << EOF
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 // DO NOT EDIT! Generated automatically from $conffile by Make."
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11 #include "oct-map.h"
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 #include "ov.h"
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 octave_scalar_map
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 octave_config_features (void)
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 {
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 octave_scalar_map m;
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 EOF
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21 $AWK \
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22 '/#define HAVE_/ {
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23 sub (/HAVE_/, "", $2);
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
24 printf (" m.assign (\"%s\", octave_value (true));\n", $2);
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25 }
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
26 /\/\* #undef HAVE_/ {
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
27 sub (/HAVE_/, "", $3);
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
28 printf (" m.assign (\"%s\", octave_value (false));\n", $3);
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
29 } {
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
30 }' $conffile
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
31
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
32 cat << EOF
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
33
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34 return m;
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35 }
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents:
diff changeset
36 EOF