diff options
author | Rafael Laboissière <rafael@debian.org> | 2022-12-02 13:45:26 -0300 |
---|---|---|
committer | Rafael Laboissière <rafael@debian.org> | 2022-12-02 13:45:26 -0300 |
commit | bc57ec3579cb2e1476b55e6660d8f015245a2e93 (patch) | |
tree | 7f08a722bef7b55dd81b165b2fe5e97410d329ae | |
parent | 04a4e459f804652334fcbbe923b9e433090a628d (diff) |
New upstream version 0.5.1
-rw-r--r-- | DESCRIPTION | 4 | ||||
-rw-r--r-- | Makefile | 38 | ||||
-rw-r--r-- | NEWS | 9 | ||||
-rw-r--r-- | doc/dicom.css | 19 | ||||
-rw-r--r-- | doc/dicom.html | 1486 | ||||
-rw-r--r-- | doc/dicom.pdf | bin | 316802 -> 216789 bytes | |||
-rw-r--r-- | doc/dicom.qch | bin | 0 -> 77824 bytes | |||
-rw-r--r-- | doc/dicom.qhc | bin | 0 -> 94208 bytes | |||
-rw-r--r-- | doc/dicom.texi | 2 | ||||
-rw-r--r-- | doc/functions.texi | 52 | ||||
-rwxr-xr-x | doc/mkfuncdocs.py | 91 | ||||
-rwxr-xr-x | doc/mkqhcp.py | 143 | ||||
-rw-r--r-- | inst/PKG_ADD | 14 | ||||
-rw-r--r-- | inst/PKG_DEL | 14 | ||||
-rw-r--r-- | src/Makefile.in | 6 | ||||
-rw-r--r-- | src/aclocal.m4 | 4 | ||||
-rw-r--r-- | src/config.h.in | 10 | ||||
-rwxr-xr-x | src/configure | 2582 | ||||
-rw-r--r-- | src/configure.ac | 13 | ||||
-rw-r--r-- | src/dicomread.cpp | 2 | ||||
-rw-r--r-- | src/dicomwrite.cpp | 14 |
21 files changed, 3295 insertions, 1208 deletions
diff --git a/DESCRIPTION b/DESCRIPTION index b51c9b1..f5f925a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Name: dicom -Version: 0.5.0 -Date: 2022-06-30 +Version: 0.5.1 +Date: 2022-11-21 Author: Andy Buckle Maintainer: John Donoghue Title: dicom: file io for medical images and other data @@ -17,6 +17,23 @@ GZIP ?= gzip CUT ?= cut TR ?= tr TEXI2PDF ?= texi2pdf -q +MAKEINFO ?= makeinfo + +# work out a possible help generator +ifeq ($(strip $(QHELPGENERATOR)),) + ifneq ($(shell qhelpgenerator-qt5 -v 2>/dev/null),) + QHELPGENERATOR = qhelpgenerator-qt5 + #else ifneq ($(shell qhelpgenerator -qt5 -v 2>/dev/null),) + # v4 wont process collection files, but returns ok status on version + # QHELPGENERATOR = qhelpgenerator -qt5 + else ifneq ($(shell qcollectiongenerator -qt5 -v 2>/dev/null),) + QHELPGENERATOR = qcollectiongenerator -qt5 + else ifneq ($(shell qcollectiongenerator-qt5 -v 2>/dev/null),) + QHELPGENERATOR = qcollectiongenerator-qt5 + else + QHELPGENERATOR = true + endif +endif PACKAGE := $(shell $(GREP) "^Name: " DESCRIPTION | $(CUT) -f2 -d" " | \ $(TR) '[:upper:]' '[:lower:]') @@ -61,19 +78,29 @@ help: -rm -rf $< .PHONY: docs -docs: doc/$(PACKAGE).pdf +docs: doc/$(PACKAGE).pdf doc/$(PACKAGE).qhc doc/$(PACKAGE).html .PHONY: clean-docs clean-docs: - $(RM) -f doc/$(PACKAGE).info - $(RM) -f doc/$(PACKAGE).pdf - $(RM) -f doc/functions.texi + -$(RM) -f doc/$(PACKAGE).info + -$(RM) -f doc/$(PACKAGE).pdf + -$(RM) -f doc/$(PACKAGE).html + -$(RM) -f doc/functions.texi + -$(RM) -f doc/$(PACKAGE).qhc doc/$(PACKAGE).qch doc/$(PACKAGE).pdf: doc/$(PACKAGE).texi doc/functions.texi cd doc && SOURCE_DATE_EPOCH=$(HG_TIMESTAMP) $(TEXI2PDF) $(PACKAGE).texi # remove temp files cd doc && $(RM) -f $(PACKAGE).aux $(PACKAGE).cp $(PACKAGE).cps $(PACKAGE).fn $(PACKAGE).fns $(PACKAGE).log $(PACKAGE).toc +doc/$(PACKAGE).html: doc/$(PACKAGE).texi doc/functions.texi + cd doc && SOURCE_DATE_EPOCH=$(HG_TIMESTAMP) $(MAKEINFO) --html --css-ref=$(PACKAGE).css --no-split --output=${PACKAGE}.html $(PACKAGE).texi + +doc/$(PACKAGE).qhc: doc/$(PACKAGE).html + # try also create qch file if can + cd doc && ./mkqhcp.py $(PACKAGE) && $(QHELPGENERATOR) $(PACKAGE).qhcp -o $(PACKAGE).qhc + cd doc && $(RM) -f $(PACKAGE).qhcp $(PACKAGE).qhp + doc/functions.texi: cd doc && ./mkfuncdocs.py --src-dir=../inst/ --src-dir=../src/ ../INDEX | $(SED) 's/@seealso/@xseealso/g' > functions.texi @@ -88,7 +115,8 @@ $(RELEASE_DIR): .hg/dirstate chmod -R a+rX,u+w,go-w "$@" html_options = --eval 'options = get_html_options ("octave-forge");' \ - --eval 'options.package_doc = "$(PACKAGE).texi";' + --eval 'options.package_doc = "$(PACKAGE).texi";' \ + --eval 'options.package_doc_options = [options.package_doc_options " --css-include=$(PACKAGE).css"];' $(HTML_DIR): install @echo "Generating HTML documentation. This may take a while ..." $(RM) -r "$@" @@ -1,3 +1,12 @@ + Summary of important user-visible changes for dicom 0.5.1 (2022/11/21): +------------------------------------------------------------------------- + + * bugfix dicomwrite for axis ordering (Bug #63338) + + * minor doc updates + + * add qt5 docs + Summary of important user-visible changes for dicom 0.5.0 (2022/06/30): ------------------------------------------------------------------------- diff --git a/doc/dicom.css b/doc/dicom.css new file mode 100644 index 0000000..3c116ef --- /dev/null +++ b/doc/dicom.css @@ -0,0 +1,19 @@ +pre.example, .header, .float-caption, hr { + /* base00 ~ body text in light solarized theme */ + color: #657b83; + border-color: #657b83; } + +pre.example { + /* base3 ~ background color in light solarized theme */ + background-color: #fdf6e3; + padding: 0.5em; } + +table.cartouche { + border: 1px solid #948473; + background-color: #FFE3C6; + width: 100%; +} +table.cartouche td, table.cartouche th { + border: 1px solid #948473; + padding: 4px 4px; +} diff --git a/doc/dicom.html b/doc/dicom.html new file mode 100644 index 0000000..ddebbb6 --- /dev/null +++ b/doc/dicom.html @@ -0,0 +1,1486 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ --> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>Octave Dicom - Dicom File I/O for GNU octave</title> + +<meta name="description" content="Octave Dicom - Dicom File I/O for GNU octave"> +<meta name="keywords" content="Octave Dicom - Dicom File I/O for GNU octave"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta name="viewport" content="width=device-width,initial-scale=1"> + +<link href="#Top" rel="start" title="Top"> +<link href="#Index" rel="index" title="Index"> +<link href="#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="#Installing-and-loading" rel="next" title="Installing and loading"> +<style type="text/css"> +<!-- +a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} +a.summary-letter {text-decoration: none} +blockquote.indentedblock {margin-right: 0em} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +kbd {font-style: oblique} +pre.display {font-family: inherit} +pre.format {font-family: inherit} +pre.menu-comment {font-family: serif} +pre.menu-preformatted {font-family: serif} +span.nolinebreak {white-space: nowrap} +span.roman {font-family: initial; font-weight: normal} +span.sansserif {font-family: sans-serif; font-weight: normal} +span:hover a.copiable-anchor {visibility: visible} +ul.no-bullet {list-style: none} +--> +</style> +<link rel="stylesheet" type="text/css" href="dicom.css"> + + +</head> + +<body lang="en"> +<h1 class="settitle" align="center">Octave Dicom - Dicom File I/O for GNU octave</h1> + + + + + + + + + + + + + +<div class="top" id="Top"> +<div class="header"> +<p> +Next: <a href="#Installing-and-loading" accesskey="n" rel="next">Installing and loading</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<span id="Introduction"></span><h1 class="top">Introduction</h1> +<p>The Dicom toolkit is a set of Dicom file I/O routines for GNU Octave +</p> + +<div class="Contents_element" id="SEC_Contents"> +<h2 class="contents-heading">Table of Contents</h2> + +<div class="contents"> + +<ul class="no-bullet"> + <li><a id="toc-Installing-and-loading-1" href="#Installing-and-loading">1 Installing and loading</a> + <ul class="no-bullet"> + <li><a id="toc-Online-Direct-install" href="#Online-Direct-install">1.1 Online Direct install</a></li> + <li><a id="toc-Off_002dline-install" href="#Off_002dline-install">1.2 Off-line install</a></li> + <li><a id="toc-Loading" href="#Loading">1.3 Loading</a></li> + </ul></li> + <li><a id="toc-Basic-Usage-Overview-1" href="#Basic-Usage-Overview">2 Basic Usage Overview</a></li> + <li><a id="toc-Function-Reference-1" href="#Function-Reference">3 Function Reference</a> + <ul class="no-bullet"> + <li><a id="toc-Dicom-Functions-1" href="#Dicom-Functions">3.1 Dicom Functions</a> + <ul class="no-bullet"> + <li><a id="toc-dicomanon" href="#dicomanon">3.1.1 dicomanon</a></li> + <li><a id="toc-dicomdict" href="#dicomdict">3.1.2 dicomdict</a></li> + <li><a id="toc-dicomdisp" href="#dicomdisp">3.1.3 dicomdisp</a></li> + <li><a id="toc-dicomfind" href="#dicomfind">3.1.4 dicomfind</a></li> + <li><a id="toc-dicominfo" href="#dicominfo">3.1.5 dicominfo</a></li> + <li><a id="toc-dicomlookup" href="#dicomlookup">3.1.6 dicomlookup</a></li> + <li><a id="toc-dicomread" href="#dicomread">3.1.7 dicomread</a></li> + <li><a id="toc-dicomuid" href="#dicomuid">3.1.8 dicomuid</a></li> + <li><a id="toc-dicomupdate" href="#dicomupdate">3.1.9 dicomupdate</a></li> + <li><a id="toc-dicomwrite" href="#dicomwrite">3.1.10 dicomwrite</a></li> + <li><a id="toc-isdicom" href="#isdicom">3.1.11 isdicom</a></li> + </ul></li> + </ul></li> + <li><a id="toc-GNU-General-Public-License" href="#Copying">Appendix A GNU General Public License</a></li> + <li><a id="toc-Index-1" href="#Index" rel="index">Index</a></li> +</ul> +</div> +</div> +<hr> +<div class="chapter" id="Installing-and-loading"> +<div class="header"> +<p> +Next: <a href="#Basic-Usage-Overview" accesskey="n" rel="next">Basic Usage Overview</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<span id="Installing-and-loading-1"></span><h2 class="chapter">1 Installing and loading</h2> +<span id="index-Installing-and-loading"></span> + +<p>The Dicom toolkit must be installed and then loaded to be used. +</p> +<p>It can be installed in <acronym>GNU</acronym> Octave directly from octave-forge, +or can be installed in an off-line mode via a downloaded tarball. +</p> +<p>The toolkit has a dependency on the GDCM library (<a href="https://http://gdcm.sourceforge.net/">https://http://gdcm.sourceforge.net/</a>), so it must be installed in order +to successfully install the Dicom toolkit. +</p> +<p>For fedora: <code>yum install gdcm-devel</code> +</p> +<p>For ubuntu: <code>apt install libgdcm2-dev</code> +</p> +<p>The toolkit must be then be loaded once per each <acronym>GNU</acronym> Octave session in order to use its functionality. +</p> +<ul class="section-toc"> +<li><a href="#Online-Direct-install" accesskey="1">Online Direct install</a></li> +<li><a href="#Off_002dline-install" accesskey="2">Off-line install</a></li> +<li><a href="#Loading" accesskey="3">Loading</a></li> +</ul> +<div class="section" id="Online-Direct-install"> +<h3 class="section">1.1 Online Direct install</h3> +<span id="index-Online-install"></span> +<p>With an internet connection available, the Dicom package can be installed from +octave-forge using the following command within <acronym>GNU</acronym> Octave: +</p> +<div class="example"> +<pre class="example">pkg install -forge dicom +</pre></div> + +<p>The latest released version of the toolkit will be downloaded and installed. +</p> +</div> +<div class="section" id="Off_002dline-install"> +<h3 class="section">1.2 Off-line install</h3> +<span id="index-Off_002dline-install"></span> +<p>With the Dicom toolkit package already downloaded, and in the current directory when running +<acronym>GNU</acronym> Octave, the package can be installed using the following command within <acronym>GNU</acronym> Octave: +</p> +<div class="example"> +<pre class="example">pkg install dicom-0.5.1.tar.gz +</pre></div> + +</div> +<div class="section" id="Loading"> +<h3 class="section">1.3 Loading</h3> +<span id="index-Loading"></span> +<p>Regardless of the method of installing the Dicom toolkit, in order to use its functions, +the toolkit must be loaded using the pkg load command: +</p> +<div class="example"> +<pre class="example">pkg load dicom +</pre></div> + +<p>The toolkit must be loaded on each <acronym>GNU</acronym> Octave session. +</p> +<hr> +</div> +</div> +<div class="chapter" id="Basic-Usage-Overview"> +<div class="header"> +<p> +Next: <a href="#Function-Reference" accesskey="n" rel="next">Function Reference</a>, Previous: <a href="#Installing-and-loading" accesskey="p" rel="prev">Installing and loading</a>, Up: <a href="#Top" accesskey="u" rel="up">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<span id="Basic-Usage-Overview-1"></span><h2 class="chapter">2 Basic Usage Overview</h2> +<span id="index-Basic-Usage-Overview"></span> + +<p>Dicom files consist of metadata and image data within a file. The Dicom toolkit provides functions to +read and write dicom data. +</p> +<div class="example"> +<pre class="example"> + +%% read the meta information from a dicom file +> info = dicominfo (file_in_loadpath('imdata/simple-test.dcm'); +info = + scalar structure containing the fields: + Filename = a.dcm + FileModDate = 04-Feb-2017 02:08:31 + FileMetaInformationVersion = + 0 1 + MediaStorageSOPClassUID = 1.2.840.10008.5.1.4.1.1.7 + MediaStorageSOPInstanceUID = 1.2.826.0.1.3680043.2.1143.4379544382488839209812957878553810312 + TransferSyntaxUID = 1.2.840.10008.1.2 + ImplementationClassUID = 1.2.826.0.1.3680043.2.1143.107.104.103.115.2.6.3 + ImplementationVersionName = GDCM 2.6.3 + SourceApplicationEntityTitle = GDCM + ImageType = DERIVED \SECONDARY + SOPClassUID = 1.2.840.10008.5.1.4.1.1.7 + SOPInstanceUID = 1.2.826.0.1.3680043.2.1143.4379544382488839209812957878553810312 + StudyDate = 20170203 + StudyTime = 210831.360586 + Modality = OT + ConversionType = WSD + NominalScannedPixelSpacing = + 1 + 1 + StudyInstanceUID = 1.2.826.0.1.3680043.2.1143.1282184104726305239898701219563360204 + SeriesInstanceUID = 1.2.826.0.1.3680043.2.1143.9385265081744858155080799316976198629 + SamplesPerPixel = 1 + PhotometricInterpretation = MONOCHROME1 + Rows = 10 + Columns = 5 + BitsAllocated = 8 + BitsStored = 8 + HighBit = 7 + PixelRepresentation = 0 + RescaleIntercept = 0 + RescaleSlope = 1 + RescaleType = US + PixelData = not assigned + + +%% read the image data +> image = dicomread(file_in_loadpath('imdata/simple-test.dcm')) +image = + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +</pre></div> + +<p>Help for each function can be displayed by <code>help thefunctionname</code> +</p> +<p>ie: +</p><div class="example"> +<pre class="example">help dicominfo +</pre></div> + + +<hr> +</div> +<div class="chapter" id="Function-Reference"> +<div class="header"> +<p> +Next: <a href="#Copying" accesskey="n" rel="next">GNU General Public License</a>, Previous: <a href="#Basic-Usage-Overview" accesskey="p" rel="prev">Basic Usage Overview</a>, Up: <a href="#Top" accesskey="u" rel="up">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<span id="Function-Reference-1"></span><h2 class="chapter">3 Function Reference</h2> +<span id="index-Function-Reference"></span> + +<p>The functions currently available in the Dicom toolkit are described below; +</p> +<ul class="section-toc"> +<li><a href="#Dicom-Functions" accesskey="1">Dicom Functions</a></li> +</ul> +<hr> +<div class="section" id="Dicom-Functions"> +<div class="header"> +<p> +Up: <a href="#Function-Reference" accesskey="u" rel="up">Function Reference</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<span id="Dicom-Functions-1"></span><h3 class="section">3.1 Dicom Functions</h3> +<span id="index-Dicom-Functions"></span> +<ul class="section-toc"> +<li><a href="#dicomanon" accesskey="1">dicomanon</a></li> +<li><a href="#dicomdict" accesskey="2">dicomdict</a></li> +<li><a href="#dicomdisp" accesskey="3">dicomdisp</a></li> +<li><a href="#dicomfind" accesskey="4">dicomfind</a></li> +<li><a href="#dicominfo" accesskey="5">dicominfo</a></li> +<li><a href="#dicomlookup" accesskey="6">dicomlookup</a></li> +<li><a href="#dicomread" accesskey="7">dicomread</a></li> +<li><a href="#dicomuid" accesskey="8">dicomuid</a></li> +<li><a href="#dicomupdate" accesskey="9">dicomupdate</a></li> +<li><a href="#dicomwrite">dicomwrite</a></li> +<li><a href="#isdicom">isdicom</a></li> +</ul> +<div class="subsection" id="dicomanon"> +<h4 class="subsection">3.1.1 dicomanon</h4> +<span id="index-dicomanon"></span> +<dl class="def"> +<dt id="index-dicomanon_0028file_005fin_002c"><span class="category">Loadable Function: </span><span><em></em> <strong>dicomanon(<var>file_in</var>,</strong> <em><var>file_out</var>)</em><a href='#index-dicomanon_0028file_005fin_002c' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-dicomanon_0028_005f_005f_005f_002c"><span class="category">Loadable Function: </span><span><em></em> <strong>dicomanon(___,</strong> <em><var>name</var>, <var>value</var>)</em><a href='#index-dicomanon_0028_005f_005f_005f_002c' class='copiable-anchor'> ¶</a></span></dt> +<dd> +<p>Anonymize a DICOM format file by removing or replacing specific fields. +</p> +<span id="Inputs"></span><h4 class="subsubheading">Inputs</h4> +<p><var>file_in</var> is filename to read from.<br> +<var>file_out</var> is the filename to write to.<br> +<var>name</var>, <var>value</var> optional name/value properties.<br> +</p> +<p>Known property names are: +</p><dl compact="compact"> +<dt><span>keep</span></dt> +<dd><p>The value is a cell array of names to not remove during the anonymize procedure. +</p></dd> +<dt><span>update</span></dt> +<dd><p>A structure of name/values to update rather than remove. +</p></dd> +</dl> +<span id="Outputs"></span><h4 class="subsubheading">Outputs</h4> +<p>None +</p> + +<p><strong>See also:</strong> dicomread, dicomwrite, dicominfo. +</p></dd></dl> + +</div> +<div class="subsection" id="dicomdict"> +<h4 class="subsection">3.1.2 dicomdict</h4> +<span id="index-dicomdict"></span> +<dl class="def"> +<dt id="index-dicomdict-1"><span class="category">Loadable Function: </span><span><em><var>dictionary_name</var> =</em> <strong>dicomdict</strong> <em>(<code>get</code>)</em><a href='#index-dicomdict-1' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-dicomdict-2"><span class="category">Loadable Function: </span><span><em></em> <strong>dicomdict</strong> <em>(<code>factory</code>)</em><a href='#index-dicomdict-2' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-dicomdict-3"><span class="category">Loadable Function: </span><span><em></em> <strong>dicomdict</strong> <em>(<code>set</code>, <var>dictionary_name</var>)</em><a href='#index-dicomdict-3' class='copiable-anchor'> ¶</a></span></dt> +<dd> +<p>Get or set the active dicom data dictionary. +</p> +<p>The first usage returns the filename of the dictionary that is currently being used. +Using <code>factory</code> resets the dictionary to the default. +Using <code>set</code> allows setting the dictionary for future operations. +In this case, the dictionary file <var>dictionary_name</var> can be anywhere in the path. +</p><span id="Inputs-1"></span><h4 class="subsubheading">Inputs</h4> +<p><var>code</var> - string value of ’get’, ’set’ or ’factory’. +</p> +<p><var>dictionary_name’</var> - name of dictionary file to use +</p> +<span id="Outputs-1"></span><h4 class="subsubheading">Outputs</h4> +<p><var>dictionary_name’</var> - name of dictionary file currently set for dictionaty +</p> +<span id="Examples"></span><h4 class="subsubheading">Examples</h4> +<p>Get current dicom dict path: +</p> +<div class="example"> +<pre class="example">> f = dicomdict('get') +f = octavedicom.dic +</pre></div> + +<p>Set a new dictionary: +</p> +<div class="example"> +<pre class="example">> dicomdict('set', 'anewdictfile.txt') +</pre></div> + + +<p><strong>See also:</strong> dicomread, dicomwrite. +</p></dd></dl> + +</div> +<div class="subsection" id="dicomdisp"> +<h4 class="subsection">3.1.3 dicomdisp</h4> +<span id="index-dicomdisp"></span> +<dl class="def"> +<dt id="index-dicomdisp-1"><span class="category">Loadable Function: </span><span><em></em> <strong>dicomdisp</strong> <em>(<var>filename</var>)</em><a href='#index-dicomdisp-1' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-dicomdisp-2"><span class="category">Loadable Function: </span><span><em></em> <strong>dicomdisp</strong> <em>(<var>filename</var>, [<var>propertyname</var>, <var>propertvalue</var> ...])</em><a href='#index-dicomdisp-2' class='copiable-anchor'> ¶</a></span></dt> +<dd><p>Read and display the metadata from a DICOM file. +</p> +<span id="Inputs-2"></span><h4 class="subsubheading">Inputs</h4> +<p><var>filename</var> - dicomfilename to display.<br> +<var>propertyname</var>, <var>propertvalue</var> - property pairs for options to the display function. +</p> +<p>Currently the only known property is ’dictionary’ to specify a non default dict to use. +</p><span id="Outputs-2"></span><h4 class="subsubheading">Outputs</h4> +<p>None +</p> + +<p><strong>See also:</strong> dicomread, dicominfo. +</p></dd></dl> + +</div> +<div class="subsection" id="dicomfind"> +<h4 class="subsection">3.1.4 dicomfind</h4> +<span id="index-dicomfind"></span> +<dl class="def"> +<dt id="index-_003d"><span class="category">: </span><span><em><var>attrinfo</var></em> <strong>=</strong> <em>dicomfind(<var>filename</var>, <var>attribute</var>)</em><a href='#index-_003d' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-_003d-1"><span class="category">: </span><span><em><var>attrinfo</var></em> <strong>=</strong> <em>dicomfind(<var>info</var>, <var>attribute</var>)</em><a href='#index-_003d-1' class='copiable-anchor'> ¶</a></span></dt> +<dd><p>Find the location and value of an attribute in a dicom file or info structure. +</p> +<span id="Inputs-3"></span><h4 class="subsubheading">Inputs</h4> +<p><var>filename</var> - filename to open. +</p> +<p><var>info</var> - dicominfo struct. +</p> +<p><var>attribute</var> - attribute name to find. +</p> +<span id="Outputs-3"></span><h4 class="subsubheading">Outputs</h4> +<p><var>attrinfo</var> - a table with fields Location and Value fior each matched attribute. +</p> +<span id="Examples-1"></span><h4 class="subsubheading">Examples</h4> +<div class="example"> +<pre class="example"> filename = file_in_loadpath("imdata/rtstruct.dcm"); + + info = dicomfind(filename, "ROINumber"); + + </pre></div> +</dd></dl> +</div> +<div class="subsection" id="dicominfo"> +<h4 class="subsection">3.1.5 dicominfo</h4> +<span id="index-dicominfo"></span> +<dl class="def"> +<dt id="index-_003d-2"><span class="category">Loadable Function: </span><span><em><var>info</var></em> <strong>=</strong> <em>dicominfo (<var>filename</var>)</em><a href='#index-_003d-2' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-_003d-3"><span class="category">Loadable Function: </span><span><em><var>info</var></em> <strong>=</strong> <em>dicominfo (<var>filename</var>, <code>dictionary</code>, <var>dictionary-name</var>)</em><a href='#index-_003d-3' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-dicominfo-1"><span class="category">Loadable Function: </span><span><em></em> <strong>dicominfo</strong> <em>(<var>filename</var>, <var>options</var>)</em><a href='#index-dicominfo-1' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-dicominfo-2"><span class="category">Command: </span><span><em></em> <strong>dicominfo</strong> <em><var>filename</var></em><a href='#index-dicominfo-2' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-dicominfo-3"><span class="category">Command: </span><span><em></em> <strong>dicominfo</strong> <em><var>filename</var> <var>options</var></em><a href='#index-dicominfo-3' class='copiable-anchor'> ¶</a></span></dt> +<dd><p>Get all data from a DICOM file, excluding any actual image. +<var>info</var> is a nested struct containing the data. +</p> +<p>If no return argument is given, then there will be output similar to +a DICOM dump. +</p> +<p>If the <code>dictionary</code> argument is used, the given <var>dictionary-name</var> is used for this operation, +otherwise, the dictionary set by <code>dicomdict</code> is used. +</p> +<span id="Inputs-4"></span><h4 class="subsubheading">Inputs</h4> +<p><var>filename</var> - name of file to read. +</p> +<p><var>’dictionary’</var> - string constant of ’dictionary’. +</p> +<p><var>dictionary-name</var> - filename of dictionary to use. +</p> +<p><var>options</var>: +<code>truncate=n</code> +where n is the number of characters to limit the dump output display to <code>n</code> +for each value. +</p><span id="Outputs-4"></span><h4 class="subsubheading">Outputs</h4> +<p><var>info</var> - struct of fields read frome the dicom file. +</p> +<span id="Examples-2"></span><h4 class="subsubheading">Examples</h4> +<p>Read the metadata of a dicomfile: +</p> +<div class="example"> +<pre class="example">> info = dicominfo(file_in_loadpath('imdata/simple-test.dcm') +info = +scalar structure containing the fields: +Filename = a.dcm +FileModDate = 04-Feb-2017 02:08:31 +FileMetaInformationVersion = +0 1 +MediaStorageSOPClassUID = 1.2.840.10008.5.1.4.1.1.7 +MediaStorageSOPInstanceUID = 1.2.826.0.1.3680043.2.1143.4379544382488839209812957878553810312 +TransferSyntaxUID = 1.2.840.10008.1.2 +ImplementationClassUID = 1.2.826.0.1.3680043.2.1143.107.104.103.115.2.6.3 +ImplementationVersionName = GDCM 2.6.3 +SourceApplicationEntityTitle = GDCM +ImageType = DERIVED \\SECONDARY +SOPClassUID = 1.2.840.10008.5.1.4.1.1.7 +SOPInstanceUID = 1.2.826.0.1.3680043.2.1143.4379544382488839209812957878553810312 +StudyDate = 20170203 +StudyTime = 210831.360586 +Modality = OT +ConversionType = WSD +NominalScannedPixelSpacing = +1 +1 +StudyInstanceUID = 1.2.826.0.1.3680043.2.1143.1282184104726305239898701219563360204 +SeriesInstanceUID = 1.2.826.0.1.3680043.2.1143.9385265081744858155080799316976198629 +SamplesPerPixel = 1 +PhotometricInterpretation = MONOCHROME1 +Rows = 10 +Columns = 5 +BitsAllocated = 8 +BitsStored = 8 +HighBit = 7 +PixelRepresentation = 0 +RescaleIntercept = 0 +RescaleSlope = 1 +RescaleType = US +PixelData = not assigned +</pre></div> + + +<p><strong>See also:</strong> dicomread, dicomdict. +</p></dd></dl> + +</div> +<div class="subsection" id="dicomlookup"> +<h4 class="subsection">3.1.6 dicomlookup</h4> +<span id="index-dicomlookup"></span> +<dl class="def"> +<dt id="index-_003d-4"><span class="category">Loadable Function: </span><span><em><var>keyword</var></em> <strong>=</strong> <em>dicomlookup (<var>group</var>, <var>element</var>)</em><a href='#index-_003d-4' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-element_005d"><span class="category">Loadable Function: </span><span><em>[<var>group</var>,</em> <strong><var>element</var>]</strong> <em>= dicomlookup (<var>keyword</var>)</em><a href='#index-element_005d' class='copiable-anchor'> ¶</a></span></dt> +<dd> +<p>Lookup an attribute in the DICOM data dictionary. +</p> +<p><var>keyword</var> = dicomlookup (<var>group</var>, <var>element</var>) will look in the current dicom +dictionary for a specified <var>group</var> and <var>element</var> tag and returns string name +of the attribute. +</p> +<p>[<var>group</var>, <var>element</var>] = dicomlookup (<var>keyword</var>) will look in the current dicom +dictionary for a specified <var>keyword</var> string and returns the <var>group</var> and <var>element</var> +for keyword. +</p> +<span id="Inputs-5"></span><h4 class="subsubheading">Inputs</h4> +<p><var>keyword</var> - string keyword name to look up a group, element value.<br> +<var>group</var> - group value to look up (string or integer).<br> +<var>element</var> - element value to look up (string or integer).<br> +</p> +<span id="Outputs-5"></span><h4 class="subsubheading">Outputs</h4> +<p><var>keyword</var> - string keyword name to looked up from a group, element value.<br> +<var>group</var>, <var>element</var> - group and element value looked up from keyword.<br> +</p> +<span id="Outputs-6"></span><h4 class="subsubheading">Outputs</h4> +<p>Look up tag name for 0x10 0x10: +</p> +<div class="example"> +<pre class="example">> name = dicomlookup(0x10,0x10) +name = PatientName + +</pre></div> + +<p>Look up tag group and element value: +</p> +<div class="example"> +<pre class="example">> [grp, elm] = dicomlookup('TransferSyntaxUID') +grp = 2 +elm = 16 +</pre></div> + +<p><strong>See also:</strong> dicomdict. +</p></dd></dl> + +</div> +<div class="subsection" id="dicomread"> +<h4 class="subsection">3.1.7 dicomread</h4> +<span id="index-dicomread"></span> +<dl class="def"> +<dt id="index-_003d-5"><span class="category">Loadable Function: </span><span><em><var>image</var></em> <strong>=</strong> <em>dicomread (<var>filename</var>)</em><a href='#index-_003d-5' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-_003d-6"><span class="category">Loadable Function: </span><span><em><var>image</var></em> <strong>=</strong> <em>dicomread (<var>structure</var>)</em><a href='#index-_003d-6' class='copiable-anchor'> ¶</a></span></dt> +<dd> +<p>Load the image from a DICOM file. +</p><span id="Inputs-6"></span><h4 class="subsubheading">Inputs</h4> +<p><var>filename</var> - a string giving the filename.* +</p> +<p><var>structure</var> - a structure with a field <code>Filename</code> (such as returned by <code>dicominfo</code>). +</p> +<p><var>image</var> - may be two or three dimensional, depending on the content of the file. +</p> +<span id="Outputs-7"></span><h4 class="subsubheading">Outputs</h4> +<p><var>image</var> - An integer or float matrix will be returned, the number of bits will depend on the file. +</p> +<span id="Examples-3"></span><h4 class="subsubheading">Examples</h4> +<p>Load the image data of a dcm file: +</p> +<div class="example"> +<pre class="example">> image = dicomread(file_in_loadpath('imdata/simple-test.dcm')) +image = +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +</pre></div> + + +<p><strong>See also:</strong> dicominfo. +</p></dd></dl> + +</div> +<div class="subsection" id="dicomuid"> +<h4 class="subsection">3.1.8 dicomuid</h4> +<span id="index-dicomuid"></span> +<dl class="def"> +<dt id="index-_003d-7"><span class="category">Loadable Function: </span><span><em><var>uuid</var></em> <strong>=</strong> <em>dicomuid ()</em><a href='#index-_003d-7' class='copiable-anchor'> ¶</a></span></dt> +<dd> +<p>Generate a DICOM unique id . +</p> +<span id="Inputs-7"></span><h4 class="subsubheading">Inputs</h4> +<p>None +</p><span id="Outputs-8"></span><h4 class="subsubheading">Outputs</h4> +<p><var>uuid</var> is a unique id string. +</p> +<span id="Examples-4"></span><h4 class="subsubheading">Examples</h4> +<p>Get a new uid: +</p> +<div class="example"> +<pre class="example">> uid = dicomuid () +uid = 1.2.826.0.1.3680043.2.1143.3114589836670200378351641061429967573 +</pre></div> + +</dd></dl> + +</div> +<div class="subsection" id="dicomupdate"> +<h4 class="subsection">3.1.9 dicomupdate</h4> +<span id="index-dicomupdate"></span> +<dl class="def"> +<dt id="index-dicomupdate_0028fileinfo_002c"><span class="category">: </span><span><em><var>info</var> =</em> <strong>dicomupdate(<var>fileinfo</var>,</strong> <em><var>attribute</var>, <var>value</var>)</em><a href='#index-dicomupdate_0028fileinfo_002c' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-dicomupdate_0028info_002c"><span class="category">: </span><span><em><var>info</var> =</em> <strong>dicomupdate(<var>info</var>,</strong> <em><var>attrinfo</var>)</em><a href='#index-dicomupdate_0028info_002c' class='copiable-anchor'> ¶</a></span></dt> +<dd><p>Update a dicom struct with new values +</p> +<span id="Inputs-8"></span><h4 class="subsubheading">Inputs</h4> +<p><var>info</var> - dicominfo struct. +</p> +<p><var>attribute</var> - attribute name to find and change value of. +</p> +<p><var>value</var> - attribute value to set. +</p> +<p><var>attrinfo</var> - a table with fields Location and Value for each matched attribute to change. +</p> +<span id="Outputs-9"></span><h4 class="subsubheading">Outputs</h4> +<p><var>info</var> - dicominfo struct. +</p> +<span id="Examples-5"></span><h4 class="subsubheading">Examples</h4> +<div class="example"> +<pre class="example"> filename = file_in_loadpath("imdata/rtstruct.dcm"); + info = dicominfo(filename); + + % update specific values + finfo = dicomfind(info, "ROINumber"); + finfo.Value{1} = 10; + info = dicomupdate(info, finfo); + + % update all matching + info = dicomupdate(info, "ROINumber", 100); + + </pre></div> +</dd></dl> +</div> +<div class="subsection" id="dicomwrite"> +<h4 class="subsection">3.1.10 dicomwrite</h4> +<span id="index-dicomwrite"></span> +<dl class="def"> +<dt id="index-dicomwrite_0028im_002c"><span class="category">Loadable Function: </span><span><em></em> <strong>dicomwrite(<var>im</var>,</strong> <em><var>filename</var>)</em><a href='#index-dicomwrite_0028im_002c' class='copiable-anchor'> ¶</a></span></dt> +<dt id="index-dicomwrite_0028im_002c-1"><span class="category">Loadable Function: </span><span><em></em> <strong>dicomwrite(<var>im</var>,</strong> <em><var>filename</var>, <var>info</var>)</em><a href='#index-dicomwrite_0028im_002c-1' class='copiable-anchor'> ¶</a></span></dt> +<dd> +<p>Write a DICOM format file to <var>filename</var>. +</p> +<span id="Inputs-9"></span><h4 class="subsubheading">Inputs</h4> +<p><var>im</var> - image data or empty matrix, [], if only metadata save is required +</p> +<p><var>filename</var> - filename to write dicom to. if [], then function runs in verbose trial mode. +</p> +<p><var>info</var> - struct, like that produced by dicominfo +</p> +<span id="Examples-6"></span><h4 class="subsubheading">Examples</h4> +<p>Create a dicom file using default info, and the supplied data: +</p><div class="example"> +<pre class="example">> wdata = uint8 (10*rand (10,10)); +> dicomwrite (wdata, 'test.dcm'); +</pre></div> + +<p>Create a dicom file using data and meta info: +</p> +<div class="example"> +<pre class="example">> wdata = dicomread(file_in_loadpath('imdata/CT-MONO2-16-ankle.dcm'); +> info = dicominfo(file_in_loadpath('imdata/CT-MONO2-16-ankle.dcm'); +> dicomwrite(wdata, info); +</pre></div> + + +<p><strong>See also:</strong> dicomread, dicominfo. +</p></dd></dl> + +</div> +<div class="subsection" id="isdicom"> +<h4 class="subsection">3.1.11 isdicom</h4> +<span id="index-isdicom"></span> +<dl class="def"> +<dt id="index-isdicom-1"><span class="category">Loadable Function: </span><span><em><var>yesno</var> =</em> <strong>isdicom</strong> <em>(<var>filename</var>)</em><a href='#index-isdicom-1' class='copiable-anchor'> ¶</a></span></dt> +<dd><p>Return true if <var>filename</var> is a valid DICOM file. +</p> +<span id="Inputs-10"></span><h4 class="subsubheading">Inputs</h4> +<p><var>filename</var> - name of file to read. +</p> +<span id="Outputs-10"></span><h4 class="subsubheading">Outputs</h4> +<p><var>yesno</var> - logical value of true if filename is a dicom file. +</p> + +<p><strong>See also:</strong> dicomdict, dicominfo, dicomread, dicomwrite. +</p></dd></dl> + + +<hr> +</div> +</div> +</div> +<div class="appendix" id="Copying"> +<div class="header"> +<p> +Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#Function-Reference" accesskey="p" rel="prev">Function Reference</a>, Up: <a href="#Top" accesskey="u" rel="up">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<span id="GNU-General-Public-License"></span><h2 class="appendix">Appendix A GNU General Public License</h2> +<span id="index-warranty"></span> +<span id="index-copyright"></span> + +<div align="center">Version 3, 29 June 2007 +</div> +<div class="display"> +<pre class="display">Copyright © 2007 Free Software Foundation, Inc. <a href="http://fsf.org/">http://fsf.org/</a> + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. +</pre></div> + +<span id="Preamble"></span><h3 class="heading">Preamble</h3> + +<p>The GNU General Public License is a free, copyleft license for +software and other kinds of works. +</p> +<p>The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom +to share and change all versions of a program—to make sure it remains +free software for all its users. We, the Free Software Foundation, +use the GNU General Public License for most of our software; it +applies also to any other work released this way by its authors. You +can apply it to your programs, too. +</p> +<p>When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. +</p> +<p>To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you +have certain responsibilities if you distribute copies of the +software, or if you modify it: responsibilities to respect the freedom +of others. +</p> +<p>For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, +receive or can get the source code. And you must show them these +terms so they know their rights. +</p> +<p>Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. +</p> +<p>For the developers’ and authors’ protection, the GPL clearly explains +that there is no warranty for this free software. For both users’ and +authors’ sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. +</p> +<p>Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the +manufacturer can do so. This is fundamentally incompatible with the +aim of protecting users’ freedom to change the software. The +systematic pattern of such abuse occurs in the area of products for +individuals to use, which is precisely where it is most unacceptable. +Therefore, we have designed this version of the GPL to prohibit the +practice for those products. If such problems arise substantially in +other domains, we stand ready to extend this provision to those +domains in future versions of the GPL, as needed to protect the +freedom of users. +</p> +<p>Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish +to avoid the special danger that patents applied to a free program +could make it effectively proprietary. To prevent this, the GPL +assures that patents cannot be used to render the program non-free. +</p> +<p>The precise terms and conditions for copying, distribution and +modification follow. +</p> +<span id="TERMS-AND-CONDITIONS"></span><h3 class="heading">TERMS AND CONDITIONS</h3> + +<ol start="0"> +<li> Definitions. + +<p>“This License” refers to version 3 of the GNU General Public License. +</p> +<p>“Copyright” also means copyright-like laws that apply to other kinds +of works, such as semiconductor masks. +</p> +<p>“The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as “you”. “Licensees” and +“recipients” may be individuals or organizations. +</p> +<p>To “modify” a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of +an exact copy. The resulting work is called a “modified version” of +the earlier work or a work “based on” the earlier work. +</p> +<p>A “covered work” means either the unmodified Program or a work based +on the Program. +</p> +<p>To “propagate” a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. +</p> +<p>To “convey” a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user +through a computer network, with no transfer of a copy, is not +conveying. +</p> +<p>An interactive user interface displays “Appropriate Legal Notices” to +the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. +</p> +</li><li> Source Code. + +<p>The “source code” for a work means the preferred form of the work for +making modifications to it. “Object code” means any non-source form +of a work. +</p> +<p>A “Standard Interface” means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. +</p> +<p>The “System Libraries” of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +“Major Component”, in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. +</p> +<p>The “Corresponding Source” for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work’s +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. +</p> +<p>The Corresponding Source need not include anything that users can +regenerate automatically from other parts of the Corresponding Source. +</p> +<p>The Corresponding Source for a work in source code form is that same +work. +</p> +</li><li> Basic Permissions. + +<p>All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. +</p> +<p>You may make, run and propagate covered works that you do not convey, +without conditions so long as your license otherwise remains in force. +You may convey covered works to others for the sole purpose of having +them make modifications exclusively for you, or provide you with +facilities for running those works, provided that you comply with the +terms of this License in conveying all material for which you do not +control copyright. Those thus making or running the covered works for +you must do so exclusively on your behalf, under your direction and +control, on terms that prohibit them from making any copies of your +copyrighted material outside their relationship with you. +</p> +<p>Conveying under any other circumstances is permitted solely under the +conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. +</p> +</li><li> Protecting Users’ Legal Rights From Anti-Circumvention Law. + +<p>No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. +</p> +<p>When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such +circumvention is effected by exercising rights under this License with +respect to the covered work, and you disclaim any intention to limit +operation or modification of the work as a means of enforcing, against +the work’s users, your or third parties’ legal rights to forbid +circumvention of technological measures. +</p> +</li><li> Conveying Verbatim Copies. + +<p>You may convey verbatim copies of the Program’s source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. +</p> +<p>You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. +</p> +</li><li> Conveying Modified Source Versions. + +<p>You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these +conditions: +</p> +<ol type="a" start="1"> +<li> The work must carry prominent notices stating that you modified it, +and giving a relevant date. + +</li><li> The work must carry prominent notices stating that it is released +under this License and any conditions added under section 7. This +requirement modifies the requirement in section 4 to “keep intact all +notices”. + +</li><li> You must license the entire work, as a whole, under this License to +anyone who comes into possession of a copy. This License will +therefore apply, along with any applicable section 7 additional terms, +to the whole of the work, and all its parts, regardless of how they +are packaged. This License gives no permission to license the work in +any other way, but it does not invalidate such permission if you have +separately received it. + +</li><li> If the work has interactive user interfaces, each must display +Appropriate Legal Notices; however, if the Program has interactive +interfaces that do not display Appropriate Legal Notices, your work +need not make them do so. +</li></ol> + +<p>A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +“aggregate” if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation’s users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. +</p> +</li><li> Conveying Non-Source Forms. + +<p>You may convey a covered work in object code form under the terms of +sections 4 and 5, provided that you also convey the machine-readable +Corresponding Source under the terms of this License, in one of these +ways: +</p> +<ol type="a" start="1"> +<li> Convey the object code in, or embodied in, a physical product +(including a physical distribution medium), accompanied by the +Corresponding Source fixed on a durable physical medium customarily +used for software interchange. + +</li><li> Convey the object code in, or embodied in, a physical product +(including a physical distribution medium), accompanied by a written +offer, valid for at least three years and valid for as long as you +offer spare parts or customer support for that product model, to give +anyone who possesses the object code either (1) a copy of the +Corresponding Source for all the software in the product that is +covered by this License, on a durable physical medium customarily used +for software interchange, for a price no more than your reasonable +cost of physically performing this conveying of source, or (2) access +to copy the Corresponding Source from a network server at no charge. + +</li><li> Convey individual copies of the object code with a copy of the written +offer to provide the Corresponding Source. This alternative is +allowed only occasionally and noncommercially, and only if you +received the object code with such an offer, in accord with subsection +6b. + +</li><li> Convey the object code by offering access from a designated place +(gratis or for a charge), and offer equivalent access to the +Corresponding Source in the same way through the same place at no +further charge. You need not require recipients to copy the +Corresponding Source along with the object code. If the place to copy +the object code is a network server, the Corresponding Source may be +on a different server (operated by you or a third party) that supports +equivalent copying facilities, provided you maintain clear directions +next to the object code saying where to find the Corresponding Source. +Regardless of what server hosts the Corresponding Source, you remain +obligated to ensure that it is available for as long as needed to +satisfy these requirements. + +</li><li> Convey the object code using peer-to-peer transmission, provided you +inform other peers where the object code and Corresponding Source of +the work are being offered to the general public at no charge under +subsection 6d. + +</li></ol> + +<p>A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. +</p> +<p>A “User Product” is either (1) a “consumer product”, which means any +tangible personal property which is normally used for personal, +family, or household purposes, or (2) anything designed or sold for +incorporation into a dwelling. In determining whether a product is a +consumer product, doubtful cases shall be resolved in favor of +coverage. For a particular product received by a particular user, +“normally used” refers to a typical or common use of that class of +product, regardless of the status of the particular user or of the way +in which the particular user actually uses, or expects or is expected +to use, the product. A product is a consumer product regardless of +whether the product has substantial commercial, industrial or +non-consumer uses, unless such uses represent the only significant +mode of use of the product. +</p> +<p>“Installation Information” for a User Product means any methods, +procedures, authorization keys, or other information required to +install and execute modified versions of a covered work in that User +Product from a modified version of its Corresponding Source. The +information must suffice to ensure that the continued functioning of +the modified object code is in no case prevented or interfered with +solely because modification has been made. +</p> +<p>If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). +</p> +<p>The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or +updates for a work that has been modified or installed by the +recipient, or for the User Product in which it has been modified or +installed. Access to a network may be denied when the modification +itself materially and adversely affects the operation of the network +or violates the rules and protocols for communication across the +network. +</p> +<p>Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. +</p> +</li><li> Additional Terms. + +<p>“Additional permissions” are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. +</p> +<p>When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. +</p> +<p>Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders +of that material) supplement the terms of this License with terms: +</p> +<ol type="a" start="1"> +<li> Disclaiming warranty or limiting liability differently from the terms +of sections 15 and 16 of this License; or + +</li><li> Requiring preservation of specified reasonable legal notices or author +attributions in that material or in the Appropriate Legal Notices +displayed by works containing it; or + +</li><li> Prohibiting misrepresentation of the origin of that material, or +requiring that modified versions of such material be marked in +reasonable ways as different from the original version; or + +</li><li> Limiting the use for publicity purposes of names of licensors or +authors of the material; or + +</li><li> Declining to grant rights under trademark law for use of some trade +names, trademarks, or service marks; or + +</li><li> Requiring indemnification of licensors and authors of that material by +anyone who conveys the material (or modified versions of it) with +contractual assumptions of liability to the recipient, for any +liability that these contractual assumptions directly impose on those +licensors and authors. +</li></ol> + +<p>All other non-permissive additional terms are considered “further +restrictions” within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. +</p> +<p>If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. +</p> +<p>Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; the +above requirements apply either way. +</p> +</li><li> Termination. + +<p>You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). +</p> +<p>However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. +</p> +<p>Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. +</p> +<p>Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. +</p> +</li><li> Acceptance Not Required for Having Copies. + +<p>You are not required to accept this License in order to receive or run +a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. +</p> +</li><li> Automatic Licensing of Downstream Recipients. + +<p>Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. +</p> +<p>An “entity transaction” is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party’s predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. +</p> +<p>You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. +</p> +</li><li> Patents. + +<p>A “contributor” is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor’s “contributor version”. +</p> +<p>A contributor’s “essential patent claims” are all patent claims owned +or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, “control” includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. +</p> +<p>Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor’s essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. +</p> +<p>In the following three paragraphs, a “patent license” is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To “grant” such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. +</p> +<p>If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. “Knowingly relying” means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient’s use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. +</p> +<p>If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. +</p> +<p>A patent license is “discriminatory” if it does not include within the +scope of its coverage, prohibits the exercise of, or is conditioned on +the non-exercise of one or more of the rights that are specifically +granted under this License. You may not convey a covered work if you +are a party to an arrangement with a third party that is in the +business of distributing software, under which you make payment to the +third party based on the extent of your activity of conveying the +work, and under which the third party grants, to any of the parties +who would receive the covered work from you, a discriminatory patent +license (a) in connection with copies of the covered work conveyed by +you (or copies made from those copies), or (b) primarily for and in +connection with specific products or compilations that contain the +covered work, unless you entered into that arrangement, or that patent +license was granted, prior to 28 March 2007. +</p> +<p>Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. +</p> +</li><li> No Surrender of Others’ Freedom. + +<p>If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey +a covered work so as to satisfy simultaneously your obligations under +this License and any other pertinent obligations, then as a +consequence you may not convey it at all. For example, if you agree +to terms that obligate you to collect a royalty for further conveying +from those to whom you convey the Program, the only way you could +satisfy both those terms and this License would be to refrain entirely +from conveying the Program. +</p> +</li><li> Use with the GNU Affero General Public License. + +<p>Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. +</p> +</li><li> Revised Versions of this License. + +<p>The Free Software Foundation may publish revised and/or new versions +of the GNU General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. +</p> +<p>Each version is given a distinguishing version number. If the Program +specifies that a certain numbered version of the GNU General Public +License “or any later version” applies to it, you have the option of +following the terms and conditions either of that numbered version or +of any later version published by the Free Software Foundation. If +the Program does not specify a version number of the GNU General +Public License, you may choose any version ever published by the Free +Software Foundation. +</p> +<p>If the Program specifies that a proxy can decide which future versions +of the GNU General Public License can be used, that proxy’s public +statement of acceptance of a version permanently authorizes you to +choose that version for the Program. +</p> +<p>Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. +</p> +</li><li> Disclaimer of Warranty. + +<p>THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. +</p> +</li><li> Limitation of Liability. + +<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR +CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT +NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR +LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM +TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER +PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +</p> +</li><li> Interpretation of Sections 15 and 16. + +<p>If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. +</p> +</li></ol> + +<span id="END-OF-TERMS-AND-CONDITIONS"></span><h3 class="heading">END OF TERMS AND CONDITIONS</h3> + +<span id="How-to-Apply-These-Terms-to-Your-New-Programs"></span><h3 class="heading">How to Apply These Terms to Your New Programs</h3> + +<p>If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. +</p> +<p>To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the “copyright” line and a pointer to where the full notice is found. +</p> +<div class="example"> +<pre class="example"><var>one line to give the program's name and a brief idea of what it does.</var> +Copyright (C) <var>year</var> <var>name of author</var> + +This program 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. + +This program 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 this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. +</pre></div> + +<p>Also add information on how to contact you by electronic and paper mail. +</p> +<p>If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: +</p> +<div class="example"> +<pre class="example"><var>program</var> Copyright (C) <var>year</var> <var>name of author</var> +This program comes with ABSOLUTELY NO WARRANTY; for details type ‘<samp>show w</samp>’. +This is free software, and you are welcome to redistribute it +under certain conditions; type ‘<samp>show c</samp>’ for details. +</pre></div> + +<p>The hypothetical commands ‘<samp>show w</samp>’ and ‘<samp>show c</samp>’ should show +the appropriate parts of the General Public License. Of course, your +program’s commands might be different; for a GUI interface, you would +use an “about box”. +</p> +<p>You should also get your employer (if you work as a programmer) or school, +if any, to sign a “copyright disclaimer” for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. +</p> +<p>The GNU General Public License does not permit incorporating your +program into proprietary programs. If your program is a subroutine +library, you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use +the GNU Lesser General Public License instead of this License. But +first, please read <a href="http://www.gnu.org/philosophy/why-not-lgpl.html">http://www.gnu.org/philosophy/why-not-lgpl.html</a>. +</p> +<hr> +</div> +<div class="unnumbered" id="Index"> +<div class="header"> +<p> +Previous: <a href="#Copying" accesskey="p" rel="prev">GNU General Public License</a>, Up: <a href="#Top" accesskey="u" rel="up">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<span id="Index-1"></span><h2 class="unnumbered">Index</h2> + +<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> + +<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> + +<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> + +</td></tr></table> +<table class="index-cp" border="0"> +<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th id="Index_cp_letter-B">B</th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Basic-Usage-Overview">Basic Usage Overview</a>:</td><td> </td><td valign="top"><a href="#Basic-Usage-Overview">Basic Usage Overview</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th id="Index_cp_letter-C">C</th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-copyright">copyright</a>:</td><td> </td><td valign="top"><a href="#Copying">Copying</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th id="Index_cp_letter-D">D</th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Dicom-Functions">Dicom Functions</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicomanon">dicomanon</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicomdict">dicomdict</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicomdisp">dicomdisp</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicomfind">dicomfind</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicominfo">dicominfo</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicomlookup">dicomlookup</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicomread">dicomread</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicomuid">dicomuid</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicomupdate">dicomupdate</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-dicomwrite">dicomwrite</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th id="Index_cp_letter-F">F</th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Function-Reference">Function Reference</a>:</td><td> </td><td valign="top"><a href="#Function-Reference">Function Reference</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Installing-and-loading">Installing and loading</a>:</td><td> </td><td valign="top"><a href="#Installing-and-loading">Installing and loading</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-isdicom">isdicom</a>:</td><td> </td><td valign="top"><a href="#Dicom-Functions">Dicom Functions</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th id="Index_cp_letter-L">L</th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Loading">Loading</a>:</td><td> </td><td valign="top"><a href="#Installing-and-loading">Installing and loading</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th id="Index_cp_letter-O">O</th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-Off_002dline-install">Off-line install</a>:</td><td> </td><td valign="top"><a href="#Installing-and-loading">Installing and loading</a></td></tr> +<tr><td></td><td valign="top"><a href="#index-Online-install">Online install</a>:</td><td> </td><td valign="top"><a href="#Installing-and-loading">Installing and loading</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +<tr><th id="Index_cp_letter-W">W</th><td></td><td></td></tr> +<tr><td></td><td valign="top"><a href="#index-warranty">warranty</a>:</td><td> </td><td valign="top"><a href="#Copying">Copying</a></td></tr> +<tr><td colspan="4"> <hr></td></tr> +</table> +<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> + +<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> + +<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> + +<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> + +<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> + +<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> + +<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> + +<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> + +</td></tr></table> + +</div> +</div> + + + +</body> +</html> diff --git a/doc/dicom.pdf b/doc/dicom.pdf Binary files differindex 7fe8ba3..424a2a1 100644 --- a/doc/dicom.pdf +++ b/doc/dicom.pdf diff --git a/doc/dicom.qch b/doc/dicom.qch Binary files differnew file mode 100644 index 0000000..804a8a4 --- /dev/null +++ b/doc/dicom.qch diff --git a/doc/dicom.qhc b/doc/dicom.qhc Binary files differnew file mode 100644 index 0000000..234f174 --- /dev/null +++ b/doc/dicom.qhc diff --git a/doc/dicom.texi b/doc/dicom.texi index 7933575..78f5297 100644 --- a/doc/dicom.texi +++ b/doc/dicom.texi @@ -11,7 +11,7 @@ @afourpaper @paragraphindent 0 @finalout -@set VERSION 0.4.1 +@set VERSION 0.5.1 @set COPYRIGHT_DATE 2019-2022 @c @afourwide @c %*** End of the HEADER diff --git a/doc/functions.texi b/doc/functions.texi index 5800cf3..811e2d3 100644 --- a/doc/functions.texi +++ b/doc/functions.texi @@ -1,11 +1,11 @@ @c --------------------------------------------------- -@node Dicom Functions -@section Dicom Functions -@cindex Dicom Functions +@node Dicom Functions +@section Dicom Functions +@cindex Dicom Functions @c Dicom Functions dicomanon @c ----------------------------------------- -@subsection dicomanon -@cindex dicomanon +@subsection dicomanon +@cindex dicomanon @deftypefn {Loadable Function} {} dicomanon(@var{file_in}, @var{file_out}) @deftypefnx {Loadable Function} {} dicomanon(___, @var{name}, @var{value}) @@ -31,8 +31,8 @@ None @c Dicom Functions dicomdict @c ----------------------------------------- -@subsection dicomdict -@cindex dicomdict +@subsection dicomdict +@cindex dicomdict @deftypefn {Loadable Function} {@var{dictionary_name} =} dicomdict (@code{get}) @deftypefnx {Loadable Function} {} dicomdict (@code{factory}) @deftypefnx {Loadable Function} {} dicomdict (@code{set}, @var{dictionary_name}) @@ -70,8 +70,8 @@ Set a new dictionary: @c Dicom Functions dicomdisp @c ----------------------------------------- -@subsection dicomdisp -@cindex dicomdisp +@subsection dicomdisp +@cindex dicomdisp @deftypefn {Loadable Function} {} dicomdisp (@var{filename}) @deftypefnx {Loadable Function} {} dicomdisp (@var{filename}, [@var{propertyname}, @var{propertvalue} ...]) Read and display the metadata from a DICOM file. @@ -89,8 +89,8 @@ None @c Dicom Functions dicomfind @c ----------------------------------------- -@subsection dicomfind -@cindex dicomfind +@subsection dicomfind +@cindex dicomfind @deftypefn {} {@var{attrinfo}} = dicomfind(@var{filename}, @var{attribute}) @deftypefnx {} {@var{attrinfo}} = dicomfind(@var{info}, @var{attribute}) Find the location and value of an attribute in a dicom file or info structure. @@ -115,8 +115,8 @@ None @end deftypefn @c Dicom Functions dicominfo @c ----------------------------------------- -@subsection dicominfo -@cindex dicominfo +@subsection dicominfo +@cindex dicominfo @deftypefn {Loadable Function} {@var{info}} = dicominfo (@var{filename}) @deftypefnx {Loadable Function} {@var{info}} = dicominfo (@var{filename}, @code{dictionary}, @var{dictionary-name}) @deftypefnx {Loadable Function} {} dicominfo (@var{filename}, @var{options}) @@ -193,8 +193,8 @@ PixelData = not assigned @c Dicom Functions dicomlookup @c ----------------------------------------- -@subsection dicomlookup -@cindex dicomlookup +@subsection dicomlookup +@cindex dicomlookup @deftypefn {Loadable Function} @var{keyword} = dicomlookup (@var{group}, @var{element}) @deftypefnx {Loadable Function} [@var{group}, @var{element}] = dicomlookup (@var{keyword}) @@ -238,8 +238,8 @@ elm = 16 @c Dicom Functions dicomread @c ----------------------------------------- -@subsection dicomread -@cindex dicomread +@subsection dicomread +@cindex dicomread @deftypefn {Loadable Function} @var{image} = dicomread (@var{filename}) @deftypefnx {Loadable Function} @var{image} = dicomread (@var{structure}) @@ -258,7 +258,7 @@ Load the image from a DICOM file. Load the image data of a dcm file: @example -> image = dicomread(file_in_load_path('imdata/simple-test.dcm')) +> image = dicomread(file_in_loadpath('imdata/simple-test.dcm')) image = 0 0 0 0 0 0 0 0 0 0 @@ -277,8 +277,8 @@ image = @c Dicom Functions dicomuid @c ----------------------------------------- -@subsection dicomuid -@cindex dicomuid +@subsection dicomuid +@cindex dicomuid @deftypefn {Loadable Function} @var{uuid} = dicomuid () Generate a DICOM unique id . @@ -300,8 +300,8 @@ uid = 1.2.826.0.1.3680043.2.1143.3114589836670200378351641061429967573 @c Dicom Functions dicomupdate @c ----------------------------------------- -@subsection dicomupdate -@cindex dicomupdate +@subsection dicomupdate +@cindex dicomupdate @deftypefn {} {@var{info} =} dicomupdate(@var{fileinfo}, @var{attribute}, @var{value}) @deftypefnx {} {@var{info} =} dicomupdate(@var{info}, @var{attrinfo}) Update a dicom struct with new values @@ -335,8 +335,8 @@ uid = 1.2.826.0.1.3680043.2.1143.3114589836670200378351641061429967573 @end deftypefn @c Dicom Functions dicomwrite @c ----------------------------------------- -@subsection dicomwrite -@cindex dicomwrite +@subsection dicomwrite +@cindex dicomwrite @deftypefn {Loadable Function} {} dicomwrite(@var{im}, @var{filename}) @deftypefnx {Loadable Function} {} dicomwrite(@var{im}, @var{filename}, @var{info}) @@ -369,8 +369,8 @@ Create a dicom file using data and meta info: @c Dicom Functions isdicom @c ----------------------------------------- -@subsection isdicom -@cindex isdicom +@subsection isdicom +@cindex isdicom @deftypefn {Loadable Function} {@var{yesno} =} isdicom (@var{filename}) Return true if @var{filename} is a valid DICOM file. diff --git a/doc/mkfuncdocs.py b/doc/mkfuncdocs.py index f5b99bd..0985d93 100755 --- a/doc/mkfuncdocs.py +++ b/doc/mkfuncdocs.py @@ -1,6 +1,6 @@ -#!/usr/bin/python2 +#!/usr/bin/python3 -## Copyright 2018-2020 John Donoghue +## Copyright 2018-2022 John Donoghue ## ## This program is free software: you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ ## along with this program. If not, see ## <https://www.gnu.org/licenses/>. -## mkfuncdocs v1.0.1 +## mkfuncdocs v1.0.4 ## mkfuncdocs.py will attempt to extract the help texts from functions in src ## dirs, extracting only those that are in the specifed INDEX file and output them ## to stdout in texi format @@ -39,6 +39,9 @@ ## --funcprefix=xxxxx : remove xxxxx from the function name when searching for matching ## source file. ## --allowscan : if can not find function, attemp to scan .cc,cpp,cxx files for match +## +## --standalone : generate a texinfo file expected to be used with being included in +## another document file. import sys import os @@ -56,13 +59,23 @@ class Group: functions = [] def __init__ (self, name=""): - self.name = name + if name: + self.name = name self.functions = [] class Index: name = "" groups = [] +def texify_line(line): + # convert any special chars in a line to texinfo format + # currently just used for group formatting ? + line = line.replace("@", "@@") + line = line.replace("{", "@{") + line = line.replace("}", "@}") + line = line.replace(",", "@comma{}") + return line + def find_defun_line_in_file(filename, fnname): linecnt = 0 @@ -149,7 +162,7 @@ def read_index (filename, ignore): with open(filename, 'rt') as f: lines = f.read().splitlines() - #print "read", lines + #print ("read", lines) first = True category = Group() for l in lines: @@ -182,6 +195,11 @@ def find_func_file(fname, paths, prefix, scanfiles=False): name = f + "/" + fname + ".m" if os.path.isfile(name): return name, 0 + # class constructor ? + name = f + "/@" + fname + "/" + fname + ".m" + if os.path.isfile(name): + return name, 0 + name = f + "/" + fname + ".cc" name = f + "/" + fname + ".cc" if os.path.isfile(name): return name, 0 @@ -216,19 +234,44 @@ def find_func_file(fname, paths, prefix, scanfiles=False): return None, -1 +def display_standalone_header(): + # make a file that doesnt need to be included in a texinfo file to + # be valid + print("@c mkfuncdocs output for a standalone function list") + print("@include macros.texi") + print("@ifnottex") + print("@node Top") + print("@top Function Documentation") + print("Function documentation extracted from texinfo source in octave source files.") + print("@contents") + print("@end ifnottex") + print("@node Function Reference") + print("@chapter Function Reference") + print("@cindex Function Reference") + +def display_standalone_footer(): + print("@bye") + def display_func(name, ref, help): - print "@c -----------------------------------------" - print "@subsection ", name - print "@cindex ", ref + print ("@c -----------------------------------------") + print ("@subsection {}".format(name)) + print ("@cindex {}".format(ref)) for l in help: - print l + print ("{}".format(l)) def process (args): - options = { "verbose": False, "srcdir": [], "funcprefix": "", "ignore": [], "allowscan": False } + options = { + "verbose": False, + "srcdir": [], + "funcprefix": "", + "ignore": [], + "standalone": False, + "allowscan": False + } indexfile = "" for a in args: - #print a + #print ("{}".format(a)) c=a.split("=") key=c[0] @@ -239,6 +282,8 @@ def process (args): if key == "--verbose": options["verbose"] = True; + if key == "--standalone": + options["standalone"] = True; elif key == "--allowscan": options["allowscan"] = True; elif key == "--src-dir": @@ -261,22 +306,25 @@ def process (args): options["srcdir"].append("inst") #print "options=", options + if options['standalone']: + display_standalone_header() idx = read_index(indexfile, options["ignore"]) for g in idx.groups: - #print "************ ", g.name - print "@c ---------------------------------------------------" - print "@node ", g.name - print "@section ", g.name - print "@cindex ", g.name + #print ("************ {}".format(g.name)) + g_name = texify_line(g.name) + print ("@c ---------------------------------------------------") + print ("@node {}".format(g_name)) + print ("@section {}".format(g_name)) + print ("@cindex {}".format(g_name)) for f in sorted(g.functions): - print "@c", g.name, f + print ("@c {} {}".format(g_name, f)) h = "" filename = "" path = "" if "@" in f: - #print "class func" + #print ("class func") path = f name = "@" + f ref = f.split("/")[-1] @@ -314,9 +362,12 @@ def process (args): if h: display_func (name, ref, h) - + if options['standalone']: + display_standalone_footer() + + def show_usage(): - print sys.argv[0], "[options] indexfile" + print (sys.argv[0], "[options] indexfile") if __name__ == "__main__": if len(sys.argv) > 1: diff --git a/doc/mkqhcp.py b/doc/mkqhcp.py new file mode 100755 index 0000000..97672ee --- /dev/null +++ b/doc/mkqhcp.py @@ -0,0 +1,143 @@ +#!/usr/bin/python3 + +## Copyright 2022 John Donoghue +## +## This program 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. +## +## This program 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 this program. If not, see +## <https://www.gnu.org/licenses/>. + +import sys +import os +import re + +def process(name): + with open(name + ".qhcp", 'wt') as f: + f.write ('<?xml version="1.0" encoding="UTF-8"?>\n') + f.write ('<QHelpCollectionProject version="1.0">\n') + f.write (' <docFiles>\n') + f.write (' <generate>\n') + f.write (' <file>\n') + f.write (' <input>{0}.qhp</input>\n'.format(name)) + f.write (' <output>{0}.qch</output>\n'.format(name)) + f.write (' </file>\n') + f.write (' </generate>\n') + f.write (' <register>\n') + f.write (' <file>{0}.qch</file>\n'.format(name)) + f.write (' </register>\n') + f.write (' </docFiles>\n') + f.write ('</QHelpCollectionProject>\n') + + title = name + pat_match = re.compile(".*<title>(?P<title>[^<]+)</title>.*") + with open(name + ".html", 'rt') as fin: + # find html + for line in fin: + line = line.strip() + e = pat_match.match(line) + if e: + title = e.group("title") + break + + h2_match = re.compile('.*<h2 class="chapter">(?P<title>[^<]+)</h2>.*') + h3_match = re.compile('.*<h3 class="section">(?P<title>[^<]+)</h3>.*') + h4_match = re.compile('.*<h4 class="subsection">(?P<title>[^<]+)</h4>.*') + tag_match1 = re.compile('.*<span id="(?P<tag>[^"]+)"></span>.*') + tag_match2 = re.compile('.*<div class="[sub]*section" id="(?P<tag>[^"]+)">.*') + index_match = re.compile('.*<h4 class="subsection">[\d\.\s]*(?P<name>[^<]+)</h4>.*') + + tag = "top" + has_h2 = False + has_h3 = False + + #pat_match = re.compile('.*<span id="(?P<tag>[^"])"></span>(?P<title>[.]+)$') + with open(name + ".html", 'rt') as fin: + with open(name + ".qhp", 'wt') as f: + f.write('<?xml version="1.0" encoding="UTF-8"?>\n') + f.write('<QtHelpProject version="1.0">\n') + f.write(' <namespace>octave.community.{}</namespace>\n'.format(name)) + f.write(' <virtualFolder>doc</virtualFolder>\n') + f.write(' <filterSection>\n') + f.write(' <toc>\n') + f.write(' <section title="{}" ref="{}.html">\n'.format(title, name)) + # chapters here + for line in fin: + line = line.strip() + e = tag_match1.match(line) + if not e: + e = tag_match2.match(line) + if e: + tag = e.group("tag") + + e = h2_match.match(line) + if e: + if has_h3: + f.write(' </section>\n') + has_h3 = False + if has_h2: + f.write(' </section>\n') + has_h2 = True + f.write(' <section title="{}" ref="{}.html#{}">\n'.format(e.group("title"), name, tag)) + + e = h3_match.match(line) + if e: + if has_h3: + f.write(' </section>\n') + has_h3 = True + + f.write(' <section title="{}" ref="{}.html#{}">\n'.format(e.group("title"), name, tag)) + + e = h4_match.match(line) + if e: + f.write(' <section title="{}" ref="{}.html#{}"></section>\n'.format(e.group("title"), name, tag)) + + + if has_h3: + f.write(' </section>\n') + if has_h2: + f.write(' </section>\n') + + f.write(' </section>\n') + f.write(' </toc>\n') + f.write(' <keywords>\n') + + fin.seek(0) + for line in fin: + line = line.strip() + e = tag_match1.match(line) + if not e: + e = tag_match2.match(line) + if e: + tag = e.group("tag") + + e = index_match.match(line) + if e: + f.write(' <keyword name="{}" ref="{}.html#{}"></keyword>\n'.format(e.group("name"), name, tag)) + + f.write(' </keywords>\n') + f.write(' <files>\n') + f.write(' <file>{}.html</file>\n'.format(name)) + f.write(' <file>{}.css</file>\n'.format(name)) + f.write(' </files>\n') + f.write(' </filterSection>\n') + f.write('</QtHelpProject>\n') + + +def show_usage(): + print (sys.argv[0], "projname") + +if __name__ == "__main__": + if len(sys.argv) > 1: + status = process(sys.argv[1]) + sys.exit(status) + else: + show_usage() diff --git a/inst/PKG_ADD b/inst/PKG_ADD new file mode 100644 index 0000000..2dca414 --- /dev/null +++ b/inst/PKG_ADD @@ -0,0 +1,14 @@ +# on package load, attempt to load docs +try + pkg_dir = fileparts (fullfile (mfilename ("fullpath"))); + doc_file = fullfile (pkg_dir, "doc", "dicom.qch"); + if exist(doc_file, "file") + if exist("__event_manager_register_documentation__") + __event_manager_register_documentation__ (doc_file); + elseif exist("__event_manager_register_doc__") + __event_manager_register_doc__ (doc_file); + endif + endif +catch + # do nothing +end_try_catch diff --git a/inst/PKG_DEL b/inst/PKG_DEL new file mode 100644 index 0000000..5677d00 --- /dev/null +++ b/inst/PKG_DEL @@ -0,0 +1,14 @@ +# on package load, attempt to unload docs +try + pkg_dir = fileparts (fullfile (mfilename ("fullpath"))); + doc_file = fullfile (pkg_dir, "doc", "dicom.qch"); + if exist(doc_file, "file") + if exist("__event_manager_unregister_documentation__") + __event_manager_unregister_documentation__ (doc_file); + elseif exist("__event_manager_unregister_doc__") + __event_manager_unregister_doc__ (doc_file); + endif + endif +catch + # do nothing +end_try_catch diff --git a/src/Makefile.in b/src/Makefile.in index 287368a..c27c0fc 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -43,6 +43,8 @@ clean: test -e ../inst/$(ARCHDIR) && rmdir ../inst/$(ARCHDIR) || true distclean: clean - $(RM) Makefile config.log - $(RM) -r autom4te.cache + $(RM) config.log config.status config.h + $(RM) -rf autom4te.cache $(RM) -r CMakeFiles + $(RM) -f oct-alt-includes.h + $(RM) Makefile diff --git a/src/aclocal.m4 b/src/aclocal.m4 index bb6bd80..a515291 100644 --- a/src/aclocal.m4 +++ b/src/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.2 -*- Autoconf -*- +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/src/config.h.in b/src/config.h.in index a9b103c..d2e9435 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -8,15 +8,15 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - /* Whether we have the interpreter load path */ #undef HAVE_OCTAVE_LOAD_PATH /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -65,7 +65,9 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS #include "oct-alt-includes.h" diff --git a/src/configure b/src/configure index 62a28e0..1b02b34 100755 --- a/src/configure +++ b/src/configure @@ -1,9 +1,10 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Octave-Forge dicom package 0.5.0. +# Generated by GNU Autoconf 2.71 for Octave-Forge dicom package 0.5.1. # # -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -14,14 +15,16 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -31,46 +34,46 @@ esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi +if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -79,13 +82,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -94,8 +90,12 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -107,30 +107,10 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -152,20 +132,22 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else +else \$as_nop case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( @@ -185,42 +167,53 @@ as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : -else +else \$as_nop exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : + if (eval "$as_required") 2>/dev/null +then : as_have_required=yes -else +else $as_nop as_have_required=no fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : -else +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base + as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : break 2 fi fi @@ -228,14 +221,21 @@ fi esac as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi - if test "x$CONFIG_SHELL" != x; then : + if test "x$CONFIG_SHELL" != x +then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also @@ -253,18 +253,19 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -291,6 +292,7 @@ as_fn_unset () } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -308,6 +310,14 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -322,7 +332,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -331,7 +341,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -370,12 +380,13 @@ as_fn_executable_p () # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -387,18 +398,27 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- @@ -410,9 +430,9 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -439,7 +459,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -483,7 +503,7 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall @@ -497,6 +517,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits exit } + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -510,6 +534,13 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -577,53 +608,48 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Octave-Forge dicom package' PACKAGE_TARNAME='octave-forge-dicom-package' -PACKAGE_VERSION='0.5.0' -PACKAGE_STRING='Octave-Forge dicom package 0.5.0' +PACKAGE_VERSION='0.5.1' +PACKAGE_STRING='Octave-Forge dicom package 0.5.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ -#include <stdio.h> -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> +#include <stddef.h> +#ifdef HAVE_STDIO_H +# include <stdio.h> #endif -#ifdef HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#ifdef STDC_HEADERS +#ifdef HAVE_STDLIB_H # include <stdlib.h> -# include <stddef.h> -#else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# endif #endif #ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include <memory.h> -# endif # include <string.h> #endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif #ifdef HAVE_INTTYPES_H # include <inttypes.h> #endif #ifdef HAVE_STDINT_H # include <stdint.h> #endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif #ifdef HAVE_UNISTD_H # include <unistd.h> #endif" +ac_header_cxx_list= ac_subst_vars='LTLIBOBJS LIBOBJS GDCM_LIBS GDCM_CXXFLAGS CMAKE_BINARY -EGREP CXXCPP OBJEXT EXEEXT @@ -774,8 +800,6 @@ do *) ac_optarg=yes ;; esac - # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; @@ -816,9 +840,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -842,9 +866,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1055,9 +1079,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1071,9 +1095,9 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1117,9 +1141,9 @@ Try \`$0 --help' for more information" *) # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; @@ -1135,7 +1159,7 @@ if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1199,7 +1223,7 @@ $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | +printf "%s\n" X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1256,7 +1280,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Octave-Forge dicom package 0.5.0 to adapt to many kinds of systems. +\`configure' configures Octave-Forge dicom package 0.5.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1324,7 +1348,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Octave-Forge dicom package 0.5.0:";; + short | recursive ) echo "Configuration of Octave-Forge dicom package 0.5.1:";; esac cat <<\_ACEOF @@ -1362,9 +1386,9 @@ if test "$ac_init_help" = "recursive"; then case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -1392,7 +1416,8 @@ esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive @@ -1400,7 +1425,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix echo && $SHELL "$ac_srcdir/configure" --help=recursive else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1409,10 +1434,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Octave-Forge dicom package configure 0.5.0 -generated by GNU Autoconf 2.69 +Octave-Forge dicom package configure 0.5.1 +generated by GNU Autoconf 2.71 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1429,14 +1454,14 @@ fi ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1444,14 +1469,15 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then : + } && test -s conftest.$ac_objext +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1473,7 +1499,7 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1481,14 +1507,15 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1498,135 +1525,6 @@ fi } # ac_fn_cxx_try_cpp -# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES -# --------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_cxx_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_cxx_check_header_mongrel - -# ac_fn_cxx_try_run LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_cxx_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_run - # ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES # --------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in @@ -1634,26 +1532,28 @@ fi ac_fn_cxx_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_header_compile @@ -1664,14 +1564,14 @@ $as_echo "$ac_res" >&6; } ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1679,17 +1579,18 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1703,14 +1604,34 @@ fi as_fn_set_status $ac_retval } # ac_fn_cxx_try_link +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Octave-Forge dicom package $as_me 0.5.0, which was -generated by GNU Autoconf 2.69. Invocation command line was +It was created by Octave-Forge dicom package $as_me 0.5.1, which was +generated by GNU Autoconf 2.71. Invocation command line was - $ $0 $@ + $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log @@ -1743,8 +1664,12 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS @@ -1779,7 +1704,7 @@ do | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; @@ -1814,11 +1739,13 @@ done # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" # Save into config.log some information that might help in debugging. { echo - $as_echo "## ---------------- ## + printf "%s\n" "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo @@ -1829,8 +1756,8 @@ trap 'exit_status=$? case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -1854,7 +1781,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo @@ -1862,14 +1789,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## + printf "%s\n" "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo @@ -1877,15 +1804,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then - $as_echo "## ----------- ## + printf "%s\n" "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo @@ -1893,8 +1820,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; echo fi test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && @@ -1908,63 +1835,48 @@ ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -$as_echo "/* confdefs.h */" > confdefs.h +printf "%s\n" "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" + +for ac_site_file in $ac_site_files do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi @@ -1974,19 +1886,342 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include <cstdlib> +#include <exception> + +// <cassert> and <cstring> are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template <typename T> struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template <typename U> T add(U u) { return static_cast<T>(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template<double> tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template <typename Ret, typename Fn> Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template <typename V> auto sum(V first) -> V + { + return first; + } + template <typename V, typename... Args> auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template<int>> v(test_template<int>(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +as_fn_append ac_header_cxx_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_cxx_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_cxx_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_cxx_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_cxx_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_cxx_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_cxx_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_cxx_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_cxx_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +fi + # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -1997,12 +2232,12 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) @@ -2011,24 +2246,24 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -2038,11 +2273,12 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2060,55 +2296,30 @@ ac_config_headers="$ac_config_headers config.h" -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_build_alias=$build_alias test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; @@ -2127,21 +2338,22 @@ IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; @@ -2160,21 +2372,22 @@ IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if ${ac_cv_target+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else - ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; @@ -2201,11 +2414,12 @@ test -n "$target_alias" && program_prefix=${target_alias}- target_arch="${target_cpu}-${target_os}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" @@ -2219,10 +2433,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in sed gsed + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + ac_path_SED="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED @@ -2231,13 +2450,13 @@ case `"$ac_path_SED" --version 2>&1` in ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" + printf "%s\n" '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -2265,16 +2484,17 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST @@ -2282,10 +2502,15 @@ else for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP @@ -2294,13 +2519,13 @@ case `"$ac_path_GREP" --version 2>&1` in ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -2328,18 +2553,19 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" # Extract the first word of "uniq", so it can be a program name with args. set dummy uniq; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_UNIQ+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_UNIQ+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$UNIQ"; then ac_cv_prog_UNIQ="$UNIQ" # Let the user override the test. else @@ -2347,11 +2573,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_UNIQ="uniq" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2363,21 +2593,22 @@ fi fi UNIQ=$ac_cv_prog_UNIQ if test -n "$UNIQ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNIQ" >&5 -$as_echo "$UNIQ" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $UNIQ" >&5 +printf "%s\n" "$UNIQ" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi # Extract the first word of "sort", so it can be a program name with args. set dummy sort; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_SORT+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_SORT+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$SORT"; then ac_cv_prog_SORT="$SORT" # Let the user override the test. else @@ -2385,11 +2616,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_SORT="sort" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2401,65 +2636,129 @@ fi fi SORT=$ac_cv_prog_SORT if test -n "$SORT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SORT" >&5 -$as_echo "$SORT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SORT" >&5 +printf "%s\n" "$SORT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -# Extract the first word of "mkoctfile", so it can be a program name with args. -set dummy mkoctfile; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MKOCTFILE+:} false; then : - $as_echo_n "(cached) " >&6 +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mkoctfile", so it can be a program name with args. +set dummy ${ac_tool_prefix}mkoctfile; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MKOCTFILE+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MKOCTFILE"; then + ac_cv_prog_MKOCTFILE="$MKOCTFILE" # Let the user override the test. else - case $MKOCTFILE in - [\\/]* | ?:[\\/]*) - ac_cv_path_MKOCTFILE="$MKOCTFILE" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_MKOCTFILE="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_MKOCTFILE="${ac_tool_prefix}mkoctfile" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS - ;; -esac fi -MKOCTFILE=$ac_cv_path_MKOCTFILE +fi +MKOCTFILE=$ac_cv_prog_MKOCTFILE if test -n "$MKOCTFILE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKOCTFILE" >&5 -$as_echo "$MKOCTFILE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKOCTFILE" >&5 +printf "%s\n" "$MKOCTFILE" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -if test -z "$MKOCTFILE"; then - as_fn_error $? "*** 'mkoctfile' not found." "$LINENO" 5 fi -# Extract the first word of "octave-config", so it can be a program name with args. -set dummy octave-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OCTAVE_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 +if test -z "$ac_cv_prog_MKOCTFILE"; then + ac_ct_MKOCTFILE=$MKOCTFILE + # Extract the first word of "mkoctfile", so it can be a program name with args. +set dummy mkoctfile; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_MKOCTFILE+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_MKOCTFILE"; then + ac_cv_prog_ac_ct_MKOCTFILE="$ac_ct_MKOCTFILE" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MKOCTFILE="mkoctfile" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MKOCTFILE=$ac_cv_prog_ac_ct_MKOCTFILE +if test -n "$ac_ct_MKOCTFILE"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MKOCTFILE" >&5 +printf "%s\n" "$ac_ct_MKOCTFILE" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_MKOCTFILE" = x; then + MKOCTFILE="none" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MKOCTFILE=$ac_ct_MKOCTFILE + fi else + MKOCTFILE="$ac_cv_prog_MKOCTFILE" +fi + +if test "x$MKOCTFILE" = "xnone" ; then + as_fn_error $? "*** 'mkoctfile' not found." "$LINENO" 5 +fi +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}octave-config ", so it can be a program name with args. +set dummy ${ac_tool_prefix}octave-config ; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OCTAVE_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OCTAVE_CONFIG"; then ac_cv_prog_OCTAVE_CONFIG="$OCTAVE_CONFIG" # Let the user override the test. else @@ -2467,11 +2766,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OCTAVE_CONFIG="octave-config" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OCTAVE_CONFIG="${ac_tool_prefix}octave-config " + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2482,15 +2785,79 @@ fi fi OCTAVE_CONFIG=$ac_cv_prog_OCTAVE_CONFIG if test -n "$OCTAVE_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCTAVE_CONFIG" >&5 -$as_echo "$OCTAVE_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCTAVE_CONFIG" >&5 +printf "%s\n" "$OCTAVE_CONFIG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -test -z "$OCTAVE_CONFIG" && OCTAVE_CONFIG=$MKOCTFILE +fi +if test -z "$ac_cv_prog_OCTAVE_CONFIG"; then + ac_ct_OCTAVE_CONFIG=$OCTAVE_CONFIG + # Extract the first word of "octave-config ", so it can be a program name with args. +set dummy octave-config ; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OCTAVE_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OCTAVE_CONFIG"; then + ac_cv_prog_ac_ct_OCTAVE_CONFIG="$ac_ct_OCTAVE_CONFIG" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OCTAVE_CONFIG="octave-config " + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OCTAVE_CONFIG=$ac_cv_prog_ac_ct_OCTAVE_CONFIG +if test -n "$ac_ct_OCTAVE_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCTAVE_CONFIG" >&5 +printf "%s\n" "$ac_ct_OCTAVE_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OCTAVE_CONFIG" = x; then + OCTAVE_CONFIG="$MKOCTFILE" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OCTAVE_CONFIG=$ac_ct_OCTAVE_CONFIG + fi +else + OCTAVE_CONFIG="$ac_cv_prog_OCTAVE_CONFIG" +fi + + + + + + + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' @@ -2502,15 +2869,16 @@ if test -z "$CXX"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else @@ -2518,11 +2886,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2533,11 +2905,11 @@ fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -2546,15 +2918,16 @@ fi fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else @@ -2562,11 +2935,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2577,11 +2954,11 @@ fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -2593,8 +2970,8 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX @@ -2604,7 +2981,7 @@ fi fi fi # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do @@ -2614,7 +2991,7 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -2624,7 +3001,7 @@ $as_echo "$ac_try_echo"; } >&5 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -2632,7 +3009,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -2644,9 +3021,9 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 -$as_echo_n "checking whether the C++ compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" @@ -2667,11 +3044,12 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -2688,7 +3066,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -2704,44 +3082,46 @@ do done test "$ac_cv_exeext" = no && ac_cv_exeext= -else +else $as_nop ac_file='' fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C++ compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 -$as_echo_n "checking for C++ compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -2755,15 +3135,15 @@ for ac_file in conftest.exe conftest conftest.*; do * ) break;; esac done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext @@ -2772,7 +3152,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int -main () +main (void) { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; @@ -2784,8 +3164,8 @@ _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in @@ -2793,10 +3173,10 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in @@ -2804,39 +3184,40 @@ $as_echo "$ac_try_echo"; } >&5 *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C++ compiled programs. + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -2850,11 +3231,12 @@ case "(($ac_try" in *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -2863,31 +3245,32 @@ $as_echo "$ac_try_echo"; } >&5 break;; esac done -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -2897,29 +3280,33 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi -ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_test_CXXFLAGS=${CXXFLAGS+y} ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no @@ -2928,57 +3315,60 @@ else /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_prog_cxx_g=yes -else +else $as_nop CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : -else +else $as_nop ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : ac_cv_prog_cxx_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then @@ -2993,6 +3383,100 @@ else CXXFLAGS= fi fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +fi +fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3004,36 +3488,32 @@ ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif +#include <limits.h> Syntax error _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -3045,10 +3525,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -3058,7 +3539,8 @@ rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : break fi @@ -3070,29 +3552,24 @@ fi else ac_cv_prog_CXXCPP=$CXXCPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif +#include <limits.h> Syntax error _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -3104,10 +3581,11 @@ rm -f conftest.err conftest.i conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : +if ac_fn_cxx_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -3117,11 +3595,12 @@ rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi @@ -3141,215 +3620,42 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # check can access std c files - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +ac_header= ac_cache= +for ac_item in $ac_header_cxx_list do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count + if test $ac_cache; then + ac_fn_cxx_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : +done -else - ac_cv_header_stdc=no -fi -rm -f conftest* -fi -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : -else - ac_cv_header_stdc=no -fi -rm -f conftest* -fi -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : -$as_echo "#define STDC_HEADERS 1" >>confdefs.h +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in string.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" -if test "x$ac_cv_header_string_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRING_H 1 -_ACEOF +ac_fn_cxx_check_header_compile "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" +if test "x$ac_cv_header_string_h" = xyes +then : + printf "%s\n" "#define HAVE_STRING_H 1" >>confdefs.h fi -done - ## octave API tests save_CXX="$CXX" @@ -3366,11 +3672,12 @@ LIBS="-loctinterp $LIBS" # need to use interpreter->get_load_path in dev version of octave, # prior to that methods of load_path were static -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking interpreter get_load_path" >&5 -$as_echo_n "checking interpreter get_load_path... " >&6; } -if ${octave_cv_interpreter_get_load_path+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking interpreter get_load_path" >&5 +printf %s "checking interpreter get_load_path... " >&6; } +if test ${octave_cv_interpreter_get_load_path+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -3380,7 +3687,7 @@ else #include <octave/load-path.h> int -main () +main (void) { octave::load_path &p = octave::interpreter::the_interpreter ()->get_load_path (); @@ -3389,19 +3696,20 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : octave_cv_interpreter_get_load_path=yes -else +else $as_nop octave_cv_interpreter_get_load_path=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $octave_cv_interpreter_get_load_path" >&5 -$as_echo "$octave_cv_interpreter_get_load_path" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $octave_cv_interpreter_get_load_path" >&5 +printf "%s\n" "$octave_cv_interpreter_get_load_path" >&6; } if test "$octave_cv_interpreter_get_load_path" = "yes" ; then -$as_echo "#define HAVE_OCTAVE_LOAD_PATH 1" >>confdefs.h +printf "%s\n" "#define HAVE_OCTAVE_LOAD_PATH 1" >>confdefs.h fi @@ -3410,110 +3718,113 @@ fi echo '/* generated by configure */' > oct-alt-includes.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking is_map or isstruct" >&5 -$as_echo_n "checking is_map or isstruct... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking is_map or isstruct" >&5 +printf %s "checking is_map or isstruct... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <octave/oct.h> int -main () +main (void) { octave_value ().isstruct (); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : -$as_echo "#define OV_ISMAP isstruct" >>confdefs.h +printf "%s\n" "#define OV_ISMAP isstruct" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: isstruct" >&5 -$as_echo "isstruct" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: isstruct" >&5 +printf "%s\n" "isstruct" >&6; } echo ' ' >> oct-alt-includes.h -else +else $as_nop -$as_echo "#define OV_ISMAP is_map" >>confdefs.h +printf "%s\n" "#define OV_ISMAP is_map" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: is_map" >&5 -$as_echo " is_map" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: is_map" >&5 +printf "%s\n" " is_map" >&6; } echo '' >> oct-alt-includes.h fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking is_cell or iscell" >&5 -$as_echo_n "checking is_cell or iscell... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking is_cell or iscell" >&5 +printf %s "checking is_cell or iscell... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <octave/oct.h> int -main () +main (void) { octave_value ().iscell (); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : -$as_echo "#define OV_ISCELL iscell" >>confdefs.h +printf "%s\n" "#define OV_ISCELL iscell" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: iscell" >&5 -$as_echo "iscell" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: iscell" >&5 +printf "%s\n" "iscell" >&6; } echo ' ' >> oct-alt-includes.h -else +else $as_nop -$as_echo "#define OV_ISCELL is_cell" >>confdefs.h +printf "%s\n" "#define OV_ISCELL is_cell" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: is_cell" >&5 -$as_echo " is_cell" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: is_cell" >&5 +printf "%s\n" " is_cell" >&6; } echo '' >> oct-alt-includes.h fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking valid_identifier or octave::valid_identifier" >&5 -$as_echo_n "checking valid_identifier or octave::valid_identifier... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking valid_identifier or octave::valid_identifier" >&5 +printf %s "checking valid_identifier or octave::valid_identifier... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <octave/oct.h> - + #include <octave/utils.h> int -main () +main (void) { octave::valid_identifier(""); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : -$as_echo "#define OCTAVE__VALID_IDENTIFIER octave::valid_identifier" >>confdefs.h +printf "%s\n" "#define OCTAVE__VALID_IDENTIFIER octave::valid_identifier" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: octave::valid_identifier" >&5 -$as_echo "octave::valid_identifier" >&6; } - echo ' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: octave::valid_identifier" >&5 +printf "%s\n" "octave::valid_identifier" >&6; } + echo '#include <octave/utils.h> ' >> oct-alt-includes.h -else +else $as_nop -$as_echo "#define OCTAVE__VALID_IDENTIFIER valid_identifier" >>confdefs.h +printf "%s\n" "#define OCTAVE__VALID_IDENTIFIER valid_identifier" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: valid_identifier" >&5 -$as_echo " valid_identifier" >&6; } - echo '' >> oct-alt-includes.h + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: valid_identifier" >&5 +printf "%s\n" " valid_identifier" >&6; } + echo '#include <octave/utils.h>' >> oct-alt-includes.h fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking file_stat or octave::sys::file_stat" >&5 -$as_echo_n "checking file_stat or octave::sys::file_stat... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking file_stat or octave::sys::file_stat" >&5 +printf %s "checking file_stat or octave::sys::file_stat... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <octave/oct.h> @@ -3522,33 +3833,34 @@ $as_echo_n "checking file_stat or octave::sys::file_stat... " >&6; } int -main () +main (void) { octave::sys::file_stat(); ; return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : -$as_echo "#define OCTAVE__FILE_STAT octave::sys::file_stat" >>confdefs.h +printf "%s\n" "#define OCTAVE__FILE_STAT octave::sys::file_stat" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: octave::sys::file_stat" >&5 -$as_echo "octave::sys::file_stat" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: octave::sys::file_stat" >&5 +printf "%s\n" "octave::sys::file_stat" >&6; } echo '#include <octave/file-stat.h> ' >> oct-alt-includes.h -else +else $as_nop -$as_echo "#define OCTAVE__FILE_STAT file_stat" >>confdefs.h +printf "%s\n" "#define OCTAVE__FILE_STAT file_stat" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: file_stat" >&5 -$as_echo " file_stat" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: file_stat" >&5 +printf "%s\n" " file_stat" >&6; } echo '#include <octave/file-stat.h>' >> oct-alt-includes.h fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -3565,11 +3877,12 @@ if test "x$ac_cv_env_CMAKE_BINARY_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cmake", so it can be a program name with args. set dummy ${ac_tool_prefix}cmake; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CMAKE_BINARY+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_CMAKE_BINARY+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $CMAKE_BINARY in [\\/]* | ?:[\\/]*) ac_cv_path_CMAKE_BINARY="$CMAKE_BINARY" # Let the user override the test with a path. @@ -3579,11 +3892,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_CMAKE_BINARY="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_CMAKE_BINARY="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3595,11 +3912,11 @@ esac fi CMAKE_BINARY=$ac_cv_path_CMAKE_BINARY if test -n "$CMAKE_BINARY"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CMAKE_BINARY" >&5 -$as_echo "$CMAKE_BINARY" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CMAKE_BINARY" >&5 +printf "%s\n" "$CMAKE_BINARY" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3608,11 +3925,12 @@ if test -z "$ac_cv_path_CMAKE_BINARY"; then ac_pt_CMAKE_BINARY=$CMAKE_BINARY # Extract the first word of "cmake", so it can be a program name with args. set dummy cmake; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_CMAKE_BINARY+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_ac_pt_CMAKE_BINARY+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $ac_pt_CMAKE_BINARY in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_CMAKE_BINARY="$ac_pt_CMAKE_BINARY" # Let the user override the test with a path. @@ -3622,11 +3940,15 @@ else for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_CMAKE_BINARY="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_CMAKE_BINARY="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3638,11 +3960,11 @@ esac fi ac_pt_CMAKE_BINARY=$ac_cv_path_ac_pt_CMAKE_BINARY if test -n "$ac_pt_CMAKE_BINARY"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CMAKE_BINARY" >&5 -$as_echo "$ac_pt_CMAKE_BINARY" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CMAKE_BINARY" >&5 +printf "%s\n" "$ac_pt_CMAKE_BINARY" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_pt_CMAKE_BINARY" = x; then @@ -3650,8 +3972,8 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CMAKE_BINARY=$ac_pt_CMAKE_BINARY @@ -3665,8 +3987,8 @@ fi failed=false -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GDCM" >&5 -$as_echo_n "checking for GDCM... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GDCM" >&5 +printf %s "checking for GDCM... " >&6; } if test -z "${GDCM_CXXFLAGS}"; then GDCM_CXXFLAGS=`$CMAKE_BINARY --find-package "-DNAME=GDCM" "-DCOMPILER_ID=GNU" "-DLANGUAGE=CXX" -DMODE=COMPILE "-DCMAKE_LIBRARY_ARCHITECTURE=${target_arch}"` || failed=true fi @@ -3678,11 +4000,11 @@ if $failed; then unset GDCM_CXXFLAGS unset GDCM_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi if test "$GDCM_CXXFLAGS$GDCM_LIBS" != "" ; then @@ -3691,36 +4013,34 @@ if test "$GDCM_CXXFLAGS$GDCM_LIBS" != "" ; then save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $GDCM_CXXFLAGS" - for ac_header in gdcmVersion.h + for ac_header in gdcmVersion.h do : - ac_fn_cxx_check_header_mongrel "$LINENO" "gdcmVersion.h" "ac_cv_header_gdcmVersion_h" "$ac_includes_default" -if test "x$ac_cv_header_gdcmVersion_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GDCMVERSION_H 1 -_ACEOF + ac_fn_cxx_check_header_compile "$LINENO" "gdcmVersion.h" "ac_cv_header_gdcmVersion_h" "$ac_includes_default" +if test "x$ac_cv_header_gdcmVersion_h" = xyes +then : + printf "%s\n" "#define HAVE_GDCMVERSION_H 1" >>confdefs.h -else +else $as_nop GDCM_CXXFLAGS=""; GDCM_LIBS="" fi done - CPPFLAGS=$save_CPPFLAGS fi # newer cmake seems to have issues so if found nothing, and dont have anything set, then try hard way if test "$GDCM_CXXFLAGS$GDCM_LIBS" == "" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Trying fallback GDCM detection" >&5 -$as_echo "$as_me: Trying fallback GDCM detection" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Trying fallback GDCM detection" >&5 +printf "%s\n" "$as_me: Trying fallback GDCM detection" >&6;} #AC_LANG(C++) save_LDFLAGS=$LDFLAGS save_CPPFLAGS=$CPPFLAGS # find headers first - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdcm headers path" >&5 -$as_echo_n "checking for gdcm headers path... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gdcm headers path" >&5 +printf %s "checking for gdcm headers path... " >&6; } found_gdcm_header= for p in /usr/include /usr/local/include /opt/include /mingw32/include /mingw64/include ; do for v in gdcm gdcm-2.0 gdcm-2.2 gdcm-2.4 gdcm-2.6 gdcm-2.8 gdcm-3.0 gdcm-3.2; do @@ -3732,7 +4052,7 @@ $as_echo_n "checking for gdcm headers path... " >&6; } #include <gdcmVersion.h> int -main () +main (void) { int i=0; @@ -3741,48 +4061,50 @@ main () return 0; } _ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : +if ac_fn_cxx_try_compile "$LINENO" +then : found_gdcm_header="$p/$v" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done done if test "$found_gdcm_header" == "" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +printf "%s\n" "not found" >&6; } as_fn_error $? "Unable to find GDCM headers" "$LINENO" 5, else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $found_gdcm_header" >&5 -$as_echo "$found_gdcm_header" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $found_gdcm_header" >&5 +printf "%s\n" "$found_gdcm_header" >&6; } GDCM_CXXFLAGS="-I$found_gdcm_header" fi # check can use the libraries - later on we add the libs we are going to use to # GDCM_LIBS anyway, so dont need set GDCM_LIBS here - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdcm libraries" >&5 -$as_echo_n "checking for gdcm libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gdcm libraries" >&5 +printf %s "checking for gdcm libraries... " >&6; } CPPFLAGS="$GDCM_CXXFLAGS $save_CPPFLAGS" LDFLAGS="$LDFLAGS -lgdcmCommon" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <gdcmVersion.h> int -main () +main (void) { (void)gdcm::Version::GetBuildVersion() ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ +if ac_fn_cxx_try_link "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS @@ -3810,22 +4132,22 @@ CPPFLAGS="$CPPFLAGS $GDCM_CXXFLAGS" ## All the GDCM headers we use (we should probably have something less ugly) GDCM_HEADERS=$($SED -n 's,^#include.*"\(gdcm[^"]*\)\".*$,\1,p' *.cpp *.h | $SORT | $UNIQ) -for ac_header in $GDCM_HEADERS + for ac_header in $GDCM_HEADERS do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes" +then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -else +else $as_nop as_fn_error $? "Unable to find GDCM headers (do you have CMake installed?)" "$LINENO" 5 fi done - ## restore CPPFLAGS=$OLD_CPPFLAGS @@ -3858,8 +4180,8 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -3889,15 +4211,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; /^ac_cv_env_/b end t clear :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -3911,8 +4233,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;} fi fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -3929,7 +4251,7 @@ U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" @@ -3945,8 +4267,8 @@ LTLIBOBJS=$ac_ltlibobjs ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL @@ -3969,14 +4291,16 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -3986,46 +4310,46 @@ esac fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi +if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -4034,13 +4358,6 @@ if test "${PATH_SEPARATOR+set}" != set; then fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -4049,8 +4366,12 @@ case $0 in #(( for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -4062,30 +4383,10 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] @@ -4098,13 +4399,14 @@ as_fn_error () as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -4131,18 +4433,20 @@ as_fn_unset () { eval $1=; unset $1;} } as_unset=as_fn_unset + # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -4154,12 +4458,13 @@ fi # as_fn_append # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` @@ -4190,7 +4495,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -4212,6 +4517,10 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -4225,6 +4534,12 @@ case `echo -n x` in #((((( ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -4266,7 +4581,7 @@ as_fn_mkdir_p () as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -4275,7 +4590,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -4337,8 +4652,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Octave-Forge dicom package $as_me 0.5.0, which was -generated by GNU Autoconf 2.69. Invocation command line was +This file was extended by Octave-Forge dicom package $as_me 0.5.1, which was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -4396,14 +4711,16 @@ $config_headers Report bugs to the package provider." _ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Octave-Forge dicom package config.status 0.5.0 -configured by $0, generated by GNU Autoconf 2.69, +Octave-Forge dicom package config.status 0.5.1 +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -4440,15 +4757,15 @@ do -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; + printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; + printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" @@ -4456,7 +4773,7 @@ do --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; @@ -4465,7 +4782,7 @@ do as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; + printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; @@ -4493,7 +4810,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" @@ -4507,7 +4824,7 @@ exec 5>>config.log sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - $as_echo "$ac_log" + printf "%s\n" "$ac_log" } >&5 _ACEOF @@ -4533,8 +4850,8 @@ done # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers fi # Have a temporary directory for convenience. Make it in the build tree @@ -4870,7 +5187,7 @@ do esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done @@ -4878,17 +5195,17 @@ do # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | + ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac @@ -4905,7 +5222,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | +printf "%s\n" X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -4929,9 +5246,9 @@ $as_echo X"$ac_file" | case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -4984,8 +5301,8 @@ ac_sed_dataroot=' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' @@ -5027,9 +5344,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -5045,20 +5362,20 @@ which seems to be undefined. Please make sure it is defined" >&2;} # if test x"$ac_file" != x-; then { - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi @@ -5099,7 +5416,8 @@ if test "$no_create" != yes; then $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi + diff --git a/src/configure.ac b/src/configure.ac index 05dc53b..539c7fb 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -18,7 +18,7 @@ ### <http://www.gnu.org/licenses/>. AC_PREREQ([2.67]) -AC_INIT([Octave-Forge dicom package], [0.5.0]) +AC_INIT([Octave-Forge dicom package], [0.5.1]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIRS([m4]) AH_TOP([#include "undef-ah-octave.h"]) @@ -32,12 +32,11 @@ AC_PROG_GREP AC_CHECK_PROG([UNIQ],[uniq],[uniq],[cat]) AC_CHECK_PROG([SORT],[sort],[sort],[cat]) -AC_PATH_PROG([MKOCTFILE], [mkoctfile]) -if test -z "$MKOCTFILE"; then +AC_CHECK_TOOL([MKOCTFILE], [mkoctfile], [none]) +if [ test "x$MKOCTFILE" = "xnone" ]; then AC_MSG_ERROR([*** 'mkoctfile' not found.]) fi -AC_CHECK_PROG(OCTAVE_CONFIG,octave-config,octave-config) -test -z "$OCTAVE_CONFIG" && OCTAVE_CONFIG=$MKOCTFILE +AC_CHECK_TOOL([OCTAVE_CONFIG], [octave-config] ,[$MKOCTFILE]) AC_PROG_CXX AC_PROG_CXXCPP @@ -106,8 +105,8 @@ OF_OCTAVE_LIST_ALT_SYMS([ [octave::valid_identifier], [[octave::valid_identifier("");]], [OCTAVE__VALID_IDENTIFIER], - [], - [] + [#include <octave/utils.h>], + [#include <octave/utils.h>] ], [dnl diff --git a/src/dicomread.cpp b/src/dicomread.cpp index 31498d2..fa6c7d6 100644 --- a/src/dicomread.cpp +++ b/src/dicomread.cpp @@ -59,7 +59,7 @@ Load the image from a DICOM file. \n\ Load the image data of a dcm file:\n\ \n\ @example\n\ -> image = dicomread(file_in_load_path('imdata/simple-test.dcm'))\n\ +> image = dicomread(file_in_loadpath('imdata/simple-test.dcm'))\n\ image =\n\ 0 0 0 0 0\n\ 0 0 0 0 0\n\ diff --git a/src/dicomwrite.cpp b/src/dicomwrite.cpp index 0317346..4d7993e 100644 --- a/src/dicomwrite.cpp +++ b/src/dicomwrite.cpp @@ -461,8 +461,8 @@ void octaveVal2dicomImage(gdcm::ImageWriter *w, octave_value *pixval) gdcm::SmartPointer<gdcm::Image> im = new gdcm::Image; im->SetNumberOfDimensions (2); - im->SetDimension (0, pixval->dims()(0)); - im->SetDimension (1, pixval->dims()(1)); + im->SetDimension (1, pixval->dims()(0)); + im->SetDimension (0, pixval->dims()(1)); gdcm::Attribute<0x0028,0x0004> pi_at; if (ds.FindDataElement (pi_at.GetTag())) @@ -635,7 +635,7 @@ void genMinimalMetaData(gdcm::ImageWriter *w, gdcm::File *file) %! testfile2 = tempname (); %!test -%! wdata = uint8 (10*rand (10,10)); +%! wdata = uint8 (10*rand (5,10)); %! dicomwrite (wdata, testfile1); %! rdata = dicomread (testfile1); %! assert(wdata, rdata); @@ -644,13 +644,15 @@ void genMinimalMetaData(gdcm::ImageWriter *w, gdcm::File *file) %!fail ("dicomwrite ([],1)"); %!test -%! wdata = uint8 (10*rand (10,10)); +%! wdata = uint8 (10*rand (5,10)); %! dicomwrite (wdata, testfile1); %! info = dicominfo (testfile1); +$! assert(info.Rows, 5); +$! assert(info.Columns, 10); %! dicomwrite (wdata, testfile2, info); %!test -%! wdata = uint8 (10*rand (10,10)); +%! wdata = uint8 (10*rand (5,10)); %! s.PatientName = "fred"; %! s.PatientID = "1"; %! dicomwrite (wdata, testfile2, s); @@ -660,7 +662,7 @@ void genMinimalMetaData(gdcm::ImageWriter *w, gdcm::File *file) %!test %! # test we have control of image property information -%! wdata = uint8 (10*rand (10,10)); +%! wdata = uint8 (10*rand (5,10)); %! dicomwrite (wdata, testfile2); %! p = dicominfo (testfile2); %! assert (p.PhotometricInterpretation, "MONOCHROME1 "); |