Mercurial > hg > octave-nkf
diff scripts/testfun/__have_feature__.m @ 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 | 12005245b645 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/scripts/testfun/__have_feature__.m @@ -0,0 +1,34 @@ +## Copyright (C) 2013 John W. Eaton +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, see +## <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {} __have_feature__ (feature) +## Undocumented internal function. +## @end deftypefn + +function retval = __have_feature__ (feature) + features = octave_config_info ("features"); + if (iscellstr (feature)) + retval = (all (isfield (features, feature)) + && cellfun (@(x) features.(x), feature)); + elseif (ischar (feature)) + retval = isfield (features, feature) && features.(feature); + else + retval = false; + endif +endfunction