Update version for 9.3.1. Removed old plugins.
diff --git a/core/org.eclipse.ptp.doc.isv/META-INF/MANIFEST.MF b/core/org.eclipse.ptp.doc.isv/META-INF/MANIFEST.MF
index 6f32944..2bb7991 100644
--- a/core/org.eclipse.ptp.doc.isv/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.ptp.doc.isv/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ptp.doc.isv;singleton:=true
-Bundle-Version: 9.3.0.qualifier
+Bundle-Version: 9.3.1.qualifier
Bundle-Localization: plugin
Bundle-Vendor: %providerName
diff --git a/core/org.eclipse.ptp.doc.isv/pom.xml b/core/org.eclipse.ptp.doc.isv/pom.xml
index cedb73b..a0da85e 100644
--- a/core/org.eclipse.ptp.doc.isv/pom.xml
+++ b/core/org.eclipse.ptp.doc.isv/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>org.eclipse.ptp.doc.isv</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/core/org.eclipse.ptp.proxy/META-INF/MANIFEST.MF b/core/org.eclipse.ptp.proxy/META-INF/MANIFEST.MF
index f2ab0b2..c79ac64 100644
--- a/core/org.eclipse.ptp.proxy/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.ptp.proxy/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ptp.proxy
-Bundle-Version: 9.3.0.qualifier
+Bundle-Version: 9.3.1.qualifier
Bundle-Vendor: %pluginProvider
Bundle-Localization: plugin
diff --git a/core/org.eclipse.ptp.proxy/pom.xml b/core/org.eclipse.ptp.proxy/pom.xml
index 05dd035..b63fff8 100644
--- a/core/org.eclipse.ptp.proxy/pom.xml
+++ b/core/org.eclipse.ptp.proxy/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>org.eclipse.ptp.proxy</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/core/org.eclipse.ptp.utils/META-INF/MANIFEST.MF b/core/org.eclipse.ptp.utils/META-INF/MANIFEST.MF
index cef7221..0e92afb 100644
--- a/core/org.eclipse.ptp.utils/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.ptp.utils/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ptp.utils
-Bundle-Version: 9.3.0.qualifier
+Bundle-Version: 9.3.1.qualifier
Bundle-Vendor: %pluginProvider
Bundle-Localization: plugin
diff --git a/core/org.eclipse.ptp.utils/pom.xml b/core/org.eclipse.ptp.utils/pom.xml
index f9252a1..9a0cac4 100644
--- a/core/org.eclipse.ptp.utils/pom.xml
+++ b/core/org.eclipse.ptp.utils/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>org.eclipse.ptp.utils</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/core/pom.xml b/core/pom.xml
index 676e678..6bf1129 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
</parent>
<artifactId>core-parent</artifactId>
diff --git a/debug/org.eclipse.ptp.debug.sdm/META-INF/MANIFEST.MF b/debug/org.eclipse.ptp.debug.sdm/META-INF/MANIFEST.MF
index e599f9e..af844fa 100644
--- a/debug/org.eclipse.ptp.debug.sdm/META-INF/MANIFEST.MF
+++ b/debug/org.eclipse.ptp.debug.sdm/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ptp.debug.sdm
-Bundle-Version: 9.3.0.qualifier
+Bundle-Version: 9.3.1.qualifier
Bundle-Vendor: %pluginProvider
Require-Bundle: org.eclipse.ptp.proxy,
org.eclipse.ptp.utils
diff --git a/debug/org.eclipse.ptp.debug.sdm/pom.xml b/debug/org.eclipse.ptp.debug.sdm/pom.xml
index dfc9a29..0ad3351 100644
--- a/debug/org.eclipse.ptp.debug.sdm/pom.xml
+++ b/debug/org.eclipse.ptp.debug.sdm/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>org.eclipse.ptp.debug.sdm</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/debug/pom.xml b/debug/pom.xml
index 5103190..43c0f31 100644
--- a/debug/pom.xml
+++ b/debug/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
</parent>
<artifactId>debug-parent</artifactId>
diff --git a/pom.xml b/pom.xml
index 9001c68..6a11929 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>PTP Parent</name>
@@ -186,7 +186,7 @@
<artifact>
<groupId>org.eclipse.ptp</groupId>
<artifactId>org.eclipse.ptp.target</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<classifier>photon</classifier>
</artifact>
</target>
diff --git a/rdt/pom.xml b/rdt/pom.xml
index 2ced01a..1fa688d 100644
--- a/rdt/pom.xml
+++ b/rdt/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
</parent>
<artifactId>rdt-parent</artifactId>
diff --git a/releng/org.eclipse.ptp-feature/feature.xml b/releng/org.eclipse.ptp-feature/feature.xml
index 0d8286e..7844e7c 100644
--- a/releng/org.eclipse.ptp-feature/feature.xml
+++ b/releng/org.eclipse.ptp-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp-feature/pom.xml b/releng/org.eclipse.ptp-feature/pom.xml
index 5d62635..a4001df 100644
--- a/releng/org.eclipse.ptp-feature/pom.xml
+++ b/releng/org.eclipse.ptp-feature/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>org.eclipse.ptp</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<groupId>org.eclipse.ptp.features</groupId>
</project>
diff --git a/releng/org.eclipse.ptp.aix/META-INF/MANIFEST.MF b/releng/org.eclipse.ptp.aix/META-INF/MANIFEST.MF
index aa5785c..7012afd 100644
--- a/releng/org.eclipse.ptp.aix/META-INF/MANIFEST.MF
+++ b/releng/org.eclipse.ptp.aix/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %fragmentName
Bundle-SymbolicName: org.eclipse.ptp.aix;singleton:=true
-Bundle-Version: 9.3.0.qualifier
+Bundle-Version: 9.3.1.qualifier
Fragment-Host: org.eclipse.ptp.core;bundle-version="2.0.0"
Bundle-Localization: plugin
Bundle-Vendor: %pluginProvider
diff --git a/releng/org.eclipse.ptp.cdt.compilers-feature/feature.xml b/releng/org.eclipse.ptp.cdt.compilers-feature/feature.xml
index d25488d..d70c81d 100644
--- a/releng/org.eclipse.ptp.cdt.compilers-feature/feature.xml
+++ b/releng/org.eclipse.ptp.cdt.compilers-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.cdt.compilers"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.core-feature/feature.xml b/releng/org.eclipse.ptp.core-feature/feature.xml
index 8c4d4ea..a53f467 100644
--- a/releng/org.eclipse.ptp.core-feature/feature.xml
+++ b/releng/org.eclipse.ptp.core-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.core"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.core.source-feature/feature.xml b/releng/org.eclipse.ptp.core.source-feature/feature.xml
index dc92eab..c5c6ced 100644
--- a/releng/org.eclipse.ptp.core.source-feature/feature.xml
+++ b/releng/org.eclipse.ptp.core.source-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.core.source"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.etfw-feature/feature.xml b/releng/org.eclipse.ptp.etfw-feature/feature.xml
index 0c96957..90215a9 100644
--- a/releng/org.eclipse.ptp.etfw-feature/feature.xml
+++ b/releng/org.eclipse.ptp.etfw-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.etfw"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.etfw.feedback.perfsuite-feature/feature.xml b/releng/org.eclipse.ptp.etfw.feedback.perfsuite-feature/feature.xml
index f3762db..c9dc7d7 100644
--- a/releng/org.eclipse.ptp.etfw.feedback.perfsuite-feature/feature.xml
+++ b/releng/org.eclipse.ptp.etfw.feedback.perfsuite-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.etfw.feedback.perfsuite"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.etfw.tau-feature/feature.xml b/releng/org.eclipse.ptp.etfw.tau-feature/feature.xml
index 2dd228f..21ba680 100644
--- a/releng/org.eclipse.ptp.etfw.tau-feature/feature.xml
+++ b/releng/org.eclipse.ptp.etfw.tau-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.etfw.tau"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.etfw.tau.fortran-feature/feature.xml b/releng/org.eclipse.ptp.etfw.tau.fortran-feature/feature.xml
index 9eb1b7e..56ca5f5 100644
--- a/releng/org.eclipse.ptp.etfw.tau.fortran-feature/feature.xml
+++ b/releng/org.eclipse.ptp.etfw.tau.fortran-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.etfw.tau.fortran"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.fortran-feature/feature.xml b/releng/org.eclipse.ptp.fortran-feature/feature.xml
index 65e5f66..0f2c61f 100644
--- a/releng/org.eclipse.ptp.fortran-feature/feature.xml
+++ b/releng/org.eclipse.ptp.fortran-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.fortran"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.gem-feature/.project b/releng/org.eclipse.ptp.gem-feature/.project
deleted file mode 100644
index 36a70cf..0000000
--- a/releng/org.eclipse.ptp.gem-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ptp.gem-feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/releng/org.eclipse.ptp.gem-feature/build.properties b/releng/org.eclipse.ptp.gem-feature/build.properties
deleted file mode 100644
index bb3da8d..0000000
--- a/releng/org.eclipse.ptp.gem-feature/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-bin.includes = feature.xml,\
- feature.properties,\
- eclipse_update_120.jpg,\
- epl-v10.html
diff --git a/releng/org.eclipse.ptp.gem-feature/eclipse_update_120.jpg b/releng/org.eclipse.ptp.gem-feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/releng/org.eclipse.ptp.gem-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/releng/org.eclipse.ptp.gem-feature/epl-v10.html b/releng/org.eclipse.ptp.gem-feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/releng/org.eclipse.ptp.gem-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>"Contribution" means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>"Contributor" means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>"Licensed Patents " mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>"Program" means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>"Recipient" means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor ("Commercial
-Contributor") hereby agrees to defend and indemnify every other
-Contributor ("Indemnified Contributor") against any losses, damages and
-costs (collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/releng/org.eclipse.ptp.gem-feature/feature.properties b/releng/org.eclipse.ptp.gem-feature/feature.properties
deleted file mode 100644
index d2817d7..0000000
--- a/releng/org.eclipse.ptp.gem-feature/feature.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-# "featureName" property - name of the feature
-featureName=PTP Graphical Explorer of MPI Programs (GEM)
-
-# "providerName" property - name of the company that provides the feature
-featureProvider=Eclipse PTP
-
-# "description" property - description of the feature
-description=GEM is a tool for deadlock detection and other formal analyses in MPI C/C++ applications. \n
-GEM serves as a graphical front end for In-situ Partial Order (ISP), \n\
-a dynamic formal verification tool for MPI developed at the School of Computing, University of Utah. \n\
-Whether you are new to MPI or are an advanced user, GEM will help you debug your MPI programs, \n\
-and graphically show many valuable facts, including all the possible send/receive matches, \n\
-and synchronizations. GEM also includes features to help users understand and debug the program across \n\
-all platforms on which it may be run (e.g. highlighting deadlocks that may occur due to differing \n\
-communication buffer allocations). For a given test harness, GEM will allow you to explore only \n\
-the relevant process interleavings, which are much smaller than the number of total feasible interleavings. \n
-GEM also guarantees to discover and explore all non-deterministic matches at runtime.
-
-# copyright
-copyright=\
-Copyright (c) 2009 University of Utah School of Computing\
-50 S Central Campus Dr. 3190 Salt Lake City, UT 84112\
-http://www.cs.utah.edu/formal_verification/\
-\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n
diff --git a/releng/org.eclipse.ptp.gem-feature/feature.xml b/releng/org.eclipse.ptp.gem-feature/feature.xml
deleted file mode 100644
index 9dce454..0000000
--- a/releng/org.eclipse.ptp.gem-feature/feature.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.ptp.gem"
- label="%featureName"
- version="9.3.0.qualifier"
- provider-name="%featureProvider"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description url="http://eclipse.org/ptp">
- %description
- </description>
-
- <copyright url="http://www.example.com/copyright">
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <requires>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.jface.text"/>
- <import plugin="org.eclipse.ui.console"/>
- <import plugin="org.eclipse.osgi" version="3.4.3" match="greaterOrEqual"/>
- </requires>
-
- <plugin
- id="org.eclipse.ptp.gem"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ptp.gem.help"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/releng/org.eclipse.ptp.linux/META-INF/MANIFEST.MF b/releng/org.eclipse.ptp.linux/META-INF/MANIFEST.MF
index 6e0d229..1aa3bb5 100644
--- a/releng/org.eclipse.ptp.linux/META-INF/MANIFEST.MF
+++ b/releng/org.eclipse.ptp.linux/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %fragmentName
Bundle-SymbolicName: org.eclipse.ptp.linux;singleton:=true
-Bundle-Version: 9.3.0.qualifier
+Bundle-Version: 9.3.1.qualifier
Fragment-Host: org.eclipse.ptp.core;bundle-version="2.0.0"
Bundle-Localization: plugin
Bundle-Vendor: %pluginProvider
diff --git a/releng/org.eclipse.ptp.macosx/META-INF/MANIFEST.MF b/releng/org.eclipse.ptp.macosx/META-INF/MANIFEST.MF
index d0f6944..5066eb3 100644
--- a/releng/org.eclipse.ptp.macosx/META-INF/MANIFEST.MF
+++ b/releng/org.eclipse.ptp.macosx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %fragmentName
Bundle-SymbolicName: org.eclipse.ptp.macosx;singleton:=true
-Bundle-Version: 9.3.0.qualifier
+Bundle-Version: 9.3.1.qualifier
Fragment-Host: org.eclipse.ptp.core;bundle-version="2.0.0"
Bundle-Localization: plugin
Bundle-Vendor: %pluginProvider
diff --git a/releng/org.eclipse.ptp.pldt-feature/feature.xml b/releng/org.eclipse.ptp.pldt-feature/feature.xml
index a699a70..195ce31 100644
--- a/releng/org.eclipse.ptp.pldt-feature/feature.xml
+++ b/releng/org.eclipse.ptp.pldt-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.pldt"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.pldt.fortran-feature/feature.xml b/releng/org.eclipse.ptp.pldt.fortran-feature/feature.xml
index 22b03f7..b3233c8 100644
--- a/releng/org.eclipse.ptp.pldt.fortran-feature/feature.xml
+++ b/releng/org.eclipse.ptp.pldt.fortran-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.pldt.fortran"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.pldt.upc-feature/feature.xml b/releng/org.eclipse.ptp.pldt.upc-feature/feature.xml
index e5139e2..5995914 100644
--- a/releng/org.eclipse.ptp.pldt.upc-feature/feature.xml
+++ b/releng/org.eclipse.ptp.pldt.upc-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.pldt.upc"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.rdt.sync-feature/feature.xml b/releng/org.eclipse.ptp.rdt.sync-feature/feature.xml
index df48032..04e4cbc 100644
--- a/releng/org.eclipse.ptp.rdt.sync-feature/feature.xml
+++ b/releng/org.eclipse.ptp.rdt.sync-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.rdt.sync"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.rdt.sync.cdt-feature/feature.xml b/releng/org.eclipse.ptp.rdt.sync.cdt-feature/feature.xml
index 7e62232..f871c7e 100644
--- a/releng/org.eclipse.ptp.rdt.sync.cdt-feature/feature.xml
+++ b/releng/org.eclipse.ptp.rdt.sync.cdt-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.rdt.sync.cdt"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.rdt.sync.fortran-feature/feature.xml b/releng/org.eclipse.ptp.rdt.sync.fortran-feature/feature.xml
index fe3594a..cfa1ec5 100644
--- a/releng/org.eclipse.ptp.rdt.sync.fortran-feature/feature.xml
+++ b/releng/org.eclipse.ptp.rdt.sync.fortran-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.rdt.sync.fortran"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.remote-feature/feature.xml b/releng/org.eclipse.ptp.remote-feature/feature.xml
index 2446813..e2e2540 100644
--- a/releng/org.eclipse.ptp.remote-feature/feature.xml
+++ b/releng/org.eclipse.ptp.remote-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.remote"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.remote.terminal-feature/feature.xml b/releng/org.eclipse.ptp.remote.terminal-feature/feature.xml
index b46ef31..397acb4 100644
--- a/releng/org.eclipse.ptp.remote.terminal-feature/feature.xml
+++ b/releng/org.eclipse.ptp.remote.terminal-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.remote.terminal"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.repo/pom.xml b/releng/org.eclipse.ptp.repo/pom.xml
index f8eb366..8371302 100644
--- a/releng/org.eclipse.ptp.repo/pom.xml
+++ b/releng/org.eclipse.ptp.repo/pom.xml
@@ -7,12 +7,12 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>org.eclipse.ptp.repo</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<profiles>
<profile>
diff --git a/releng/org.eclipse.ptp.rm.ibm.ll-feature/feature.xml b/releng/org.eclipse.ptp.rm.ibm.ll-feature/feature.xml
index 4a9359b8..31007ac 100644
--- a/releng/org.eclipse.ptp.rm.ibm.ll-feature/feature.xml
+++ b/releng/org.eclipse.ptp.rm.ibm.ll-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.rm.ibm.ll"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.rm.ibm.pe-feature/feature.xml b/releng/org.eclipse.ptp.rm.ibm.pe-feature/feature.xml
index e517d46..061efda 100644
--- a/releng/org.eclipse.ptp.rm.ibm.pe-feature/feature.xml
+++ b/releng/org.eclipse.ptp.rm.ibm.pe-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.rm.ibm.pe"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.rm.ibm.platform.lsf-feature/feature.xml b/releng/org.eclipse.ptp.rm.ibm.platform.lsf-feature/feature.xml
index 7764eda..4453bc0 100644
--- a/releng/org.eclipse.ptp.rm.ibm.platform.lsf-feature/feature.xml
+++ b/releng/org.eclipse.ptp.rm.ibm.platform.lsf-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.rm.ibm.platform.lsf"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.rm.jaxb.contrib-feature/feature.xml b/releng/org.eclipse.ptp.rm.jaxb.contrib-feature/feature.xml
index 9e3e3f1..57396d5 100644
--- a/releng/org.eclipse.ptp.rm.jaxb.contrib-feature/feature.xml
+++ b/releng/org.eclipse.ptp.rm.jaxb.contrib-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.rm.jaxb.contrib"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.rm.slurm-feature/feature.xml b/releng/org.eclipse.ptp.rm.slurm-feature/feature.xml
index fef3931..3696277 100644
--- a/releng/org.eclipse.ptp.rm.slurm-feature/feature.xml
+++ b/releng/org.eclipse.ptp.rm.slurm-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.rm.slurm"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.sci-feature/.project b/releng/org.eclipse.ptp.sci-feature/.project
deleted file mode 100644
index e470749..0000000
--- a/releng/org.eclipse.ptp.sci-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ptp.sci-feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/releng/org.eclipse.ptp.sci-feature/build.properties b/releng/org.eclipse.ptp.sci-feature/build.properties
deleted file mode 100644
index bb3da8d..0000000
--- a/releng/org.eclipse.ptp.sci-feature/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-bin.includes = feature.xml,\
- feature.properties,\
- eclipse_update_120.jpg,\
- epl-v10.html
diff --git a/releng/org.eclipse.ptp.sci-feature/eclipse_update_120.jpg b/releng/org.eclipse.ptp.sci-feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/releng/org.eclipse.ptp.sci-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/releng/org.eclipse.ptp.sci-feature/epl-v10.html b/releng/org.eclipse.ptp.sci-feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/releng/org.eclipse.ptp.sci-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>"Contribution" means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>"Contributor" means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>"Licensed Patents " mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>"Program" means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>"Recipient" means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor ("Commercial
-Contributor") hereby agrees to defend and indemnify every other
-Contributor ("Indemnified Contributor") against any losses, damages and
-costs (collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/releng/org.eclipse.ptp.sci-feature/feature.properties b/releng/org.eclipse.ptp.sci-feature/feature.properties
deleted file mode 100644
index dfbcb9a..0000000
--- a/releng/org.eclipse.ptp.sci-feature/feature.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 IBM Corporation.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-###############################################################################
-
-
-# "featureName" property - name of the feature
-featureName=PTP Scalable Communication Infrastructure (SCI)
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse PTP
-
-# "description" property - description of the feature
-description=Parallel Tools Platform components that implements the Scalable Communication Infrastructure (SCI)
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Parallel Tools Platform Updates
-
-# copyright
-copyright=\
-Copyright (c) 2010 IBM Corporation.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n
diff --git a/releng/org.eclipse.ptp.sci-feature/feature.xml b/releng/org.eclipse.ptp.sci-feature/feature.xml
deleted file mode 100644
index a5ad7ff..0000000
--- a/releng/org.eclipse.ptp.sci-feature/feature.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.ptp.sci"
- label="%featureName"
- version="9.3.0.qualifier"
- provider-name="%providerName"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description url="http://eclipse.org/ptp">
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <plugin
- id="org.eclipse.ptp.sci"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/releng/org.eclipse.ptp.sci-feature/pom.xml b/releng/org.eclipse.ptp.sci-feature/pom.xml
deleted file mode 100644
index 88fb814..0000000
--- a/releng/org.eclipse.ptp.sci-feature/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.ptp</groupId>
- <artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.ptp.sci</artifactId>
- <version>9.3.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
- <groupId>org.eclipse.ptp.features</groupId>
-</project>
diff --git a/releng/org.eclipse.ptp.sdk-feature/feature.xml b/releng/org.eclipse.ptp.sdk-feature/feature.xml
index 6e3516f..ecc9c9a 100644
--- a/releng/org.eclipse.ptp.sdk-feature/feature.xml
+++ b/releng/org.eclipse.ptp.sdk-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.sdk"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.sdm-feature/feature.xml b/releng/org.eclipse.ptp.sdm-feature/feature.xml
index e3ae148..b6848fd 100644
--- a/releng/org.eclipse.ptp.sdm-feature/feature.xml
+++ b/releng/org.eclipse.ptp.sdm-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.ptp.debug.sdm"
label="%featureName"
- version="9.3.0.qualifier"
+ version="9.3.1.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="0.0.0">
diff --git a/releng/org.eclipse.ptp.sdm-feature/pom.xml b/releng/org.eclipse.ptp.sdm-feature/pom.xml
index fb9586d..7f94678 100644
--- a/releng/org.eclipse.ptp.sdm-feature/pom.xml
+++ b/releng/org.eclipse.ptp.sdm-feature/pom.xml
@@ -6,12 +6,12 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>org.eclipse.ptp.debug.sdm</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<groupId>org.eclipse.ptp.features</groupId>
</project>
diff --git a/releng/org.eclipse.ptp.target/pom.xml b/releng/org.eclipse.ptp.target/pom.xml
index 3dd84fb..4c2d7f7 100644
--- a/releng/org.eclipse.ptp.target/pom.xml
+++ b/releng/org.eclipse.ptp.target/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
diff --git a/releng/org.eclipse.ptp/META-INF/MANIFEST.MF b/releng/org.eclipse.ptp/META-INF/MANIFEST.MF
index 4d344ff..96b24a5 100644
--- a/releng/org.eclipse.ptp/META-INF/MANIFEST.MF
+++ b/releng/org.eclipse.ptp/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ptp;singleton:=true
-Bundle-Version: 9.3.0.qualifier
+Bundle-Version: 9.3.1.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/releng/org.eclipse.ptp/pom.xml b/releng/org.eclipse.ptp/pom.xml
index 33c2b51..4cc40b7 100644
--- a/releng/org.eclipse.ptp/pom.xml
+++ b/releng/org.eclipse.ptp/pom.xml
@@ -6,11 +6,11 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>org.eclipse.ptp</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/releng/pom.xml b/releng/pom.xml
index 83093ed..7de5d86 100644
--- a/releng/pom.xml
+++ b/releng/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
</parent>
<artifactId>releng-parent</artifactId>
diff --git a/rms/org.eclipse.ptp.rm.ibm.pe.doc.user/pom.xml b/rms/org.eclipse.ptp.rm.ibm.pe.doc.user/pom.xml
index ae5796a..6c25e88 100644
--- a/rms/org.eclipse.ptp.rm.ibm.pe.doc.user/pom.xml
+++ b/rms/org.eclipse.ptp.rm.ibm.pe.doc.user/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
diff --git a/rms/org.eclipse.ptp.rm.lml.da.server/pom.xml b/rms/org.eclipse.ptp.rm.lml.da.server/pom.xml
index 51cabe9..414c6de 100644
--- a/rms/org.eclipse.ptp.rm.lml.da.server/pom.xml
+++ b/rms/org.eclipse.ptp.rm.lml.da.server/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
diff --git a/rms/pom.xml b/rms/pom.xml
index dcfbe55..47a4ba8 100644
--- a/rms/pom.xml
+++ b/rms/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
</parent>
<artifactId>rms-parent</artifactId>
diff --git a/tools/cdt/pom.xml b/tools/cdt/pom.xml
index 0a79d4f..bea3e8d 100644
--- a/tools/cdt/pom.xml
+++ b/tools/cdt/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
diff --git a/tools/etfw/pom.xml b/tools/etfw/pom.xml
index dc55e4e..7bf7551 100644
--- a/tools/etfw/pom.xml
+++ b/tools/etfw/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/.project b/tools/gem/org.eclipse.ptp.gem.help/.project
deleted file mode 100644
index 74f4d75..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ptp.gem.help</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/META-INF/MANIFEST.MF b/tools/gem/org.eclipse.ptp.gem.help/META-INF/MANIFEST.MF
deleted file mode 100644
index a9e716b..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ptp.gem.help;singleton:=true
-Bundle-Version: 1.3.0.qualifier
-Bundle-Vendor: %pluginProvider
-Bundle-Localization: plugin
diff --git a/tools/gem/org.eclipse.ptp.gem.help/about.html b/tools/gem/org.eclipse.ptp.gem.help/about.html
deleted file mode 100644
index 3f81093..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem.help/build.properties b/tools/gem/org.eclipse.ptp.gem.help/build.properties
deleted file mode 100644
index 2008329..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = META-INF/,\
- plugin.xml,\
- html/,\
- toc.xml,\
- about.html,\
- plugin.properties
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/analyzerView.html b/tools/gem/org.eclipse.ptp.gem.help/html/analyzerView.html
deleted file mode 100644
index 2fdb70e..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/analyzerView.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Analyzer View</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Analyzer View</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h2>Using the Analyzer View</h2>
-<p>
-Before formally verifying an MPI C/C++ application, the number of processes needs to be set
-for the verification run. You will also need to know how to run GEM itself. The links below
-detail these processes:
-</p>
-
-<ul>
- <li>
- <a href="gettingStarted.html">Getting Started</a>
- </li>
- <li>
- <a href="setNumProcs.html">Setting the Number of Processes</a>
- </li>
- <li>
- <a href="gettingStarted.html#rungem">Running GEM</a>.
- </li>
-</ul>
-
-<p>
-When GEM has finished the verification of your MPI C/C++ application, the Console, Browser and Analyzer Views will all be
-opened and depending on what is specified in the <a href="preferences.html#gemprefs">GEM Preference Page</a>,
-one of these views will be brought to the foreground and given the active focus.
-</p>
-
-<h2>Analyzer Overview</h2>
-<p>
-This unique user interface visually displays the output from the log file that was generated
-at runtime by highlighting lines representing match sets (p2p and collective send-recv matches) in the source file.
-It shows both the current MPI call, and any matching point-to-point or collective operation. It also allows the
-user to examine MPI calls for a particular rank with an easy to use <b>Rank Lock</b> feature. In addition, it
-has a feature to browse calls by rank and by interleaving, as well as launch the
-<a href="happensBeforeViewer.html">Happens Before (HB) Viewer</a>.
-</p>
-
-<p>
-<i>The image below shows what the Analyzer View might look like followed by an explanation of its components.</i>
-</p>
-
-<img src="images/analyzerIntegration.png" width="990" height="682"/>
-
-<h2 id="runtimeInfo">Runtime Information</h2>
-<p>
-On the far left is a label that explains how the program terminated, whether by a deadlock, assertion violation,
-or without error. The text is green if the nothing is wrong and red when GEM is reporting a problem.
-</p>
-
-<h3 id="hbviewer">Button Explanations</h3>
-<p>
-<img height="20" src="images/setNumProcsCombo.gif" width="47" /> The drop down combo-box shows the current number of
-processes and lets the user conveniently choose a new value for the next GEM run.
-</p>
-
-<p>
-<img height="16" src="images/trident.gif" width="12" /> This will re-run GEM on the current MPI project. This is
-equivalent to choosing "Formally Verify MPI Program" from the toolbar button drop-down and is provided for convenience.
-</p>
-
-<p>
-<img height="17" src="images/hpv-trident.gif" width="15" /> This button will launch the
-<a href="happensBeforeViewer.html">Happens Before (HB) Viewer</a>, a graphical tool
-for examining all processes at once and their interactions on a more global level.
-</p>
-
-<p>
-<img height="16" src="images/browse.gif" width="16" /> <b>Browse MPI Calls</b><br>
-This opens a new window that shows all MPI Calls and groups them first by the rank that issued
-them and then by the Interleaving they are found in.<br>
-</p>
-
-<ul>
- <li>
- Blue highlighted lines represent calls that are currently highlighted in the code windows.
- </li>
- <li>
- Red highlighted lines represent calls that did NOT complete due to an error.
- </li>
-</ul>
-<img src="images/callBrowser.png">
-
-<br/><br/><br/>
-<hr/>
-
-<h2>Transitions</h2>
-<p>
-A transition is essentially an abstraction of an MPI call along with information regarding how the call
-effects the state of the system. The top left section (aptly titled "Transitions") lets
-the user change which transition is currently being viewed.
-</p>
-
-The buttons from left to right let the user navigate to the:
-<ul>
- <li><img height="16" src="images/first-item.gif" width="16" /> first transition</li>
- <li><img height="16" src="images/prev-item.gif" width="16" /> previous transition</li>
- <li><img height="16" src="images/next-item.gif" width="16" /> next transition</li>
- <li><img height="16" src="images/last-item.gif" width="16" /> last transition</li>
-</ul>
-
-<p>
-Just to the right of the transition/interleaving buttons is a drop down menu that lets the user lock a
-rank. The Lock Rank option also allows the user to only step to the previous and next call of a specific
-rank, instead of all the ranks If no ranks are locked then the calls will be stepped through in internal
-issue order or program order (depending on your selection in the <a href="#steporder">Step Order Section</a>).
-</p>
-
-<br/><br/>
-<hr/>
-
-<h2>Interleavings</h2>
-<p>
-An interleaving is a schedule of transitions, or in other words a possible
-ordering of MPI calls issued by the scheduler. The top right section (titled "Interleavings")
-lets the user change which interleaving is being viewed. Doing this will automatically
-move to the first transition of the new interleaving. These buttons let the user choose which
-interleaving is currently being navigated.
-</p>
-
-The buttons from left to right let the user navigate to the:
-<ul>
- <li><img height="16" src="images/first-item.gif" width="16" /> first interleaving</li>
- <li><img height="16" src="images/prev-item.gif" width="16" /> previous interleaving</li>
- <li><img height="16" src="images/next-item.gif" width="16" /> next interleaving</li>
- <li><img height="16" src="images/last-item.gif" width="16" /> last interleaving</li>
-</ul>
-
-<br/><br/>
-<hr/>
-
-<h2><a name="steporder">Step Order for MPI Calls</a></h2>
-
-<p>
-This is the order in which the <a href="#codewindows">Code Windows</a> will display transistions.
-</p>
-
-The radio buttons from left to right do the following:
-<ul>
- <li><b>Internal Issue Order:</b> Step through MPI calls in the order they were issued to the MPI runtime by the ISP Scheduler.</li>
- <li><b>Program Order:</b> Step through MPI calls in the order they appear in the code.</li>
-</ul>
-
-<br/><br/>
-<hr/>
-
-<h2><a name="codewindows">Code Windows</a></h2>
-<p>
-At the top of this section are two labels that explain the MPI Call(s) currently being viewed.
-On the left is the originating MPI call and on the right is the explanation of the matching MPI
-call (for example an MPI Send may match with an MPI Recv and in such a situation the Send will be
-described on the left and the Recv on the right). Some MPI Calls, such as collective operations do not
-match with anything (like Barrier or Finalize for example) in this situation the label on the right
-will be blank or simply list the processes involved with the coolective operation.
-</p>
-
-<p>
-These labels have two lines of information. From top to bottom they are:
-Rank (aka process id), and then the file and line number where the MPI call
-is found in the source file.
-</p>
-
-<p>
-Below these two labels are two windows that both hold complete copies of the
-source file. These are used to visually show where the calls came from and how
-they match. In the left window the originating call is highlighted and on
-the right the matching call is highlighted.
-</p>
-
-<br/><br/>
-<hr/>
-
-<h2>Menu & Toolbar Options</h2>
- <img src="images/terminate.gif" height="16" width="16">
-Terminate Operation - Forcibly terminates the current GEM operation.
-<br/>
- <img src="images/help-contents.gif" height="16" width="16">
-Get Analyzer Help - Opens the Eclipse help topic related to the Analyzer View page.<br/>
-
-<p>
-<b>Note:</b> This same functionality can be obtained through the Analyzer View context and pull-down menus.
-</p>
-
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/><br/>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-
-</html>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/browserView.html b/tools/gem/org.eclipse.ptp.gem.help/html/browserView.html
deleted file mode 100644
index 3f79ce5..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/browserView.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Browser View</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Browser View</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h2>Using the Browser View</h2>
-<p>
-Before formally verifying an MPI C/C++ application, the number of processes needs to be set
-for the verification run. You will also need to know how to run GEM itself. The links below
-detail these processes:
-</p>
-
-<ul>
- <li>
- <a href="gettingStarted.html">Getting Started</a>
- </li>
- <li>
- <a href="setNumProcs.html">Setting the Number of Processes</a>
- </li>
- <li>
- <a href="gettingStarted.html#rungem">Running GEM</a>.
- </li>
-</ul>
-
-<p>
-When GEM has finished the verification of your MPI C/C++ application, the Console, Browser and Analyzer Views will all be
-opened and depending on what is specified in the <a href="preferences.html#gemprefs">GEM Preference Page</a>,
-one of these views will be brought to the foreground and given the active focus.
-</p>
-
-<h2>Browser Overview</h2>
-<p>
-This highly functional view summarizes and categorically groups all of the errors and warnings found
-by GEM for a particular MPI verification run. The summary label (just above the tabs) gives the user a quick
-overview of problems found. Errors and warnings are mapped to the corresponding source code lines in
-the Eclipse editor. The Browser View's tabs help the user to quickly localize and fix MPI errors
-and warnings flagged by GEM within their source code.
-</p>
-
-<p>
-<i>The image below shows what the Browser View might look like followed by an explanation of its components.</i>
-</p>
-
-<img src="images/browserIntegration.png" width="900" height="680"/>
-
-<h2>Browser View Tabs</h2>
-
-<p>
-Below the GEM Browser View's summary label (the line above the tabs) is a section containing a tab for
-each category of error or warning that was found by GEM at runtime. By selecting a particular tab,
-the user is given detailed information on each occurrence of this error or warning in their MPI code.
-Clicking on any of these occurrences takes the user to the offending line of source code within the Eclipse
-editor. If there are no instances of the problem, then there is a short message indicating such. Furthermore, a
-user is shown which types of errors are presented via the icons of the tab (see icons directly below).
-</p>
-
-<p>
-The following is a listing of all errors and warnings summarized by the GEM Browser View,
-each with a detailed description.
-</p>
-
-<ul>
- <li>
- <img src="images/no-error.gif">
- Indicates that there are no instances of this particular error/problem.
- </li>
- <li>
- <img src="images/magnified-trident.gif">
- Tells the user that this error/problem is present in their code.
- </li>
-</ul>
-
-<h3>Deadlocks Tab</h3>
-This tab allows the user to visit all calls that did not complete due to a detected deadlock.
-
-<h3>Assertion Violations Tab</h3>
-This tab lists all local assertion violations found. Clicking any one of these will take the user to the line of
-source code with the failed assertion.
-
-<h3>Leaks Tab</h3>
-Clicking any of these will take the user to the line of source code where the corresponding un-freed MPI
-resource was allocated (these are usually MPI communicators and MPI DataTypes).
-
-<h3>Irrelevant Barriers Tab</h3>
-This tab is reserved for Functionally Irrelevant Barriers. Clicking any these will take the user to the corresponding
-MPI_Barrier call itself, which can then be safely removed without changing the runtime behavior of the MPI application.
-This could potentially speed the application up with the absence of unnecessary synchronization.
-
-<h3>Type Mismatches Tab</h3>
-These are warnings about the send type not matching the receive type.
-In some cases this may be intentional, but often times it is a programming mistake.
-
-<br/><br/>
-<hr/>
-
-<h2>Button Explanations</h2>
-<p>
-<img height="20" src="images/setNumProcsCombo.gif" width="47" /> The drop down combo-box shows the current number of
-processes and lets the user conveniently choose a new value for the next GEM run.
-</p>
-
-<p>
-<img height="16" src="images/trident.gif" width="12" /> This will re-run GEM on the current MPI project. This is
-equivalent to choosing "Formally Verify MPI Program" from the toolbar button drop-down and is provided
-for convenience.
-</p>
-
-<br/><br/>
-<hr/>
-
-<h2>Menu & Toolbar Options</h2>
- <img src="images/terminate.gif">
-Terminate Operation - Forcibly terminates the current GEM operation
-<br/>
- <img src="images/save-file.gif">
-Save to File - Saves a listing of all results to a local text file.
-<br/>
- <img src="images/help-contents.gif">
-Get Browser Help - Opens the Eclipse help topic related to the Browser View page.
-
-<p>
-<b>Note:</b> This same functionality can be obtained through the Browser View context and pull-down menus.
-</p>
-
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/><br/>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-
-</center>
-
-</body>
-</html>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/consoleView.html b/tools/gem/org.eclipse.ptp.gem.help/html/consoleView.html
deleted file mode 100644
index bda271e..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/consoleView.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Console View</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Console View</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h2>Using the Console View</h2>
-
-<p>
-Before formally verifying an MPI C/C++ application, the number of processes needs to be set
-for the verification run. You will also need to know how to run GEM itself. The links below
-detail these processes:
-</p>
-
-<ul>
- <li>
- <a href="gettingStarted.html">Getting Started</a>
- </li>
- <li>
- <a href="setNumProcs.html">Setting the Number of Processes</a>
- </li>
- <li>
- <a href="gettingStarted.html#rungem">Running GEM</a>.
- </li>
-</ul>
-
-<h2>Console Overview</h2>
-<p>
-When GEM has finished the verification of your MPI C/C++ application, the Console, Browser and
-Analyzer Views will all be opened and depending on what is specified in the
-<a href="preferences.html#gemprefs">GEM Preference Page</a>, one of these views will be
-brought to the foreground and given the active focus.
-</p>
-
-<p>
-The Console View serves as an informal progress monitor while GEM is running — a status bar of sorts.
-The actual time to formally verify any MPI application is essentially unknown and hence no actual Progress Monitor object.
-It may be useful to see <b>STDOUT</b> & <b>STDERR</b> to know when a verification run is complete. The Console
-View also gives the user the opportunity to cancel stalled or long-running operations with the standard Eclipse
-cancel button <img src="images/terminate.gif">.
-</p>
-
-<h3>Understanding Output</h3>
-Please reference the <a href="output.html">Understanding GEM Console Output</a> help page.
-
-<p>
-<i>The image below shows what the Console View might look like followed by an explanation of its components.</i>
-</p>
-
-<img src="images/consoleIntegration.png" width="800" height="607"/>
-
-<p>
-<b>Note:</b> On the <a href="preferences.html#gemprefs">GEM Preference Page</a>, you can specify whether you
-want new output to replace the older, or if new output should be appended to the older output.
-</p>
-
-<br/><br/>
-<hr/>
-
-<h2>Menu & Toolbar Options</h2>
- <img src="images/terminate.gif">
-Terminate Operation - Forcibly terminates the current GEM operation
-<br/>
- <img height="16" src="images/clear-console.gif" width="16">
-Clear Console - Removes all entries from the consoles, leaving it blank.
-<br/>
- <img height="16" src="images/save-file.gif" width="16">
-Save Output to File - Launches a window that lets you save the current contents as a .txt file anywhere you want.
-<br/>
- <img height="16" src="images/help-contents.gif" width="16">
-Get GEM Console Help - Opens the Eclipse help topic related to the GEM Console View.
-
-<p>
-<b>Note:</b> This same functionality can be obtained through the Console View context and pull-down menus.
-</p>
-
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/><br/>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/gettingStarted.html b/tools/gem/org.eclipse.ptp.gem.help/html/gettingStarted.html
deleted file mode 100644
index 053507b..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/gettingStarted.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Getting Started</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Getting Started</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h3>This page serves to get the new GEM user up and running.</h3>
-
-<p>
-To help get the new GEM user started, this page will walk through examples of how to use GEM
-to formally verify a MPI Managed-Build project as well as a larger MPI Makefile project. Please
-note that when we say <b>"formally verify"</b>, we mean <b>"check the correctness"</b>
-of your MPI application.
-</p>
-
-For Example - GEM will check your MPI application for the presence of:
-<ul>
- <li>Deadlocks</li>
- <li>Functionally Irrelevant Barriers</li>
- <li>MPI Object Leaks</li>
- <li>Local Assertion Violations</li>
- <li>MPI Type Mismatches</li>
-</ul>
-
-<p>
-Some of these errors and problems are <b>extremely difficult</b> to detect and find with traditional
-debugging tools and practices.
-</p>
-
-<p>
-Remember that no code instrumentation is necessary. At compile time, GEM will link in its profiler library
-which takes care of everything for you automatically (using the PMPI mechanism). GEM offers push-button formal
-verification for MPI C/C++ applications. Fortran support is planned in the future.
-</p>
-
-<p>
-The main idea here is to illustrate just how easy it is to do verification on your MPI application <b>throughout</b>
-your project's life-cycle. A developer can create, edit, compile, verify, parallel debug (for standard logic errors)
-and launch your MPI apps all from the comfort of the Eclipse IDE.
-</p>
-
-<br/>
-<hr/>
-
-<h2>Verifying a MPI <ins>Managed Build</ins> Project</h2>
-
-<h3>STEP - 1: Make Sure all Prerequisites are Satisfied</h3>
-Please see the <a href="prereqs.html">GEM Prerequisites Page</a>. Particularly important, is the installation
-of <a href="http://www.cs.utah.edu/formal_verification/ISP-release/">In-situ Partial Order (ISP)</a>, the underlying
-formal verification engine GEM serves as a front-end for.
-
-<h3>STEP - 2: Set ISP Command Line Options</h3>
-You'll need to tell GEM where ISP and its scripts (both local and remote) are installed and which of its command line
-options you would like to use. Please see the <a href="preferences.html#ispPrefs">ISP Preference Page</a> for detailed
-instructions (image below).
-
-<h3>STEP - 3: Set the Number of Processes to Verify With</h3>
-<i>(the same number of processes that you would run your MPI application with normally</i><br/>
-To do this, please consult the help page detailing <a href="setNumProcs.html">Setting the number of processes</a>
-
-<h3>STEP - 4: Set Preference for Command Line Arguments Prompt</h3>
-
-Depending on whether or not this preference is set, a dialog (figure 1 below) may be opened prior to verification
-(e.g. when GEM is run) to collect this information. Please see the <a href="preferences.html#gemPrefs">GEM Preference Page</a>
-for this (figure 2 below).
-
-<br/><br/>
-<b>figure 1</b><br/><br/>
-<img src="images/comandLineArgsDialog.png">
-<br/><br/>
-
-<br/><br/>
-<b>figure 2</b><br/><br/>
-<img src="images/gemPrefsCmdArgs.png">
-<br/><br/>
-
-<h3>STEP - 5: Choose Project to Formally Verify</h3>
-In this example, we'll verify the simple <tt><b>MPI Pi C</b></tt> project that you can create with the CDT New
-MPI Project Wizard.<br/>
-<i>NOTE: GEM's views may not be visible at first, but will be opened when a verification run is started.</i><br/><br/>
-
-Your C/C++ perspective might look something like the image below (notice the <tt><b>Pi.c</b></tt> file open in the Eclipse editor).<br/><br/>
-<img src="images/gemPiExample.png">
-
-<h3><a name="rungem">Running GEM</a></h3>
-<p>
-When you formally verify an MPI C/C++ application, the Console, Browser and Analyzer Views will both be
-opened and depending on what is specified in preferences, one of these views will be brought to the foreground
-and given the active focus.
-</p>
-
-<p>
-There are three initial ways to start GEM's verification process on your MPI application. These three methods
-are for smaller projects, e.g. the program entry point <tt><b>main</b></tt> and all of the MPI is in a single file.
-</p>
-
-<p>
-For using GEM on larger Makefile projects, please see the section below on
-<a href="#makefileproject">Verifying a MPI Makefile Build Project</a>.
-
-<ol>
- <li>
- Open the source code file in the Eclipse editor window and select
- <img height="16" src="images/trident.gif" width="13" /><b>Formally Verify MPI Program</b>
- from the trident pull-down icon on the Eclipse toolbar.
- <br/><br/>
- <img src="images/runVerify.png">
- <br/><br/>
- </li>
- <li>
- From the Project Explorer window, right click on the <tt><b>Pi.c</b></tt> source code file and select
- <img height="16" src="images/trident.gif" width="13" /><b>Formally Verify MPI Program</b>
- from the GEM context menu (see image below).
- </li>
- <li>
- Open the source code file in the Eclipse editor window, right click on the <tt><b>Pi.c</b></tt>
- source code file in the editor window and select
- <img height="16" src="images/trident.gif" width="13" /><b>Formally Verify MPI Program</b>
- from the GEM context menu (see image below).
- <br/><br/>
- <img src="images/sourceCodePopUp.png">
- <br/><br/>
- </li>
-</ol>
-
-<a name="step6"></a>
-<h3>STEP - 6: Use GEM Views to Locate and Correct MPI Errors / Problems</h3>
-
-<p>
-
-</p>
-
-<p>
-Once verification starts you will see the three GEM Views open (if they weren't already). Terminal output will
-be posted as it occurs in the <a href="consoleView.html">Console View</a>, <b>STDOUT</b> in black and <b>STDERR</b> in red. This output serves
-to inform the user of forward progress, a status bar of sorts, as there is now way to determine exactly how long a
-verification run will take (hence no actual Progress Monitor object).
-</p>
-
-<img src="images/gemConsole.png">
-<br/><br/>
-
-<ol>
- <li>
- The <b>Analyzer View</b> will help you walk through the execution of your MPI application
- and understand MPI runtime behavior. GEM is a dynamic formal verification tool and tracks the actual events
- e.g. p2p send-recv matches as they occurred at runtime.
- <br/><br/>
- For detailed coverage of the <b>Analyzer View</b> and how to use it, please refer to the
- <a href="analyzerView.html"><b>Analyzer View Documentation</b></a>.
- <br/><br/>
- <img src="images/analyzer.png">
- <br/><br/>
- </li>
- <li>
- The <b>Browser View</b> summarizes and categorically groups all of the errors and warnings found
- by GEM for a particular MPI verification run. The summary label (just above the tabs) gives the
- user a quick overview of problems found. Errors and warnings are mapped to the corresponding
- source code lines in the Eclipse editor. The Browser View's tabs help the user to quickly locate
- and fix MPI errors flagged by GEM in their source code.
- <br/><br/>
- For detailed coverage of the <b>Browser View</b> and how to use it, please refer to the
- <a href="browserView.html"><b>Browser View Documentation</b></a>.
- <br/><br/>
- <img src="images/browser.png">
- <br/><br/>
- </li>
- <li>
- The <b>Console View</b> is described and shown at the beginning of <a href="#step6">step 6</a>.
- <br/>
- For detailed coverage of the <b>Console View</b> and how to use it, please refer to the
- <a href="consoleView.html"><b>Console View Documentation</b></a>.
- <br/><br/>
- </li>
-</ol>
-
-<h2><a name="makefileproject">Verifying a MPI <ins>Makefile Build</ins> Project</a></h2>
-
-The process for verifying a <b>Makefile</b> Project differs only slightly and is detailed in
-the <a href="makefileSupport.html"><b>Makefile Support Documentation</b></a>.
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/happensBeforeViewer.html b/tools/gem/org.eclipse.ptp.gem.help/html/happensBeforeViewer.html
deleted file mode 100644
index 6d8f54b..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/happensBeforeViewer.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Happens Before Viewer</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Happens Before Viewer</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h2>Running the Happens Before Viewer</h2>
-<p>
-The Happens Before Viewer is actually an external tool and is launched from within the
-<a href="analyzerView.html#hbviewer">Analyzer View</a> or on a pre-existing log file (generated
-at runtime by GEM) directly. This is done via context menus as shown in the image below.
-</p>
-
-<p>
-<i> Note: The log file and profiled executable generated by GEM will be in a directory named <b>"gem"</b> at
-the top level of the current project.</i>
-</p>
-<ul>
- <li>
- From the Analyzer View, simply click the <b>HB Viewer</b> button after GEM has been run.
- </li>
- <li>
- From the Project Explorer window, right click on the generated log file
- and select <img height="16" src="images/hpv-trident.gif" width="13" />
- <b>Launch Happens Before Viewer</b> from the GEM context menu.
- </li>
-
-</ul>
-
-<br>
-<center>
-<img src="images/hpvPopUp.png">
-</center>
-<br><br>
-
-<h2>Understanding What You See</h2><br>
-<ul>
- <li>
- <b>Showing Interleaving:</b> indicates which interleaving is currently being shown and
- the total number of interleavings GEM examined.
- </li>
- <li>
- <b>Deadlock:</b> Is either followed by <font COLOR="#00ff00">no </font>or
- <font COLOR="#ff0000">yes</font>, and indicates if any of the interleavings contain a deadlock.
- </li>
- <li>
- <b>Red Bordered DEADLOCK:</b> At the bottom of the window indicates that at this point the currently selected
- interleaving is deadlocked. Calls above this will be issued and calls that would come afterward are not shown.
- </li>
- <li>
- <b>Process[Number]:</b> This specifies which Process the calls below it belong to (Where Number is the number
- of the process in question). The color of the border around this text is arbitrary and serves only to help
- the human eye distinguish the various columns and return to a column of interest more quickly.
- </li>
- <li>
- <b>Blue Arrows:</b> Show CB (Completes Before) edges that connect intra-process MPI calls
- (calls within the same MPI process). A CB edge is a guarantee that the source must complete before
- the destination. For example a Barrier will always have a CB edge connecting it to the next call in
- the same process because the next call cannot complete before the barrier is finished. It is
- important to note though that there is only a CB edge to each call blocked by the call in
- question. As an example lets imagine that a Barrier is followed by a second Barrier and then a Send. There
- is a CB edge between the first and second Barrier and between the second Barrier and the Send, but none
- between the first Barrier and the Send because it the second Barriers that directly blocks the send. The
- CB edges are by default not shown, but the <a href="#changing">Changing What You See</a> section
- below will show you how to make them appear.
- </li>
- <li>
- <b>Red Arrows:</b> Show CB edges that connect inter-process MPI calls (calls between different processes).
- </li>
- <li>
- <b>Black Arrows:</b> Connect MPI calls that match. For example a Send will have a Black Arrow pointing to the
- Receive that picks up its message.
- </li>
- <li>
- <b>Dotted Black Arrows:</b> Like solid Block Arrows these connect calls that match. The only difference
- is that these connect a Red Bordered call.
- </li>
- <li>
- <b>Red Borders:</b> Indicates that this call is the source of a different interleaving and is
- the cause of the non-determinism (most likely some type of Recv with an MPI_ANY_SOURCE). In other words
- what is currently being displayed is one potential match for the Red Bordered call, but that another
- possible match exists and can be viewed by changing which interleaving is being shown.
- </li>
-</ul>
-
-<br>
-<img alt="" src="images/hpv.png">
-<br><br>
-
-<h2><a name="changing">Changing What You See</a></h2>
-
-<ul>
- <li>
- To change which Interleaving you are viewing you can click on the < or > buttons or click “Goto”
- after providing the desired interleaving number in the text box next to it.
- </li>
- <li>
- To toggle whether or not you want matches to shown use the check box next to “Show Matches”.
- </li>
- <li>
- To reset the view back to how it was before you made changes click the “Clear” button.
- </li>
- <li>
- To see the source file that generated the log click on “Show Source”.
- </li>
- <li>
- To add Completes-Before (CB) Edges, there are several choices.
- For a given call, process or some subset of either (e.g. you can select all processes and all calls or
- some subset therein)
- <ol>
- <li>
- right click the call and select either View InterCB, View IntraCB or View Both as desired.
- </li>
- <li>
- Lastly you will need to indicate whether you want to view the edgesin: the <b>Root Window</b>
- or in a <b>Separate Window</b> (see images below). A separate window with IntraCB Edges is
- shown below.
- </li>
- </ol>
- <img src="images/cbChoices.png"><br><br>
- <br><br>
- <img src="images/process-intracb.png"><br><br>
- </li>
-</ul>
-
-<p>
-You may also change which log file you are viewing by clicking: File -> Open Trace and navigate to the desired file.
-</p>
-
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/><br/>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-
-</html>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/help.css b/tools/gem/org.eclipse.ptp.gem.help/html/help.css
deleted file mode 100644
index 6f5a78c..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/help.css
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Adapted from PTP help plugin */
-
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000}
-pre { font-family: Courier, monospace}
-
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 10pt; }
-pre { font-size: 10pt}
-
-
-/* body and headings decls */
-body { background: #FFFFFF}
-h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 }
-h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
-h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
-h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
-p { font-size: 10pt; }
-pre { margin-left: 6; font-size: 9pt }
-
-
-/* anchor decls */
-a:link { color: #006699 }
-a:visited { color: #996699 }
-a:hover { color: #006699 }
-
-
-/* list and formatting decls */
-ul { margin-top: 0; margin-bottom: 10 }
-li { margin-top: 0; margin-bottom: 0 }
-li p { margin-top: 0; margin-bottom: 0 }
-ol { margin-top: 0; margin-bottom: 10 }
-dl { margin-top: 0; margin-bottom: 10 }
-dt { margin-top: 0; margin-bottom: 0; font-weight: bold }
-dd { margin-top: 0; margin-bottom: 0 }
-strong { font-weight: bold}
-em { font-style: italic}
-var { font-style: italic}
-div.revision { border-left-style: solid; border-left-width: thin; border-left-color: #7B68EE; padding-left:5 }
-th { font-weight: bold }
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/ISP-diagram.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/ISP-diagram.gif
deleted file mode 100644
index 04e5042..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/ISP-diagram.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/analyzer.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/analyzer.png
deleted file mode 100644
index 27a3abd..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/analyzer.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/analyzerIntegration.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/analyzerIntegration.png
deleted file mode 100644
index 0914be5..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/analyzerIntegration.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/analyzerSetProcs.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/analyzerSetProcs.png
deleted file mode 100644
index 9719dac..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/analyzerSetProcs.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/browse.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/browse.gif
deleted file mode 100644
index 2344861..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/browse.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/browser.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/browser.png
deleted file mode 100644
index b67899b..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/browser.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/browserIntegration.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/browserIntegration.png
deleted file mode 100644
index b410ca1..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/browserIntegration.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/browserSetProcs.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/browserSetProcs.png
deleted file mode 100644
index c32a355..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/browserSetProcs.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/callBrowser.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/callBrowser.png
deleted file mode 100644
index b5143eb..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/callBrowser.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/cbChoices.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/cbChoices.png
deleted file mode 100644
index b170d96..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/cbChoices.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/clear-console.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/clear-console.gif
deleted file mode 100644
index af30a42..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/clear-console.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/comandLineArgsDialog.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/comandLineArgsDialog.png
deleted file mode 100644
index a8193d1..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/comandLineArgsDialog.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/consoleIntegration.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/consoleIntegration.png
deleted file mode 100644
index ffbbd9c6..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/consoleIntegration.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/deadlock.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/deadlock.gif
deleted file mode 100644
index 0556c29..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/deadlock.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/executablePopUp.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/executablePopUp.png
deleted file mode 100644
index 59a014e..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/executablePopUp.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/first-item.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/first-item.gif
deleted file mode 100644
index 328e97e..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/first-item.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemConsole.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/gemConsole.png
deleted file mode 100644
index 7b84ce2..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemConsole.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemExtension.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/gemExtension.png
deleted file mode 100644
index dc4b2e3..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemExtension.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemPiExample.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/gemPiExample.png
deleted file mode 100644
index fc2e105..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemPiExample.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemPrefs.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/gemPrefs.png
deleted file mode 100644
index 8ce62b1..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemPrefs.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemPrefsCmdArgs.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/gemPrefsCmdArgs.png
deleted file mode 100644
index b4258fb..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/gemPrefsCmdArgs.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/help-contents.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/help-contents.gif
deleted file mode 100644
index 9d70301..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/help-contents.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/hpv-trident.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/hpv-trident.gif
deleted file mode 100644
index 203374a..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/hpv-trident.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/hpv.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/hpv.png
deleted file mode 100644
index ca16cdd..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/hpv.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/hpvPopUp.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/hpvPopUp.png
deleted file mode 100644
index 4de195d..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/hpvPopUp.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/invalidExecutable.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/invalidExecutable.png
deleted file mode 100644
index 67cf3f2..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/invalidExecutable.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/ispPrefs.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/ispPrefs.png
deleted file mode 100644
index f36c9ea..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/ispPrefs.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/last-item.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/last-item.gif
deleted file mode 100644
index c39cf62..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/last-item.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/magnified-trident.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/magnified-trident.gif
deleted file mode 100644
index 849a0c0..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/magnified-trident.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/makeTargets.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/makeTargets.png
deleted file mode 100644
index ceeabb4..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/makeTargets.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/match-call.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/match-call.gif
deleted file mode 100644
index 059caec..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/match-call.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/next-item.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/next-item.gif
deleted file mode 100644
index e2f8c3e..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/next-item.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/no-error.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/no-error.gif
deleted file mode 100644
index 3d9b4e8..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/no-error.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/numProcsDialog.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/numProcsDialog.png
deleted file mode 100644
index 50bd1d6..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/numProcsDialog.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/prev-item.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/prev-item.gif
deleted file mode 100644
index 4c22b59..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/prev-item.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/process-intracb.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/process-intracb.png
deleted file mode 100644
index 86125a5..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/process-intracb.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/processes.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/processes.gif
deleted file mode 100644
index 828a539..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/processes.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/runNumProcs.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/runNumProcs.png
deleted file mode 100644
index 695c226..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/runNumProcs.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/runVerify.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/runVerify.png
deleted file mode 100644
index 2d72d45..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/runVerify.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/save-file.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/save-file.gif
deleted file mode 100644
index 499dd0c..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/save-file.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/setNumProcsCombo.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/setNumProcsCombo.gif
deleted file mode 100644
index 94f021c..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/setNumProcsCombo.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/source-call.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/source-call.gif
deleted file mode 100644
index 695e5a5..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/source-call.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/sourceCodePopUp.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/sourceCodePopUp.png
deleted file mode 100644
index b73f89a..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/sourceCodePopUp.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/terminate.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/terminate.gif
deleted file mode 100644
index dc47edf..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/terminate.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/trident.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/trident.gif
deleted file mode 100644
index e5feb64..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/trident.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/trident_transparent.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/trident_transparent.png
deleted file mode 100644
index 7cbaab8..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/trident_transparent.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/triple-trident.gif b/tools/gem/org.eclipse.ptp.gem.help/html/images/triple-trident.gif
deleted file mode 100644
index c7e244d..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/triple-trident.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/images/unknownCommand.png b/tools/gem/org.eclipse.ptp.gem.help/html/images/unknownCommand.png
deleted file mode 100644
index 5a7b535..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/images/unknownCommand.png
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/makefileSupport.html b/tools/gem/org.eclipse.ptp.gem.help/html/makefileSupport.html
deleted file mode 100644
index fb5e80c..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/makefileSupport.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Makefile Support</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Makefile Support</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<p>
-GEM supports CDT C and C++ Makefile projects with a minimum effort required on the part of the programmer.
-With some minor modifications to your MPI project's Makefiles, you'll be able to use GEM with your Makefile
-Projects as well as your Managed Build Projects.
-</p>
-
-<h2>Makefile Modification Steps</h2>
-
-<p>
-The following are the necessary steps to modify your CDT MPI Makefile Project so that it can be formally
-verified by GEM. If you are creating a project from scratch, make sure to start with a new <b>Makefile Project</b>
-and not a <b>Managed-Build Project</b>!
-</p>
-
-<ul>
- <li>
- Change the compiler to <tt><b>ispcc</b></tt> for C or <tt><b>ispCC</b></tt> for C++. These are wrappers for
- <tt><b>mpicc</b></tt> and <tt><b>mpicxx</b></tt> that allow GEM to intercept MPI calls at runtime with an
- interposition layer (the PMPI mechanism).
- <pre>
- # Which compiler to use
- # CC = mpicc <-- comment this out
-
- # For MPI C applications
- CC = ispcc <-- add this for C compilation (ispcc is a wrapper for mpicc)
-
- # For MPI C++ applications
- CXX = ispCC <-- add this for C++ compilation (ispCC is a wrapper for mpicxx)
- </pre>
- </li>
- <li>
- GEM requires the fully qualified path to all source code files in order to know how to locate errors
- and problems in your code. ISP itself uses the <tt><b>__FILE__</b></tt> and <tt><b>__LINE__</b></tt>
- macros in generating a runtime log. The modification below facilitates this by giving this information
- to ispcc/ispCC (gcc/g++) at compile time in order to get that back in the same form.
- <pre>
- SOURCEPATH = $(shell pwd) # defining this will give the compiler the fully qualified path to each file encountered
- $(CC) $(CFLAGS) -c $(SOURCEPATH)/$*.c # add this to your build rules
- </pre>
- </li>
- <li>
- <b>Change the extension of the generated executables to <i>".gem"</i></b>
- <pre>
- $(BINDIR)/mtest.gem$(VERNUM): $(MESHTESTOBJS) $(ISPOBJS)
- </pre>
- </li>
-</ul>
-
-
-<h2>Setting Your Projects up to Build</h2>
-<ul>
- <li>
- Create make targets for your Makefile Project
- <br/><br/>
- <img src="images/makeTargets.png">
- <br/><br/>
- </li>
- <li>
- Now simply double click the make target you need.<br>
- <i>You may have to do a little debugging to get everything just right</i>
- <br/><br/>
- </li>
-</ul>
-
-<h2>Running GEM on the Generated Executables</h2>
-<ul>
- <li>
- Locate the executable(s) with ".gem" extension in the Project Explorer
- <br/><br/>
- <img src="images/gemExtension.png">
- <br/><br/>
- </li>
- <li>
- <a href=setNumProcs.html>Set the number of processes</a> for the next run of GEM.
- </li>
- <li>
- Right click on the previously located executable with <b>".gem"</b> extension in the Project Explorer
- <br/><br/>
- <img src="images/executablePopUp.png">
- <br/><br/>
- </li>
- <li>
- This should bring up the GEM views (if they aren't already open) with post verification results.<br/>
- <ul>
- <li>
- <a href="analyzerView.html">Analyzer View Help page</a>
- </li>
- <li>
- <a href="browserView.html">Browser View Help page</a>
- </li>
- <li>
- <a href="consoleView.html">Console View Help page</a>
- </li>
- </ul>
- </li>
-</ul>
-
-<h4>That's it!</h4>
-
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/><br/>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-
-</html>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/output.html b/tools/gem/org.eclipse.ptp.gem.help/html/output.html
deleted file mode 100644
index 08ec12a..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/output.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Understanding GEM Output</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Understanding GEM Console Output</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<p><b>
-This page is designed to provide detailed explanations (for those who are curious) of the output generated
-in the Console View as well as the content of log files GEM generates.
-</b></p>
-
-<p>
-There is no reason for the casual user to understand in any great detail, the output displayed in
-the GEM Console View or the contents of the log files that are generated. GEM exists to provide an
-intuitive, visual interface to debug and understand MPI applications and MPI runtime behavior and
-to keep the user insulated from the details of trace files. The following views and tools are
-provided by GEM to accomplish this:
-</p>
-<ul>
- <li>
- <a href="analyzerView.html">GEM Analyzer View</a>
- </li>
- <li>
- <a href="analyzerView.html">GEM Browser View</a>
- </li>
- <li>
- <a href="happensBeforeViewer.html">Happens Before Viewer</a>
- </li>
-</ul>
-
-<h3>Sample Output From GEM Console View:</h3>
-
-<ul>
- <li>MPI Implementation — OpenMPI</li>
- <li>UNIX Sockets enabled</li>
- <li>FIB Enabled</li>
- <li>Blocking Sends Enabled</li>
- <li>3 Processes</li>
-</ul>
-
-<pre>
-ISP - Insitu Partial Order
------------------------------------------
-Command: /home/alan/mpi/MPI_AnySrc/gem/MPI_AnySrc.gem
-Number Procs: 3
-Server: Local Socket
-Blocking Sends: Enabled
-FIB: Enabled
------------------------------------------
-Started Process: 22044
-(0) is alive on formal
-(2) is alive on formal
-INTERLEAVING :1
-(1) is alive on formal
------------------------------------------
-Transition list for 0
-0 o=1 i=0 rank=0 Barrier /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:31 count=1{[0, 1][0, 2]} {}
-1 o=4 i=1 rank=0 Irecv /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:37 src=-1 rtag=0 count=1{[0, 2]} {} Matched [1,1]
-2 o=7 i=2 rank=0 Recv /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:39 src=1 rtag=0{} {}
-
-Transition list for 1
-0 o=2 i=0 rank=1 Barrier /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:31 count=1{[1, 1]} {}
-1 o=5 i=1 rank=1 Send /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:50 dest=0 stag=0{[1, 2]} {} Matched [0,1]
-2 o=8 i=2 rank=1 Recv /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:52 src=0 rtag=0{} {}
-
-Transition list for 2
-0 o=3 i=0 rank=2 Barrier /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:31 count=1{[2, 1]} {}
-1 o=6 i=1 rank=2 Send /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:58 dest=0 stag=0{} {}
-
-No matching MPI call found!
-Detected a DEADLOCK in interleaving 1
------------------------------------------
-Started Process: 22048
-(1) is alive on formal
-(0) is alive on formal
-(2) is alive on formal
-INTERLEAVING :2
-(1) Finished normally
-(0) Finished normally
-(2) Finished normally
------------------------------------------
-ISP detected deadlock!!!
-Total Explored Interleavings: 2
-Interleaving Exploration Mode: All Relevant Interleavings
------------------------------------------
-
-List of Irrelevant Barriers - If want to remove, remove a complete match set:
-Match Set: 1
-0: /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:31
-1: /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:31
-2: /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:31
-
-Match Set: 2
-0: /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:61
-1: /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:61
-2: /home/alan/mpi/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c:61
-</pre>
-
-<h2>Output is separated into segments by lines of dashes.</h2>
-<br>
-<ul>
- <li>
- The first segment is simply a title and will always display <b>ISP - Insitu Partial Order</b>.
- ISP is the underlying verification engine used by GEM. The log files GEM interprets are
- generated by ISP.
- </li>
- <li>
- The second segment is fairly self explanatory, and provides the string used to specify the
- name of the executable, the number of processes used, the server used, whether or not
- <b>Blocking Sends</b> should be used, and whether or not <b>Functionally Irrelevant Barrier
- (FIB) detection</b> is enabled.
- </li>
- <li>
- The third segment is separated into interleavings. An interleaving (also called a schedule)
- is a description of how the ISP Scheduler issued instruction to the MPI runtime. In this
- segment, a brief explanation of how each process ran in each interleaving is given. In
- the example above all three processes started and finished normally in the first interleaving,
- but in the second interleaving a deadlock was found so each process had to abort.
- </li>
- <li>
- The last segment describes how each MPI call was handled. Its
- format is very similar to that of the log file except that the calls are grouped
- by the process that issued it. To understand what it means
- please read the following section on understanding the log file.
- </li>
-</ul>
-
-<h2>Understanding the Log Files</h2>
-<p>
-Like <b>GEM Console</b> output, users are not expected to understand log files. The best way understand what
-the log file contents represent is to run the <a href="happensBeforeViewer.html">Happens Before (HB) Viewer</a>
-to graphically examine the information it displays. The log file consists of a single number (the first line)
-that says how many processes were used to create the file, a list of every MPI call that program issued and
-information about how that MPI call interacts with other MPI calls, unless a deadlock is found, at which point
-progress halts for that particular interleaving. Here the log will have a line giving the interleave number
-and the word <b>"DEADLOCK"</b>. It is possible to have more than one deadlock in your program. Each
-deadlock will be contained in a particular interleaving (e.g. and interleaving can have at most one deadlock).
-</p>
-
-<pre>
-3
-1 0 0 1 1 Barrier 0_0:1:2: { 1 2 } { [ 1 1 ] [ 2 1 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 31
-1 0 1 4 5 Irecv -1 0 0_0:1:2: { 2 } { [ 1 2 ] } Match: 1 1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 37
-1 0 2 7 -1 Recv 1 0 0_0:1:2: { } { } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 39
-1 1 0 2 2 Barrier 0_0:1:2: { 1 } { [ 0 1 ] [ 0 2 ] [ 2 1 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 31
-1 1 1 5 4 Send 0 0 0_0:1:2: { 2 } { [ 0 2 ] } Match: 0 1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 50
-1 1 2 8 -1 Recv 0 0 0_0:1:2: { } { } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 52
-1 2 0 3 3 Barrier 0_0:1:2: { 1 } { [ 0 1 ] [ 0 2 ] [ 1 1 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 31
-1 2 1 6 -1 Send 0 0 0_0:1:2: { } { } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 58
-1 DEADLOCK
-2 0 0 1 6 Barrier 0_0:1:2: { 1 2 } { [ 1 0 ] [ 2 0 ] [ 1 1 ] [ 0 0 ] [ 2 1 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 31
-2 0 1 4 10 Irecv -1 0 0_0:1:2: { 2 5 } { [ 2 1 ] [ 2 2 ] } Match: 2 1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 37
-2 0 2 7 12 Recv 1 0 0_0:1:2: { 3 } { [ 1 1 ] [ 1 2 ] [ 0 2 ] } Match: 1 1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 39
-2 0 3 17 13 Send 1 0 0_0:1:2: { 4 } { [ 1 2 ] [ 1 3 ] [ 0 3 ] } Match: 1 2 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 41
-2 0 4 19 16 Recv -1 0 0_0:1:2: { 5 } { [ 1 3 ] [ 1 4 ] } Match: 1 3 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 44
-2 0 5 21 17 Wait { 6 } { } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 46
-2 0 6 23 18 Barrier 0_0:1:2: { 7 } { [ 1 4 ] [ 2 2 ] [ 1 5 ] [ 0 6 ] [ 2 3 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 61
-2 0 7 24 21 Finalize { } { [ 1 5 ] [ 2 3 ] [ 0 7 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 63
-2 1 0 2 7 Barrier 0_0:1:2: { 1 } { [ 0 0 ] [ 2 0 ] [ 0 1 ] [ 0 2 ] [ 1 0 ] [ 2 1 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 31
-2 1 1 5 11 Send 0 0 0_0:1:2: { 2 } { [ 0 2 ] [ 0 3 ] [ 1 1 ] } Match: 0 2 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 50
-2 1 2 18 14 Recv 0 0 0_0:1:2: { 3 } { [ 0 3 ] [ 0 4 ] [ 1 2 ] } Match: 0 3 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 52
-2 1 3 20 15 Send 0 0 0_0:1:2: { 4 } { [ 0 5 ] [ 1 3 ] } Match: 0 4 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 54
-2 1 4 22 19 Barrier 0_0:1:2: { 5 } { [ 0 6 ] [ 2 2 ] [ 0 7 ] [ 1 4 ] [ 2 3 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 61
-2 1 5 25 22 Finalize { } { [ 0 7 ] [ 2 3 ] [ 1 5 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 63
-2 2 0 3 8 Barrier 0_0:1:2: { 1 } { [ 0 0 ] [ 1 0 ] [ 0 1 ] [ 0 2 ] [ 2 0 ] [ 1 1 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 31
-2 2 1 6 9 Send 0 0 0_0:1:2: { 2 } { [ 0 2 ] [ 0 5 ] [ 2 1 ] } Match: 0 1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 58
-2 2 2 16 20 Barrier 0_0:1:2: { 3 } { [ 0 6 ] [ 1 4 ] [ 0 7 ] [ 2 2 ] [ 1 5 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 61
-2 2 3 26 23 Finalize { } { [ 0 7 ] [ 1 5 ] [ 2 3 ] } Match: -1 -1 File: 98 /home/alan/mpi/MPI_AnySrc/src/MPI_AnySrc.c 63
-...
-</pre>
-
-<hr>
-
-<p>
-To understand the format, we will take a single line from the generated log file (line shown below) as an example, and explain each portion in detail:
-</p>
-
-<hr/>
-<b><tt>
- 2 0 1 4 10 Irecv -1 0 0_0:1:2: { 2 5 } { [ 2 1 ] [ 2 2 ] } Match: 2 1 File: 98 /home/alan/MPI/MPI_AnySrcCanDeadlock/src/MPI_AnySrc.c 37
-</tt>
-</b>
-<hr/>
-<br/>
-
-<table border="1" cellpadding="5">
-<tr>
- <th>Element</th>
- <th>Title</th>
- <th>Explanation</th>
-</tr>
-<tr>
- <td><b>2</b></td>
- <td style="width: 245px">Interleaving Number (1-based)</td>
- <td>This MPI call was issued in the second interleaving.</td>
-</tr>
-<tr>
- <td><b>0</b></td>
- <td style="width: 245px">Process Number (0-based)</td>
- <td>This call was issued by process zero.</td></tr>
-<tr>
- <td><b>1</b></td>
- <td style="width: 245px">Process Call Index (0-based)</td>
- <td>The order the envelope is sent by the process. This was second call issued by this process.</td>
-</tr>
-<tr>
- <td><b>4</b></td>
- <td style="width: 245px">Scheduler Receive Index (1-based)</td>
- <td>This was the fourth call received by ISP's scheduler.</td>
-</tr>
-<tr>
- <td><b>10</b></td>
- <td style="width: 245px">Scheduler Issue Index (1-based)</td>
- <td>The order in which MPI calls are issued to the MPI runtime. This was the tenth call performed by ISP.</td>
-</tr>
-<tr>
- <td><b>Irecv</b></td>
- <td style="width: 245px">MPI Call Name</td>
- <td>This call was a MPI <b>Irecv</b> issued by process 0.</td>
-</tr>
-<tr>
- <td><b>-1</b></td>
- <td style="width: 245px">The Source Index</td>
- <td>Source is -1 in this case because the MPI call itself is the source. This call was a MPI Irecv issued by process 0.</td>
-</tr>
-<tr>
- <td><b>0</b></td>
- <td style="width: 245px">MPI Message Tag</td>
- <td>The MPI message tag here is <b>0</b>.</td>
-</tr>
-<tr>
- <td><b>0_</b></td>
- <td style="width: 245px">MPI Communicator</td>
- <td>The MPI communicator this MPI call is a member of.</td>
-</tr>
-<tr>
- <td><b>0:1:2</b></td>
- <td>Processes in MPI communicator</td>
- <td>Processes 0, 1, and 2 are in this particular MPI communicator <i>(MPI_COMM_WORLD in this example).</i></td>
-</tr>
-<tr>
- <td><b>{2 5}</b></td>
- <td style="width: 245px">Intra-Process MPI calls blocked</td>
- <td>Blocks the MPI calls within this processes with <b>Process Call Index</b> of 2 and 5, Recv and Finalize in this case.</td>
-</tr>
-<tr>
- <td><b>{ [ 2 1 ] [ 2 2 ] }</b></td>
- <td style="width: 245px">Inter-Process MPIcalls blocked</td>
- <td>
- Blocks the indicated calls across processes (MPI calls found in other processes). Each are listed in pairs
- (numbers between the [ ] form a pair), the first element of the pair is the process that made the MPI call,
- the second number is the <b>Process Call Index</b>. For example, the first pair tells us that the call from
- process 2 with a Process Call Index of 1 is blocked.
- </td>
-</tr>
-<tr>
- <td><b>Match: 2 1</b></td>
- <td style="width: 245px">Match Rank & Index</td>
- <td>
- For calls like Send and Recv and has -1 -1 for calls without matches (e.g. collectives). Here the <b>match rank</b> is
- process <b>2</b> and the <b>match index</b> is <b>1</b>.
- </td>
-</tr>
-<tr>
- <td><b>File: 98</b></td>
- <td style="width: 245px">Filename & with length</td>
- <td>The length of the file name length in this example is <b>98</b>.</td>
-</tr>
-<tr>
- <td><b>/home/.../.../MPI_AnySrc.c</b></td>
- <td style="width: 245px">The path and name of the source code file containing the MPI call</td>
- <td>The fully qualified path to the source code file named <b>MPI_AnySrc.c</b>.</td>
-</tr>
-<tr>
- <td><b>37</b></td>
- <td style="width: 245px">Line number MPI call is found on</td>
- <td>This MPI call is found on <b>line 37</b> of the source code file listed above.</td>
-</tr>
-</table>
-
-<p> </p>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<p> </p>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-
-</html>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/overview.html b/tools/gem/org.eclipse.ptp.gem.help/html/overview.html
deleted file mode 100644
index 868f11b..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/overview.html
+++ /dev/null
@@ -1,395 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>GEM - Overview and Features</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>GEM - Overview and Features</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<p>
-Graphical Explorer of MPI Programs (GEM), is a graphical front end for
-In-situ Partial Order (ISP), a dynamic formal verification tool for MPI C/C++
-programs, developed at the University of Utah. GEM greatly enhances the usability
-of ISP by providing an intuitive graphical way to track down bugs in MPI C/C++
-programs, examine post-runtime results and to analyze MPI runtime behavior.
-</p>
-
-<p>
-GEM can be used by anyone who can write simple MPI C/C++ programs, and requires no
-special training. GEM allows you to formally verify your MPI C/C++ programs automatically
-without any extra efforts on your part. No code instrumentation is necessary. GEM
-will definitively flag the following errors and warnings:
-</p>
-
-<ul>
- <li>Deadlocks</li>
- <li>Functionally Irrelevant Barriers</li>
- <li>MPI Object Leaks</li>
- <li>Local Assertion Violations</li>
- <li> MPI Type Mismatches</li>
-</ul>
-
-<h3>Analyzer View</h3>
-<p>
-The <a href="analyzerView.html">Analyzer View</a> is a unique user interface that visually displays the output
-from the log file that was generated at runtime (by ISP) by highlighting lines representing match sets (p2p and collective send-recv matches) in the source file.
-It shows both the current MPI call, and any matching point-to-point or collective operation.
-The <a href="analyzerView.html">Analyzer View</a> also allows the user to examine
-MPI calls for a particular rank with an easy to use <b>Rank Locking</b> feature.
-</p>
-
-<p>
-The Analyzer View offers the user the ability to "step" through execution of the code in debug fashion
-examining the execution of the MPI calls in the program as they happened at runtime. The user can view this in
-two different orderings:
-</p>
-<ul>
- <li>
- Internal Issue Order - The order in which the MPI calls were issued to the MPI runtime.
- </li>
- <li>
- Program Order - The order in which the MPI calls appear in the source code.
- </li>
-</ul>
-
-<p>
-The source code analyzer also offers a feature to browse calls by rank and by interleaving as well as the ability to
-launch the <a href="happensBeforeViewer.html">Happens Before Viewer</a>, another visualization tool provided by GEM.
-</p>
-
-<br>
-<img src="images/analyzer.png" width="858" height="581"/>
-<br>
-
-<p>
-In addition, it helps you understand as well as step through all relevant process interleavings
-(schedules). Notice our use of the word <b>relevant</b>: even a short MPI program may have too many
-(an "exponential number") interleavings. For example, an MPI program with five processes, each
-containing five MPI calls, can have well in excess of 1000 interleavings. However, ISP generates
-a new interleaving only when it represents a truly new (as yet unexamined) behavior in your MPI program.
-</p>
-
-<h3>As Examples:</h3>
-<ul>
- <li>
- If an MPI program consisting of two processes issues point-to-point sends and non-wildcard
- receives to each other, then there is no observable difference (apart from performance or
- resource consumption) whether the sends are posted before each matching receive or vice
- versa; in this case, ISP will generate only one interleaving;
- </li>
- <li>
- If an MPI program consisting of three processes is such that the second process issues a
- sequence of wildcard receives, and the first and third process issue point-to-point sends
- to process two, then the exact non-deterministic choices of matches made at each step may
- affect the ensuing computation (including the conditional outcomes). In such programs, it
- is possible to force an exponential number of interleavings. In practice, here is how the
- results look (these examples come with the ISP distribution).
- </li>
- <li>
- For Parmetis [1], a 14,000+ line MPI program that makes 56,990 MPI calls for four ranks and
- 171,956 calls for eight ranks, ISP needed to examine only one interleaving!
- </li>
- <li>
- For many tests in the Umpire test suite [2], conventional MPI testing tools missed deadlocks
- despite examining many schedules. ISP determined a minimal list of interleavings to examine,
- finding deadlocks whenever they existed (see our table of results at the URL given under [3]).
- </li>
- <li>
- For Madre [4], a naive algorithm can result in n! interleavings. An improved algorithm
- called POE B, present in the current release of ISP reduces this to one interleaving.
- Much like with existing partial order [5], ISP does not guarantee a
- minimal number of interleavings, although it comes pretty close to it.
- </li>
-</ul>
-
-<h3>Browser View</h3>
-
-<p>
-The <a href="browserView.html">Browser View</a> is a highly functional view that summarizes and categorically groups all
-errors and warnings found by GEM for a particular MPI verification run. The summary label (just above the tabs)
-gives the user a quick overview of problems found. Errors and warnings are mapped to the corresponding
-source code lines in the Eclipse editor. The Browser View's tabs help the user to quickly localize
-and fix MPI errors and warnings flagged by GEM within their source code.
-</p>
-
-<ul>
- <li>
- <b>Deadlocks:</b>
- This tab allows the user to visit all calls that did not complete due
- to a detected deadlock.
- </li>
- <li>
- <b>Assertion Violations:</b>
- This tab lists all local assertion violations found. Clicking any
- one of these will take the user to the line of source code with the failed assertion.
- </li>
- <li>
- <b>Leaks:</b>
- Clicking any of these will take the user to the line of source code where the
- corresponding un-freed MPI resource was allocated (these are usually MPI communicators and MPI DataTypes).
- </li>
- <li>
- <b>Irrelevant Barriers:</b>
- This tab is reserved for Functionally Irrelevant Barriers. Clicking any these will take the user to
- the corresponding MPI_Barrier call itself, which can then be safely removed without changing the
- runtime behavior of the MPI application. This could potentially speed the application up with the
- absence of unnecessary synchronization.
- </li>
- <li>
- <b>Type Mismatches:</b>
- These are warnings about the send type not matching the receive type. In some cases this may be
- intentional, but often times it is a programming mistake.
- </li>
-</ul>
-
-<p>
-At the top left is a brief summary of the results indicating the number of errors and warnings found.
-In the top right are buttons provided with the ability to set the number of processes and re-run GEM
-on the current MPI project.
-</p>
-
-<br>
-<img src="images/browser.png" width="755" height="368"/>
-<br>
-
-<h3>How GEM Works:</h3>
-<p>
-GEM employs the use of In-situ Partial Order (ISP), the underlying dynamic formal verification tool, to verify
-MPI C/C++ programs. Here we describe ISP in detail to provide a better understanding of how it works.
-</p>
-<p>
-ISP works by intercepting the MPI calls made by the target program and making decisions on when
-to send these MPI calls to the MPI library. This is accomplished by the two main components of ISP:
-the Profiler and the Scheduler. An overview of ISP’s components and their interaction with the
-program as well as the MPI library is provided in Figure 1 below.
-</p>
-
-<center>
-<img src="images/ISP-diagram.gif"><br>
-<b>Figure 1</b>
-</center>
-
-<h3>Profiler:</h3>
-<p>
-The interception of MPI calls is accomplished by compiling the ISP Profiler together with
-the target program’s source code. The Profiler makes use of MPI’s profiling mechanism
-(PMPI). Then the Profiler provides its own version of MPI <i>f</i> (replacing the original) for each corresponding MPI function <i>f</i>. Within
-each of these MPI <i>f</i> , the profiler communicates with the scheduler using TCP sockets to
-send information about the MPI call the process wants to make. It will then wait for the
-scheduler to make a decision on whether to send the MPI call to the MPI library or to
-postpone it until later. When the permission to fire <i>f</i> is given from the scheduler, the
-corresponding PMPI <i>f</i> will be issued to the MPI run-time. Since all MPI libraries come
-with functions such as PMPI <i>f</i> for every MPI function <i>f</i>, this approach provides a portable
-and light-weight instrumentation mechanism for MPI programs being verified [6].
-</p>
-
-<h3>Scheduler:</h3>
-<p>
-The ISP Scheduler helps carry out the POE algorithm. As it turns out, the POE algorithm is
-based on exploiting MPI’s out-of-order completion semantics. In other words,
-</p>
-
-<ul>
- <li>
- (i) Not all MPI operations issued by a process complete in that order.
- </li>
- <li>
- (ii) A proper modeling of this out of-order completion semantics is essential in
- order to meet goals G1 and G2. For example, two MPI_Isend commands issued in
- succession by an MPI process P1 to the same target process (say P2) are forced to
- match in order, whereas if these MPI_Isends are targeted to two different MPI
- processes, then they may match contrary to the issue order. As another example,
- any operation following an MPI_Barrier must complete only after the barrier has
- completed, while an operation issued before the barrier may linger across the
- barrier, and actually complete after the barrier [6]!
- </li>
-</ul>
-
-<h3>Description of POE Algorithm:</h3>
-<p>POE stands for "POR with out-of-order and elusive interleavings" </P>
-<P>
-MPI programs suffer from "elusive" interleavings in the presence of MPI
-wildcard Receive <I>R</I>(*) . Issuing the MPI sends in different orders does not
-help as the MPI runtime provides no guarantees based on when the Send is
-actually issued. POE employs dynamic source re-writing in place of wildcard
-so that every interleaving explored by POE algorithm is deterministic. Also,
-the presence of collectives such as <CODE>MPI\_Barrier</CODE> can cause traditional
-runtime verification techniques such as "Dynamic Partial Order Reduction" to
-fail since it is not always possible to issue instructions in different orders
-in the presence of collectives. POE also addresses this issue by creating
-"match sets".
-</P>
-
-<p>
-POE algorithm works by creating a graph structure with the MPI operations of
-processes as nodes and by adding <EM>Intra-Completes-Before</EM> (IntraCB) edges
-between these nodes. As the name suggests, IntraCB edges are only added between
-the MPI operations within the MPI processes. The IntraCB edges are added
-between the MPI operations based on the MPI semantics of the operations. MPI
-functions like <CODE>MPI_Barriers</CODE>, <CODE>MPI_Wait</CODE> etc have the semantics,
-that no later MPI operations can be issued until these MPI operations complete.
-We call such operations as <EM>fence operations</EM>. Note that instructions
-issued before the fence operations can linger even after the fence operation
-is complete. </P><P>The IntraCB edges are added based on the following rules:
-Let <I>i</I> and <I>j</I> be the MPI operations of a process <I>P</I> such that <I>i</I> < <I>j</I> (i.e.,
-<I>i</I> comes before <I>j</I> in the program order. There is an IntraCB edge between <I>i</I>
-and <I>j</I> is one of the following is true:
-</P>
-
-<UL>
- <LI><I>i</I> is a <EM>fence</EM> operation.</LI>
- <LI><I>i</I> and <I>j</I> are send operations and the destination of <I>i</I> and <I>j</I> are the same</LI>
- <LI><I>i</I> and <I>j</I> are receive operations and the source of <I>i</I> and <I>j</I> are the same</LI>
- <LI><I>i</I> is a wildcard receive operation and <I>j</I> is a receive operation.</LI>
-</UL>
-
-<P>
-If there is a path from <I>i</I> to <I>j</I> then <I>i</I> is called the ancestor of <I>j</I>. POE
-algorithm uses these IntraCB edges to form <EM>match-sets</EM> to be issued into
-the MPI runtime. The following is the (informal) algorithm:</P><P>An MPI operation is "matched"
-if it has been issued to the MPI runtime by the POE algorithm.
-</P>
-
-<OL CLASS="enumerate" type=1>
- <LI>Run the MPI processes until they all reach fence operations.</LI>
- <LI>Let <I>e</I> denote the MPI operations of all processes such that for each <I>i</I> ∈ <I>e</I>, all ancestors of <I>i</I> have been matched.</LI>
- <LI>Let <I>m</I> denote the match-sets formed out of <I>e</I> as follows:
- <UL>
- <LI>
- <B>SR-Match:</B> <I>i</I>, <I>j</I> ∈ <I>e</I> such that <I>i</I> and <I>j</I> are send and receive
- operations where source (destination) of <I>i</I> is equal to the destination
- (source)j, then 〈 <I>i</I>, <I>j</I>〉 form a match set.
- </LI>
- <LI>
- <B>SR*-Match</B> If <I>i</I> is a wildcard receive and <I>j</I><SUB>1</SUB>,<I>j</I><SUB>2</SUB>… <I>j</I><SUB><I>n</I></SUB> are the matching
- sends, then create the match-sets as {〈 <I>i</I>, <I>j</I><SUB>1</SUB>〉, 〈 <I>i</I>,
- <I>j</I><SUB>2</SUB>〉, … 〈 <I>i</I>, <I>j</I><SUB><I>n</I></SUB>〉}. Each element of the set is issued as a different interleaving.
- </LI>
- <LI>
- <B>C-Match:</B> If <I>i</I><SUB>1</SUB>,<I>i</I><SUB>2</SUB>… <I>i</I><SUB><I>n</I></SUB> are the same collective operation of <I>n</I> processes
- then 〈 <I>i</I><SUB>1</SUB>, <I>i</I><SUB>2</SUB>, …, <I>i</I><SUB><I>n</I></SUB>〉 form a match set.
- </LI>
- <LI>
- <B>W-Match</B>If <I>i</I> is an <CODE>MPI_Wait</CODE>, then 〈 <I>i</I> 〉 forms a match set.
- </LI>
- </UL>
- </LI>
- <LI>
- Issue the match sets to MPI runtime in the following priority order: <EM>C-Match > W-Match > SR-Match > SR*-Match</EM>.
- </LI>
- <LI>
- If any of the processes issued a fence operation then goto step 1. Else, goto step 4.
- </LI>
- <LI>
- If there are no match sets and all processes have issued <CODE>MPI_Finalize</CODE>, check if any wildcard match sets are yet to be explored. If yes, then restart the processes and goto step 1, otherwise, exit.
- </LI>
- <LI>
- If there are no match sets and there is at least one process that has not issued <CODE>MPI_Finalize</CODE>, then there is a deadlock. Flag a deadlock and kill all the MPI processes.
- </LI>
-</OL>
-
-<h3>Obtaining ISP and Examples</h3>
-
-ISP can be downloaded from the Gauss Group’s <a href="http://www.cs.utah.edu/formal_verification/ISP-release">ISP Release Page</a>.
-
-<p>
- What you will receive are the full sources as well as the following examples in the directory isp-tests:
-</p>
-
-<ul>
- <li>
- 12 examples pertaining to the Game of Life (in directory life, courtesy of Bill Gropp of UIIC
- and Rusty Lusk of Argonne from their EuroPVM/MPI 2007 tutorials)
- </li>
- <li>
- 74 examples of the Umpire test suite (in directory Umpire), courtesy of Bronis de Supinski from LLNL.
- </li>
- <li>
- 12 examples under others developed by various authors.
- </li>
- <li>
- 16 examples under madre-0.3 courtesy of Stephen F. Siegel (U. of Delaware) from his Madre release (see our PPoPP 2009 paper).
- </li>
- <li>
- The Parmetis 3.1 hypergraph partitioner (see our PPoPP 2009 paper).
- </li>
-</ul>
-
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h3>Why the Trident?</h3>
- <p>
- Because It is a universal symbol for "slaying the evil bug"!
- </p>
- </td>
- </tr>
-</table>
-
-<br>
-<hr>
-
-<h3>References</h3>
-<ul>
- <li>
- [1] ParMETIS - Parallel graph partitioning and fill-reducing matrix ordering.
- </li>
- <li>
- [2] Jeffrey S. Vetter and Bronis R. de Supinski. Dynamic software testing of MPI
- applications with Umpire. In Supercomputing ’00: Proceedings of the 2000 ACM/IEEE
- Conference on Supercomputing (CDROM). IEEE Computer Society, 2000. Article 51.
- </li>
- <li>
- [3] Sarvani Vakkalanka, Ganesh Gopalakrishnan, and Robert M. Kirby. Dynamic verification
- of MPI programs with reductions in presence of split operations and relaxed orderings.
- In Aarti Gupta and Sharad Malik, editors, CAV, volume 5123 of Lecture Notes in
- Computer Science. Springer, 2008.
- </li>
- <li>
- [4] Stephen F. Siegel. The MADRE web page.
- </li>
- <li>
- [5] Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. Model Checking. MIT Press, 2000.
- </li>
- <li>
- [6] Anh Vo, Sarvani Vakkalanka, Rajeev Thakur, Michael DeLisi, Ganesh Gopalakrishnan and Robert M. Kirby.
- Formal Verification of Practical MPI Programs. PPoPP ’09, February 14–18, 2009, Raleigh, North Carolina, USA.
- </li>
-</ul>
-
-<br/>
-<hr/>
-
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/><br/>
-
-<hr/>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/preferences.html b/tools/gem/org.eclipse.ptp.gem.help/html/preferences.html
deleted file mode 100644
index 877718a..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/preferences.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>GEM - Preferences</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>GEM - Preferences</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<p>
-<em>To edit preferences, from the Eclipse menus, go to <b>Window -> Preferences -> Parallel Tools -> GEM</b></em>
-</p>
-
-<p>
-GEM has two preference pages:
-</p>
-<ol>
- <li>
- <b>GEM Preferences:</b> This preference page is for settings related to how views and various
- components within GEM behave and function. Here the user can control which GEM Views are shown and
- when, e.g. the active view (the view in focus after verification is complete).
- </li>
- <li>
- <b>ISP Preferences:</b> This preference page is for command line settings for the underlying formal
- verification engine GEM uses, In-situ Parital Order (ISP)
- </li>
-</ol>
-
-<h4>Below are detailed descriptions of each of GEM's Preference Pages.</h4>
-
-<hr/>
-
-<h2><a name="gemprefs">GEM Preference Page</a></h2>
-<br/>
-<a name="gemPrefs"></a>
-<img src="images/gemPrefs.png">
-
-<h4>Note:</h4>
-<ol>
- <li>
- Please note the smaller help button on this preference page (below the "Active View:" label).
- Clicking this button while viewing the GEM preference page will bring you to this help page.
- </li>
-</ol>
-
-<h3>GEM Preferences Reference Table</h3>
-<table border="1" cellpadding="5">
-<tr><th>Preference</th><th>Meaning or Condition When Selected</th></tr>
-<tr>
- <td>Number of Processes:</td>
- <td>
- This field takes an integer value that represents the number of processes to use for the next GEM
- verification. It is what is stored after going through the motions on the
- <a href="setNumProcs.html">Setting the Number of Processes</a> page.
- </td>
-</tr>
-<tr>
- <td>Clear GEM Console on Each Run</td>
- <td>
- When enabled (checked), the GEM Console will be cleared prior to each verification run. If this preference
- is not enabled, output is appended to the existing GEM Console content (at the bottom).
- </td>
-</tr>
-<tr>
- <td>Request Command Line Arguments</td>
- <td>
- When enabled (checked), a dialog box will appear when GEM verification is started. This dialog box will ask for command line arguments.
- When disabled, no dialog box will appear.
- </td>
-</tr>
-<tr>
- <td>Active View:</td>
- <td>
- The selected view will be the one that gets the active focus after each GEM verification run, e.g. if you
- would like to see the Analyzer View after each verification, then simply select "Analyzer".
- </td>
-</tr>
-</table>
-
-<br/>
-<hr/>
-
-<h2>ISP Preference Page</h2>
-<br/>
-<a name="ispPrefs"></a>
-<img src="images/ispPrefs.png">
-
-<h4>Note:</h4>
-<ol>
- <li>
- If ISP is configured and installed with default values, there is no need to fill in the four items in the "ISP Paths"
- group of the ISP preferences page. When blank, the plug-in will assume they are in the default location (<tt><b>/usr/local/bin</b></tt>).
- These items simply need to be in your path (we show <tt><b>/usr/local/bin</b></tt> purely for the sake of illustration here).
- </li>
- <li>
- Please note the smaller help button on this preference page (below "ISP Paths" group).
- Clicking this button while viewing the ISP preference page will bring you to this help page.
- </li>
-</ol>
-
-<h3>ISP Preferences Reference Table</h3>
-<table border="1" cellpadding="8">
-<tr><th colspan="2">Command Line Options</th></tr>
-<tr><td>Enable FIB</td> <td>Enables detection of irrelevant barriers</td></tr>
-<tr><td>Log Total MPI Calls</td> <td>Outputs the number of MPI calls trapped for each rank (Console View)</td></tr>
-<tr><td>Enable OpenMP</td> <td>Enables OpenMP based parallelization on multi-core machines</td></tr>
-<tr><td>Use Blocking Sends</td> <td>Sends will be treated as blocking, without buffering</td></tr>
-<tr><td>Report Progress</td> <td>Outputs progress every (n) MPI calls (default is 4). Note: If this is checked, please set the Report progress field below</td></tr>
-<tr><td>Use Unix Sockets</td> <td>Enable this when running GEM on a single, local machine. It speeds up ISP/GEM significantly</td></tr>
-<tr><td>Verbose Mode</td> <td>Output the transition list for all interleavings, otherwise only output last interleaving if deadlock.</td></tr>
-<tr><th colspan="2">Miscellaneous Options</th></tr>
-<tr><td>Port</td> <td>Assigns the port to communicate with MPI programs(default is 9999). GEM will search for a port that is free if specified port is unavailable</td></tr>
-<tr><td>Report Progress Every (n) MPI Calls</td> <td>Outputs progress every (n) MPI calls (default is 4). Note: This is ignored if Report Progress is not checked</td></tr>
-<tr><td>Host Where ISP Resides</td> <td>If ISP is installed on a remote machine, enter the fully qualified hostname here. If ISP is installed on your local machine (e.g. laptop), leave this blank</td></tr>
-<tr><th colspan="2">ISP Paths</th></tr>
-<tr><td>isp executable </td> <td>The location of the local <b>isp executable</b> (this is ISP itself)</td></tr>
-<tr><td>ispcc script</td> <td>The location of the local <b>ispcc script</b> (for C compilation)</td></tr>
-<tr><td>ispCC script</td> <td>The location of the local <b>ispCC script</b> (for C++ compilation)</td></tr>
-<tr><td>HB Viewer script</td> <td>The location of the <b>HB Viewer</b> script (a.k.a. ispUI). This will only be local.</td></tr>
-<tr><td>remote isp executable </td> <td>The location of the remote <b>isp executable</b> (this is ISP itself)</td></tr>
-<tr><td>remote ispcc script</td> <td>The location of the remote <b>ispcc script</b> (for C compilation)</td></tr>
-<tr><td>remote ispCC script</td> <td>The location of the remote <b>ispCC script</b> (for C++ compilation)</td></tr>
-</table>
-
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/><br/>
-
-<hr/>
-
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/prereqs.html b/tools/gem/org.eclipse.ptp.gem.help/html/prereqs.html
deleted file mode 100644
index 8b41194..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/prereqs.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>GEM - Prerequisites</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>GEM - Prerequisites</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<p>
-The following prerequisites are required for GEM installation.
-</p>
-
-<ul>
- <li>JavaSE-1.6 or later</li>
- <li><a href="http://www.cs.utah.edu/formal_verification/ISP-release/">ISP</a> version 0.3.0 or later</li>
- <li><a href="http://eclipse.org/downloads">Eclipse SDK</a> Juno or later</li>
- <li><a href="http://eclipse.org/cdt/">Eclipse C/C++ Development Tools (CDT)</a> version 8.2.0 or later</li>
- <li><a href="http://eclipse.org/ptp/">Eclipse Parallel Tools Platform (PTP)</a> version 7.0.0 or later</li>
-</ul>
-
-<br>
-
-<table border="1" cellpadding="4">
- <tr>
- <th colspan="2" scope="col">Operating Systems and Architectures Supported<br></th>
- </tr>
- <tr>
- <th scope="col">Operating System</th>
- <th scope="col">Architecture</th>
- </tr>
- <tr>
- <td>Linux</td>
- <td>x86, x86_64</td>
- </tr>
- <tr>
- <td>MacOS X</td>
- <td>x86</td>
- </tr>
-</table>
-
-<br>
-
-<p>
-Some implementation of MPI must be installed, MPICH2 or OpenMPI both work well. If you are using MPICH v1.2 or lower,
-you will also need to have your process manager (e.g. mpd) and running. GEM assumes your process manager is already
-running when it is loaded. If you are using MPICH2 v1.3 with Hydra, you don't need to worry about this.
-</p>
-
-<ul>
- <li><a href="http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads">MPICH2</a> version 1.0.6p1 or later</li>
- <li><a href="http://open-mpi.org">Open MPI</a> version 1.2.x or later</li>
-</ul>
-
-<br>
-
-<hr>
-<h2>Here are some of the major requirements for GEM to be able to run:</h2>
-<br>
-<ul>
- <li>
- <b>Machine:</b> GEM can be run on machines with one or more CPU cores. With more cores,
- GEM's OpenMP parallelization can help speed up model checking.
- </li>
- <li>
- <b>Sockets:</b> GEM can be run with TCP sockets or Unix-domain sockets. The latter is
- much faster, but requires all GEM runs to occur within one machine. A distributed GEM
- checker is in our future plans.
- </li>
- <li>
- <b>Operating Systems:</b> GEM is designed for Linux and MacOS X
- </li>
- <li>
- <b>MPI Libraries:</b> The current GEM release is for MPICH2. We have successfully tested
- GEM with OpenMPI as well as Microsoft’s MPI (sometimes called CCS) and Intel© MPI.
- An enhanced configure and make will be released corresponding to these MPI libraries also.
- If you are interested, kindly let us know and we can help tailor the current distribution
- with these other MPI libraries. For MAC OS/X, one can run GEM using the OpenMPI that comes by default.
- </li>
-</ul>
-
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/><br/>
-
-<hr/>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/remoteProjects.html b/tools/gem/org.eclipse.ptp.gem.help/html/remoteProjects.html
deleted file mode 100644
index 0752c11..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/remoteProjects.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Remote and Synchronized Projects</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Remote and Synchronized Projects</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h3>GEM supports remote and synchronized C/C++ MPI projects whose connections are through one of the following remote service providers:</h3>
-
-<ul>
- <li><a href="PLUGINS_ROOT/org.eclipse.ptp.doc.user/html/remoteTools.html">Built-in SSH</a> (default)</li>
- <li>Remote Tools (now deprecated in PTP 8.0)</li>
- <li>Remote System Explorer</li>
-</ul>
-
-<a href="PLUGINS_ROOT/org.eclipse.ptp.doc.user/html/toc.html">Parallel Tools Platform</a> (PTP),
-
-<h3>Target machine requirements:</h3>
-
-<ul>
- <li><a href="http://www.cs.utah.edu/formal_verification/ISP-release/">ISP</a> version 0.3.0 or later</li>
- <li>
- <b>C/C++ Compiler</b>
- </li>
- <li>
- <b>Some implementation of MPI</b> must be installed, OpenMPI and MPICH2 both work well. If you are using MPICH v1.2 or lower,
- you will also need to have your process manager (e.g. mpd) and running. GEM assumes your process manager is already
- running when it is loaded. If you are using MPICH2 v1.3 or later with Hydra, you don't need to worry about this.
- </li>
-
-</ul>
-
-<p>
-GEM operates and behaves identically with local, remote and synchronized C/C++ MPI projects.
-The only limitation is that GEM currently does not support the <a href="happensBeforeViewer.html">
-Happens Before Viewer</a> with remote and synchronized projects, as it is an external tool.
-The <a href="happensBeforeViewer.html"> Happens Before Viewer</a> will soon be integrated into
-a new GEM view.
-</p>
-
-<br/><br/>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/><br/>
-
-<hr/>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-
-</html>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/setNumProcs.html b/tools/gem/org.eclipse.ptp.gem.help/html/setNumProcs.html
deleted file mode 100644
index c9419b0..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/setNumProcs.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Setting the Number of Processes</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Setting the Number of Processes</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<p>
-Before formally verifying an MPI C/C++ program, you need to set the number of processes
-for a particular run.
-</p>
-
-<p>
-There are two methods of doing this:
-</p>
-
-<h2>GEM Toolbar Button</h2>
-Open the source code file in the Eclipse editor window and select
-<img height="16" src="images/triple-trident.gif" width="13" /><b>Set Number of Processes</b>
-from the trident pull-down icon on the Eclipse toolbar.
-
-<br><br>
-
-<center>
-<img src="images/runNumProcs.png">
-</center>
-
-<br><br>
-
-<p>
-An input dialog will allow you to enter the desired number of processes, which will persist until you
-change the value again.
-</p>
-
-<br>
-<center>
-<img src="images/numProcsDialog.png">
-</center>
-<br><br>
-
-<h2>Analyzer or Browser View</h2>
-<p>
-If the Analyzer View is already visible, the number of processes can also be set from the down combo-box (see image below) in the
-Analyzer View's <a href="analyzerView.html#runtimeInfo">Runtime information group</a> for the next GEM run.
-</p>
-
-<br>
-<center>
-<img src="images/analyzerSetProcs.png">
-</center>
-<br><br>
-
-<p>
-If the Browser View is already visible, the number of processes can also be set from the down combo-box underneath the
-Browser View's help button (see image below) for the next GEM run.
-</p>
-
-<br/>
-<center>
-<img src="images/browserSetProcs.png">
-</center>
-
-<br><br>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br><br>
-
-<hr/>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-
-</html>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/toc.html b/tools/gem/org.eclipse.ptp.gem.help/html/toc.html
deleted file mode 100644
index ced6cce..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/toc.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>PTP: Graphical Explorer of MPI Programs (GEM)</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>PTP: Graphical Explorer of MPI Programs (GEM)</h1>
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <h3>v1.3.0</h3>
- </td>
- </tr>
-</table>
-
-<br>
-<p>
-Graphical Explorer of MPI Programs (GEM), part of the
-<a href="PLUGINS_ROOT/org.eclipse.ptp.doc.user/html/toc.html">Parallel Tools Platform</a> (PTP),
-is a graphical front end for In-situ Partial Order (ISP), a dynamic formal
-verification tool for MPI C/C++ programs, developed at the University of Utah. GEM
-greatly enhances the usability of ISP by providing an intuitive graphical way to track down
-bugs in MPI C/C++ programs, examine post-runtime results and to analyze MPI runtime
-behavior.
-</p>
-
-<p>
-GEM can be used by anyone who can write simple MPI C/C++ programs, and requires no
-special training. GEM allows you to formally verify your MPI C/C++ programs automatically
-without any extra efforts on your part. No code instrumentation is necessary. Gem
-will definitively flag the following errors and warnings:
-</p>
-
-<ul>
- <li>Deadlocks</li>
- <li>Functionally Irrelevant Barriers</li>
- <li>MPI Object Leaks</li>
- <li>Local Assertion Violations</li>
-</ul>
-
-<p>
-In addition, GEM helps you understand as well as step through all relevant process interleavings
-(schedules). Notice our use of the word <i>relevant</i>: even a short MPI program may have too many
-(an "exponential number") interleavings. For example, an MPI program with five processes, each
-containing five MPI calls, can have well in excess of 1000 interleavings. However, ISP generates
-a new interleaving only when it represents a truly new (as yet unexamined) behavior in your programs.
-</p>
-
-<h2>Overview, Background, and Setup information</h2>
-
-<ol>
- <li><a href="overview.html">GEM Overview</a></li>
- <li><a href="prereqs.html">GEM Prerequisites</a></li>
- <li><a href="gettingStarted.html">Getting Started</a></li>
-</ol>
-
-<h2>Help Topics</h2>
-
-<ol>
- <li><a href="setNumProcs.html">Setting the Number of Processes</a></li>
- <li><a href="analyzerView.html">Analyzer View</a></li>
- <li><a href="browserView.html">Browser View</a></li>
- <li><a href="consoleView.html">Console View</a></li>
- <li><a href="output.html">Understanding Console Output</a></li>
- <li><a href="happensBeforeViewer.html">Happens Before (HB) Viewer</a></li>
- <li><a href="makefileSupport.html">Makefile Project Support</a></li>
- <li><a href="remoteProjects.html">Remote and Synchronized Projects</a></li>
- <li><a href="preferences.html">Preferences</a></li>
- <li><a href="troubleshooting.html">Troubleshooting</a></li>
-</ol>
-
-<p>Other related topics:</p>
-
-<ol>
- <li><a href="http://www.eclipse.org/ptp/downloads.php">Latest Release of GEM</a></li>
- <li><a href="http://www.cs.utah.edu/formal_verification/ISP-release/">Latest Release of ISP</a></li>
- <li><a href="http://www.cs.utah.edu/formal_verification/">Gauss Group Home</a> - Includes all current work and publications</li>
- <li><a href="http://www.cs.utah.edu/">University of Utah School of Computing</a></li>
-</ol>
-
-<p> </p>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<p> </p>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem.help/html/troubleshooting.html b/tools/gem/org.eclipse.ptp.gem.help/html/troubleshooting.html
deleted file mode 100644
index 9c2767e..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/html/troubleshooting.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Troubleshooting</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident_transparent.png">
- </td>
- <td>
- <h1>Troubleshooting</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-<p> </p>
-
-<p>
-This section addresses the most common issues encountered when using GEM. If you encounter something
-that is not not mentioned here, please email your problem to <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a>. We
-will get back to you with a solution as soon as possible.
-</p>
-
-<p> </p>
-
-<table border="1" cellpadding="8">
-<tr>
-<th>Problem</th><th>Solution</th>
-</tr>
-<tr>
- <td>
- When I run Gem on a particular source file I get a dialog box appears stating that a valid
- executable could not be created from the source file:<br/><br/><img src="images/invalidExecutable.png">
- </td>
- <td>
- SOLUTION-1
- You have most likely run the GEM command <b>"Formally Verify MPI Program"</b> on
- a source file that does not contain a <b>main()</b> program entry point, or does not simply compile by itself.
- Remember, for anything larger than a simple single-file Managed Build Project you will need to create a Makefile
- Project and run GEM via the steps outlined in <a href="makefileSupport.html">GEM Makefile Support</a>.
- <br/><br/>
- SOLUTION-2
- If you get STDERR in the GEM Console like the following:
- <pre>
- /usr/local/lib/libisp_prof.so: undefined reference to `MPI::Win::Free()'
- /usr/local/lib/libisp_prof.so: undefined reference to `MPI::Datatype::Free()'
- /usr/local/lib/libisp_prof.so: undefined reference to `MPI::Comm::Comm()'
- /usr/local/lib/libisp_prof.so: undefined reference to `ompi_mpi_cxx_op_intercept'
- </pre>
- Then you are most likely using OpenMPI and <tt><b>libmpi_cxx</b></tt> is not being linked in by
- <tt><b>ispcc</b></tt>. Locate the script <tt><b>ispcc</b></tt> and add <tt><b>-lmpi_cxx</b></tt>
- to the end of the single line in the script beginning with <tt><b>exec</b></tt> (see example below).
- <pre>
- exec "/usr/local/bin/mpicc" "-L/usr/local/lib" "-I/usr/local/include/isp" \
- -Wl,-rpath=/usr/local/lib -include isp.h $* -lisp_prof -lmpi_cxx
- </pre>
- </td>
-</tr>
-<tr>
- <td>
- When I run Gem on a particular source file, GEM just hangs.
- </td>
- <td>
- You can terminate the current GEM operation by clicking the <img src="images/terminate.gif"> "Terminate
- Operation" button in the GEM <a href="consoleView.html">Console View</a>.<br/><br/>
- You also may have most run the GEM command <b>"Formally Verify MPI Program"</b> on
- a source file that does not contain a <b>main()</b> program entry point, or does not simply compile by itself.
- Remember, for anything larger than a simple single-file Managed Build Project you will need to create a Makefile
- Project and run GEM via the steps outlined in <a href="makefileSupport.html">GEM Makefile Support</a>.
- </td>
-</tr>
-<tr>
- <td>
- When I try to formally verify my MPI C/C++ program, I get an error message saying that an error
- occurred while trying to run a particular command.<br/><br/><img src="images/unknownCommand.png">
- </td>
- <td>
- This particular command either does not exist on the target machine or is not in your path. For anything
- ISP related, e.g. <b>isp, ispcc, ispCC or ispcxx</b>, you may not have ISP installed. Please install ISP
- per documentation in the <a href="prereqs.html"> GEM Prerequisites Page</a> and also make sure the
- ISP paths are correctly set on the <a href="preferences.html#ispPrefs">ISP Preference Page</a>
-
- </td>
-</tr>
-<tr>
- <td>
- I don’t see the GEM icon... there is no <img src="images/trident.gif"> trident icon anywhere, and the
- GEM Views do not exist.
- </td>
- <td>
- The Eclipse Plug-in was not installed properly. Try installing it again from the update site for your
- installation of Eclipse or through <a href="http://eclipse.org/ptp/">http://eclipse.org/ptp</a>.
- </td>
-</tr>
-<tr>
- <td>I’m running Eclipse and when I try to running GEM, Eclipse becomes unresponsive.</td>
- <td>Make sure your process manager is running. GEM assumes your process manager is already running</td>
-</tr>
-<tr>
- <td>I’m trying to view a log file in the Eclipse editor, and I get editor message saying that the file is out of sync with the file system.</td>
- <td>ISP has generates a new log file. Just hit F5 to refresh the Eclipse editor's view of the file.</td>
-</tr>
-<tr>
- <td>I can't find the log file GEM generated in my CDT project.</td>
- <td>Refresh your project. It should be in a directory named "isp" at the same level as the source file.</td>
-</tr>
-</table>
-
-<p> </p>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<p> </p>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem.help/plugin.properties b/tools/gem/org.eclipse.ptp.gem.help/plugin.properties
deleted file mode 100644
index e33eb9d..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
- pluginName=GEM User Guide
- pluginProvider=Eclipse PTP
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem.help/plugin.xml b/tools/gem/org.eclipse.ptp.gem.help/plugin.xml
deleted file mode 100644
index 39b381b..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-
-<plugin>
-
- <extension
- point="org.eclipse.help.toc">
- <toc
- file="toc.xml"
- primary="true">
- </toc>
- </extension>
-
-</plugin>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/pom.xml b/tools/gem/org.eclipse.ptp.gem.help/pom.xml
deleted file mode 100644
index 7862abc..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.ptp</groupId>
- <artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.ptp.gem.help</artifactId>
- <version>1.3.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/tools/gem/org.eclipse.ptp.gem.help/toc.xml b/tools/gem/org.eclipse.ptp.gem.help/toc.xml
deleted file mode 100644
index 5eb5f18..0000000
--- a/tools/gem/org.eclipse.ptp.gem.help/toc.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Graphical Explorer of MPI Programs (GEM)" link_to="../org.eclipse.ptp.doc.user/toc.xml#ptpGEM" topic="html/toc.html">
- <topic label="Contents" href="html/toc.html"/>
- <topic label="GEM Overview" href="html/overview.html"/>
- <topic label="Prerequisites" href="html/prereqs.html"/>
- <topic label="Getting Started" href="html/gettingStarted.html"/>
- <topic label="Setting the Number of Processes" href="html/setNumProcs.html"/>
- <topic label="Analyzer View" href="html/analyzerView.html" />
- <topic label="Browser View" href="html/browserView.html" />
- <topic label="Console View" href="html/consoleView.html"/>
- <topic label="Understanding Console Output" href="html/output.html"/>
- <topic label="Happens Before (HB) Viewer" href="html/happensBeforeViewer.html" />
- <topic label="Makefile Project Support" href="html/makefileSupport.html" />
- <topic label="Remote and Synchronized Projects" href="html/remoteProjects.html"/>
- <topic label="Preferences" href="html/preferences.html"/>
- <topic label="Troubleshooting GEM" href="html/troubleshooting.html"/>
-</toc>
diff --git a/tools/gem/org.eclipse.ptp.gem/.classpath b/tools/gem/org.eclipse.ptp.gem/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/tools/gem/org.eclipse.ptp.gem/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tools/gem/org.eclipse.ptp.gem/.project b/tools/gem/org.eclipse.ptp.gem/.project
deleted file mode 100644
index 65b7a90..0000000
--- a/tools/gem/org.eclipse.ptp.gem/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ptp.gem</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/tools/gem/org.eclipse.ptp.gem/.settings/org.eclipse.jdt.core.prefs b/tools/gem/org.eclipse.ptp.gem/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 96946f5..0000000
--- a/tools/gem/org.eclipse.ptp.gem/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,291 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=132
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=132
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tools/gem/org.eclipse.ptp.gem/META-INF/MANIFEST.MF b/tools/gem/org.eclipse.ptp.gem/META-INF/MANIFEST.MF
deleted file mode 100644
index 043f8fa..0000000
--- a/tools/gem/org.eclipse.ptp.gem/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ptp.gem;singleton:=true
-Bundle-Version: 1.3.0.qualifier
-Bundle-Activator: org.eclipse.ptp.internal.gem.GemPlugin
-Bundle-Vendor: %pluginProvider
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.ui.ide,
- org.eclipse.core.resources,
- org.eclipse.ui.console
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
-Import-Package: org.eclipse.cdt.core.model,
- org.eclipse.jface.text,
- org.eclipse.ptp.rdt.sync.core,
- org.eclipse.ptp.rdt.sync.core.resources,
- org.eclipse.remote.core,
- org.eclipse.remote.core.exception
-Export-Package: org.eclipse.ptp.internal.gem;x-internal:=true,
- org.eclipse.ptp.internal.gem.handlers;x-internal:=true,
- org.eclipse.ptp.internal.gem.messages;x-internal:=true,
- org.eclipse.ptp.internal.gem.popup.actions;x-internal:=true,
- org.eclipse.ptp.internal.gem.preferences;x-internal:=true,
- org.eclipse.ptp.internal.gem.util;x-internal:=true,
- org.eclipse.ptp.internal.gem.views;x-internal:=true
diff --git a/tools/gem/org.eclipse.ptp.gem/about.html b/tools/gem/org.eclipse.ptp.gem/about.html
deleted file mode 100644
index 3f81093..0000000
--- a/tools/gem/org.eclipse.ptp.gem/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem/build.properties b/tools/gem/org.eclipse.ptp.gem/build.properties
deleted file mode 100644
index 2d8c6ae..0000000
--- a/tools/gem/org.eclipse.ptp.gem/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- icons/,\
- about.html,\
- plugin.properties
-
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/browse.gif b/tools/gem/org.eclipse.ptp.gem/icons/browse.gif
deleted file mode 100644
index 2344861..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/browse.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/clear-console.gif b/tools/gem/org.eclipse.ptp.gem/icons/clear-console.gif
deleted file mode 100644
index af30a42..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/clear-console.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/deadlock.gif b/tools/gem/org.eclipse.ptp.gem/icons/deadlock.gif
deleted file mode 100644
index 0556c29..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/deadlock.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/expand-tree.gif b/tools/gem/org.eclipse.ptp.gem/icons/expand-tree.gif
deleted file mode 100644
index 98d914a..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/expand-tree.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/first-item.gif b/tools/gem/org.eclipse.ptp.gem/icons/first-item.gif
deleted file mode 100644
index 328e97e..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/first-item.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/goto-error.gif b/tools/gem/org.eclipse.ptp.gem/icons/goto-error.gif
deleted file mode 100644
index 2a6dea3..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/goto-error.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/hbv-trident.gif b/tools/gem/org.eclipse.ptp.gem/icons/hbv-trident.gif
deleted file mode 100644
index 3fdbcfc..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/hbv-trident.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/help-contents.gif b/tools/gem/org.eclipse.ptp.gem/icons/help-contents.gif
deleted file mode 100644
index 9d70301..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/help-contents.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/last-item.gif b/tools/gem/org.eclipse.ptp.gem/icons/last-item.gif
deleted file mode 100644
index c39cf62..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/last-item.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/magnified-trident.gif b/tools/gem/org.eclipse.ptp.gem/icons/magnified-trident.gif
deleted file mode 100644
index 849a0c0..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/magnified-trident.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/match-call.gif b/tools/gem/org.eclipse.ptp.gem/icons/match-call.gif
deleted file mode 100644
index 059caec..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/match-call.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/next-item.gif b/tools/gem/org.eclipse.ptp.gem/icons/next-item.gif
deleted file mode 100644
index e2f8c3e..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/next-item.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/no-error.gif b/tools/gem/org.eclipse.ptp.gem/icons/no-error.gif
deleted file mode 100644
index a41e871..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/no-error.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/prev-item.gif b/tools/gem/org.eclipse.ptp.gem/icons/prev-item.gif
deleted file mode 100644
index 4c22b59..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/prev-item.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/processes.gif b/tools/gem/org.eclipse.ptp.gem/icons/processes.gif
deleted file mode 100644
index 828a539..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/processes.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/progress_stop.gif b/tools/gem/org.eclipse.ptp.gem/icons/progress_stop.gif
deleted file mode 100644
index dc47edf..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/progress_stop.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/save-file.gif b/tools/gem/org.eclipse.ptp.gem/icons/save-file.gif
deleted file mode 100644
index 499dd0c..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/save-file.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/source-call.gif b/tools/gem/org.eclipse.ptp.gem/icons/source-call.gif
deleted file mode 100644
index 695e5a5..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/source-call.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/trident.gif b/tools/gem/org.eclipse.ptp.gem/icons/trident.gif
deleted file mode 100644
index e5feb64..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/trident.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/icons/triple-trident.gif b/tools/gem/org.eclipse.ptp.gem/icons/triple-trident.gif
deleted file mode 100644
index c7e244d..0000000
--- a/tools/gem/org.eclipse.ptp.gem/icons/triple-trident.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gem/org.eclipse.ptp.gem/plugin.properties b/tools/gem/org.eclipse.ptp.gem/plugin.properties
deleted file mode 100644
index c276472..0000000
--- a/tools/gem/org.eclipse.ptp.gem/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
- pluginName=GEM - Dynamic Formal Verification for MPI C/C++ Programs
- pluginProvider=Eclipse PTP
- menulabel=PTP GEM - Graphical Explorer of MPI Programs
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem/plugin.xml b/tools/gem/org.eclipse.ptp.gem/plugin.xml
deleted file mode 100644
index 6aef41f..0000000
--- a/tools/gem/org.eclipse.ptp.gem/plugin.xml
+++ /dev/null
@@ -1,300 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-
-<plugin>
-
- <!-- Managed Build Verification Menu Group -->
- <extension
- point="org.eclipse.ui.popupMenus">
-
- <!-- PopUpMenus extension point and contributions (nameFilter="*.c") -->
- <objectContribution
- adaptable="true"
- id="org.eclipse.ptp.gem.verificationPopUpMenuC"
- nameFilter="*.c"
- objectClass="org.eclipse.core.resources.IFile">
- <menu
- label="GEM"
- path="additions"
- id="verificationMenu">
- <separator name="verificationGroup"/>
- </menu>
- <action
- class="org.eclipse.ptp.internal.gem.popup.actions.VerificationPopUpAction"
- enablesFor="1"
- id="org.eclipse.ptp.gem.verificationPopupC"
- label="Formally Verify MPI Program"
- menubarPath="verificationMenu/verificationGroup"
- icon="icons/trident.gif">
- </action>
- </objectContribution>
-
- <!-- PopUpMenus extension point and contributions (nameFilter="*.cpp") -->
- <objectContribution
- adaptable="true"
- id="org.eclipse.ptp.gem.verificationPopUpMenuCpp"
- nameFilter="*.cpp"
- objectClass="org.eclipse.core.resources.IFile">
- <menu
- label="GEM"
- path="additions"
- id="verificationMenu">
- <separator name="verificationGroup"/>
- </menu>
- <action
- class="org.eclipse.ptp.internal.gem.popup.actions.VerificationPopUpAction"
- enablesFor="1"
- id="org.eclipse.ptp.gem.verificationPopupCpp"
- label="Formally Verify MPI Program"
- menubarPath="verificationMenu/verificationGroup"
- icon="icons/trident.gif">
- </action>
- </objectContribution>
-
- <!-- PopUpMenus extension point and contributions (nameFilter="*.c++") -->
- <objectContribution
- adaptable="true"
- id="org.eclipse.ptp.gem.verificationPopUpMenuC++"
- nameFilter="*.c++"
- objectClass="org.eclipse.core.resources.IFile">
- <menu
- label="GEM"
- path="additions"
- id="verificationMenu">
- <separator name="verificationGroup"/>
- </menu>
- <action
- class="org.eclipse.ptp.internal.gem.popup.actions.VerificationPopUpAction"
- enablesFor="1"
- id="org.eclipse.ptp.gem.verificationPopupC++"
- label="Formally Verify MPI Program"
- menubarPath="verificationMenu/verificationGroup"
- icon="icons/trident.gif">
- </action>
- </objectContribution>
-
- <!-- PopUpMenus extension point and contributions (nameFilter="*.cp") -->
- <objectContribution
- adaptable="true"
- id="org.eclipse.ptp.gem.verificationPopUpMenuCp"
- nameFilter="*.cp"
- objectClass="org.eclipse.core.resources.IFile">
- <menu
- label="GEM"
- path="additions"
- id="verificationMenu">
- <separator name="verificationGroup"/>
- </menu>
- <action
- class="org.eclipse.ptp.internal.gem.popup.actions.VerificationPopUpAction"
- enablesFor="1"
- id="org.eclipse.ptp.gem.verificationPopupCp"
- label="Formally Verify MPI Program"
- menubarPath="verificationMenu/verificationGroup"
- icon="icons/trident.gif">
- </action>
- </objectContribution>
-
- <!-- PopUpMenus extension point and contributions (nameFilter="*.cc") -->
- <objectContribution
- adaptable="true"
- id="org.eclipse.ptp.gem.verificationPopUpMenuCc"
- nameFilter="*.cc"
- objectClass="org.eclipse.core.resources.IFile">
- <menu
- label="GEM"
- path="additions"
- id="verificationMenu">
- <separator name="verificationGroup"/>
- </menu>
- <action
- class="org.eclipse.ptp.internal.gem.popup.actions.VerificationPopUpAction"
- enablesFor="1"
- id="org.eclipse.ptp.gem.verificationPopupCc"
- label="Formally Verify MPI Program"
- menubarPath="verificationMenu/verificationGroup"
- icon="icons/trident.gif">
- </action>
- </objectContribution>
-
- <!-- Logfile Menu Group -->
- <!-- PopUpMenus extension point and contributions (nameFilter="*.log") -->
- <objectContribution
- adaptable="true"
- id="org.eclipse.ptp.gem.logFilePopupMenu"
- nameFilter="*.log"
- objectClass="org.eclipse.core.resources.IFile">
- <menu
- label="GEM"
- path="additions"
- id="logFileMenu">
- <separator name="logFileGroup"/>
- </menu>
- <action
- class="org.eclipse.ptp.internal.gem.popup.actions.HbvLogFilePopUpAction"
- enablesFor="1"
- id="org.eclipse.ptp.gem.hbvLogPopup"
- label="Launch Happens Before Viewer"
- menubarPath="logFileMenu/logFileGroup"
- icon="icons/hbv-trident.gif">
- </action>
- <action
- class="org.eclipse.ptp.internal.gem.popup.actions.ProcessLogFilePopUpAction"
- enablesFor="1"
- id="org.eclipse.ptp.gem.LogFilePopUpAction"
- label="Process GEM Log File"
- menubarPath="logFileMenu/logFileGroup"
- icon="icons/trident.gif">
- </action>
- </objectContribution>
-
- <!-- Makefile Verification Menu Group -->
- <!-- PopUpMenus extension point and contributions (nameFilter="*.gem") -->
- <objectContribution
- adaptable="true"
- id="org.eclipse.ptp.gem.makefilePopupMenu"
- nameFilter="*.gem"
- objectClass="org.eclipse.core.resources.IFile">
- <menu
- label="GEM"
- path="additions"
- id="executableMenu">
- <separator name="executableGroup"/>
- </menu>
- <action
- class="org.eclipse.ptp.internal.gem.popup.actions.VerificationPopUpAction"
- enablesFor="1"
- id="org.eclipse.ptp.gem.executablePopup"
- label="Formally Verify Profiled MPI Executable"
- menubarPath="executableMenu/executableGroup"
- icon="icons/trident.gif">
- </action>
- </objectContribution>
- </extension>
-
-
- <!-- Preferences extension point and Initializer -->
- <extension
- point="org.eclipse.ui.preferencePages">
- <page
- category="org.eclipse.ptp.ui.preferences.ptpPreferencesPage"
- class="org.eclipse.ptp.internal.gem.preferences.GemPreferencePage"
- id="org.eclipse.ptp.gem.preferences.GemPreferences"
- name="GEM">
- </page>
- <page
- category="org.eclipse.ptp.gem.preferences.GemPreferences"
- class="org.eclipse.ptp.internal.gem.preferences.IspPreferencePage"
- id="org.eclipse.ptp.gem.preferences.IspPreferences"
- name="ISP Settings">
- </page>
- </extension>
- <extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="org.eclipse.ptp.internal.gem.preferences.PreferenceInitializer">
- </initializer>
- </extension>
-
-
- <!-- Commands extension point and contributions (for toolbar buttons) -->
- <extension
- point="org.eclipse.ui.commands">
- <category
- id="org.eclipse.ptp.gem.commands.category"
- name="GEM Commands Category">
- </category>
- <command
- categoryId="org.eclipse.ptp.gem.commands.category"
- id="org.eclipse.ptp.gem.commands.numprocsCommand"
- name="Set Number of Processes">
- </command>
- <command
- categoryId="org.eclipse.ptp.gem.commands.category"
- id="org.eclipse.ptp.gem.commands.gemCommand"
- name="Formally Verify MPI Program">
- </command>
- </extension>
-
-
- <!-- Handlers extension point -->
- <extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.ptp.internal.gem.handlers.GemHandler"
- commandId="org.eclipse.ptp.gem.commands.numprocsCommand">
- </handler>
- <handler
- class="org.eclipse.ptp.internal.gem.handlers.GemHandler"
- commandId="org.eclipse.ptp.gem.commands.gemCommand">
- </handler>
- </extension>
-
-
- <!-- Menus extension point and contributions (toolbar buttons) -->
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
- <toolbar id="org.eclipse.ptp.gem.toolbar"
- label="%menulabel">
- <command
- commandId="org.eclipse.ptp.gem.commands.gemCommand"
- icon="icons/trident.gif"
- id="org.eclipse.ptp.gem.toolbar.refCommand"
- style="pulldown"
- tooltip="Formally Verify MPI Program">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeWorkbenchWindow.activePerspective">
- <equals
- value="org.eclipse.cdt.ui.CPerspective">
- </equals>
- </with>
- </visibleWhen>
- </command>
- </toolbar>
- </menuContribution>
- <menuContribution locationURI="menu:org.eclipse.ptp.gem.toolbar.refCommand?after=additions">
- <command
- commandId="org.eclipse.ptp.gem.commands.numprocsCommand"
- icon="icons/triple-trident.gif"
- id="org.eclipse.ptp.gem.toolbar.menu.numprocsCommand">
- </command>
- <command
- commandId="org.eclipse.ptp.gem.commands.gemCommand"
- icon="icons/trident.gif"
- id="org.eclipse.ptp.gem.toolbar.menu.gemCommand">
- </command>
- </menuContribution>
- </extension>
-
-
- <!-- Views extension point -->
- <extension
- point="org.eclipse.ui.views">
- <view
- name="GEM Console"
- icon="icons/magnified-trident.gif"
- category="org.eclipse.ptp.ui.views"
- class="org.eclipse.ptp.internal.gem.views.GemConsole"
- id="org.eclipse.ptp.gem.views.GemConsole">
- </view>
- <view
- name="GEM Analyzer"
- icon="icons/trident.gif"
- category="org.eclipse.ptp.ui.views"
- class="org.eclipse.ptp.internal.gem.views.GemAnalyzer"
- id="org.eclipse.ptp.gem.views.GemAnalyzer">
- </view>
- <view
- name="GEM Browser"
- icon="icons/trident.gif"
- category="org.eclipse.ptp.ui.views"
- class="org.eclipse.ptp.internal.gem.views.GemBrowser"
- id="org.eclipse.ptp.gem.views.GemBrowser">
- </view>
- </extension>
-
- </plugin>
diff --git a/tools/gem/org.eclipse.ptp.gem/pom.xml b/tools/gem/org.eclipse.ptp.gem/pom.xml
deleted file mode 100644
index 1d385c7..0000000
--- a/tools/gem/org.eclipse.ptp.gem/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.ptp</groupId>
- <artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.ptp.gem</artifactId>
- <version>1.3.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/GemPlugin.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/GemPlugin.java
deleted file mode 100644
index a4e6e6d..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/GemPlugin.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.preferences.ConfigurationScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.ptp.internal.gem.util.GemUtilities;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * The activator class for this plug-in. This controls the plug-in life cycle.
- */
-public class GemPlugin extends AbstractUIPlugin {
-
- // The shared instance
- private static GemPlugin plugin;
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.ptp.gem"; //$NON-NLS-1$
-
- // The configuration preferences
- private IEclipsePreferences gemPreferences;
-
- // The image cache for this plug-in
- private static Map<ImageDescriptor, Image> imageCache = new HashMap<ImageDescriptor, Image>();
-
- /**
- * Returns the shared instance.
- *
- * @param none
- * @return GemPlugin The shared plug-in instance.
- */
- public static GemPlugin getDefault() {
- return plugin;
- }
-
- /**
- * Gets the requested Image resource.
- *
- * @param imageDescriptor
- * The ImagesDescriptor mapped to its Image object.
- * @return Image The requested Image.
- */
- public static Image getImage(ImageDescriptor imageDescriptor) {
- if (imageDescriptor == null) {
- return null;
- }
- Image image = imageCache.get(imageDescriptor);
- if (image == null) {
- image = imageDescriptor.createImage();
- imageCache.put(imageDescriptor, image);
- }
- return image;
- }
-
- /**
- * Returns an image descriptor for the image file at the given plug-in
- * relative path.
- *
- * @param path
- * The path to the shared resource.
- * @return ImageDescriptor The image descriptor.
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-
- /**
- * Constructor.
- */
- public GemPlugin() {
- super();
- }
-
- /**
- * Answer the configuration location for this plug-in.
- *
- * @param none
- * @return URI The GEM plugin's configuration directory (not <code>null</code>)
- */
- public URI getConfigDir() {
- final Location location = Platform.getConfigurationLocation();
- if (location != null) {
- final URL configURL = location.getURL();
- if (configURL != null && configURL.getProtocol().startsWith("file")) { //$NON-NLS-1$
- try {
- return configURL.toURI();
- } catch (final URISyntaxException e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
- }
- return null;
- }
-
- /**
- * Answer the configuration preferences shared among multiple workspaces.
- *
- * @param none
- * @return Preferences The configuration preferences or <code>null</code> if
- * the configuration directory is read-only or unspecified.
- */
- public Preferences getConfigPrefs() {
- if (this.gemPreferences == null) {
- this.gemPreferences = (IEclipsePreferences) ConfigurationScope.INSTANCE;
- }
- return this.gemPreferences;
- }
-
- /**
- * Return the plug-in's version.
- *
- * @param none
- * @return Version The current version of this plug-in.
- */
- public Version getVersion() {
- return new Version(getBundle().getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION));
- }
-
- /**
- * Save the configuration preferences if they have been loaded.
- *
- * @param none
- * @return void
- */
- public void saveConfigPrefs() {
- if (this.gemPreferences != null) {
- try {
- this.gemPreferences.flush();
- } catch (final BackingStoreException e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context) throws Exception {
- saveConfigPrefs();
- super.start(context);
- plugin = this;
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
-
- // Clear the image cache
- Iterator<Image> iter = imageCache.values().iterator();
- while (iter.hasNext()) {
- iter.next().dispose();
- }
-
- imageCache.clear();
- iter = null;
- imageCache = null;
- }
-
- /**
- * Return the OSGi service with the given service interface.
- *
- * @param service
- * service interface
- * @return the specified service or null if it's not registered
- */
- public static <T> T getService(Class<T> service) {
- final BundleContext context = plugin.getBundle().getBundleContext();
- final ServiceReference<T> ref = context.getServiceReference(service);
- return ref != null ? context.getService(ref) : null;
- }
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/handlers/GemHandler.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/handlers/GemHandler.java
deleted file mode 100644
index 09b3964..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/handlers/GemHandler.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.Command;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.ptp.internal.gem.util.GemUtilities;
-import org.eclipse.ptp.internal.gem.views.GemAnalyzer;
-import org.eclipse.ptp.internal.gem.views.GemBrowser;
-import org.eclipse.ptp.internal.gem.views.GemConsole;
-import org.eclipse.ptp.rdt.sync.core.resources.RemoteSyncNature;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Handler for associated GEM commands declared in plugin.xml.
- *
- * Extends AbstractHandler, an IHandler base class.
- *
- * @see org.eclipse.core.commands.IHandler
- * @see org.eclipse.core.commands.AbstractHandler
- */
-public class GemHandler extends AbstractHandler {
-
- /**
- * Constructor.
- *
- * @param none
- */
- public GemHandler() {
- super();
- }
-
- /**
- * The command has been executed, so extract the needed information from the
- * application context.
- *
- * @param event
- * The Event to process
- * @return Object <code>null</code>
- */
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- // Process the command associated with the event
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- final Command cmd = event.getCommand();
- final String cmdString = cmd.getId();
-
- // If we are just changing number of processes, do so and break early
- if (cmdString.equals("org.eclipse.ptp.gem.commands.numprocsCommand")) { //$NON-NLS-1$
- GemUtilities.setNumProcesses();
- return null;
- }
-
- // Otherwise do analysis, filter extension and do the work
- final IEditorPart editor = page.getActiveEditor();
- IFile inputFile = null;
- boolean isSourceFileExtension = false;
-
- if (editor == null) {
- // do nothing here as there really is nothing to do
- return null;
- }
-
- final IFileEditorInput editorInput = (IFileEditorInput) editor.getEditorInput();
- inputFile = editorInput.getFile();
-
- try {
- if (inputFile.getProject().hasNature(RemoteSyncNature.NATURE_ID)) {
- return null;
- }
- } catch (final CoreException ce) {
- GemUtilities.logExceptionDetail(ce);
- }
-
- final String extension = inputFile.getFileExtension();
- if (extension != null) {
- // The most common C & C++ source file extensions
- isSourceFileExtension = extension.equals("c") //$NON-NLS-1$
- || extension.equals("cpp") || extension.equals("c++") //$NON-NLS-1$ //$NON-NLS-2$
- || extension.equals("cc") || extension.equals("cp"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (isSourceFileExtension) {
- // Save most recent file reference to hidden preference as a URI
- GemUtilities.saveMostRecentURI(inputFile.getLocationURI());
-
- // ask for command line arguments
- GemUtilities.setCommandLineArgs();
-
- // Activate all inactive views and open up to the console
- try {
- final IViewReference[] activeViews = page.getViewReferences();
- boolean foundBrowser = false;
- boolean foundAnalyzer = false;
- for (final IViewReference ref : activeViews) {
- if (ref.getId().equals(GemBrowser.ID)) {
- foundBrowser = true;
- }
- if (ref.getId().equals(GemAnalyzer.ID)) {
- foundAnalyzer = true;
- }
- }
- // open the Browser view if it's not already
- if (!foundBrowser) {
- page.showView(GemBrowser.ID);
- }
- // open the Analyzer view if it's not already
- if (!foundAnalyzer) {
- page.showView(GemAnalyzer.ID);
- }
- page.showView(GemConsole.ID);
- GemUtilities.initGemViews(inputFile, true, true);
- } catch (final PartInitException e) {
- GemUtilities.logExceptionDetail(e);
- }
-
- } else {
- GemUtilities.showErrorDialog(Messages.GemHandler_1);
- }
- return null;
- }
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/messages/Messages.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/messages/Messages.java
deleted file mode 100644
index 45e4d3e..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/messages/Messages.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package org.eclipse.ptp.internal.gem.messages;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.ptp.internal.gem.messages.messages"; //$NON-NLS-1$
-
- public static String Envelope_0;
- public static String GemAnalyzer_0;
- public static String GemAnalyzer_1;
- public static String GemAnalyzer_10;
- public static String GemAnalyzer_11;
- public static String GemAnalyzer_12;
- public static String GemAnalyzer_13;
- public static String GemAnalyzer_14;
- public static String GemAnalyzer_15;
- public static String GemAnalyzer_16;
- public static String GemAnalyzer_17;
- public static String GemAnalyzer_18;
- public static String GemAnalyzer_19;
- public static String GemAnalyzer_2;
- public static String GemAnalyzer_20;
- public static String GemAnalyzer_21;
- public static String GemAnalyzer_22;
- public static String GemAnalyzer_23;
- public static String GemAnalyzer_24;
- public static String GemAnalyzer_25;
- public static String GemAnalyzer_26;
- public static String GemAnalyzer_27;
- public static String GemAnalyzer_28;
- public static String GemAnalyzer_29;
- public static String GemAnalyzer_3;
- public static String GemAnalyzer_30;
-
- public static String GemAnalyzer_31;
- public static String GemAnalyzer_32;
- public static String GemAnalyzer_33;
- public static String GemAnalyzer_34;
- public static String GemAnalyzer_35;
- public static String GemAnalyzer_36;
- public static String GemAnalyzer_37;
- public static String GemAnalyzer_39;
- public static String GemAnalyzer_4;
- public static String GemAnalyzer_40;
- public static String GemAnalyzer_41;
- public static String GemAnalyzer_46;
- public static String GemAnalyzer_47;
- public static String GemAnalyzer_48;
- public static String GemAnalyzer_49;
- public static String GemAnalyzer_5;
- public static String GemAnalyzer_50;
- public static String GemAnalyzer_51;
- public static String GemAnalyzer_53;
- public static String GemAnalyzer_55;
- public static String GemAnalyzer_56;
- public static String GemAnalyzer_57;
- public static String GemAnalyzer_58;
- public static String GemAnalyzer_6;
- public static String GemAnalyzer_60;
- public static String GemAnalyzer_61;
- public static String GemAnalyzer_68;
- public static String GemAnalyzer_69;
- public static String GemAnalyzer_7;
- public static String GemAnalyzer_70;
- public static String GemAnalyzer_73;
- public static String GemAnalyzer_74;
- public static String GemAnalyzer_76;
- public static String GemAnalyzer_78;
- public static String GemAnalyzer_79;
- public static String GemAnalyzer_8;
- public static String GemAnalyzer_83;
- public static String GemAnalyzer_84;
- public static String GemAnalyzer_85;
- public static String GemAnalyzer_89;
- public static String GemAnalyzer_9;
- public static String GemAnalyzer_91;
- public static String GemAnalyzer_92;
- public static String GemAnalyzer_93;
- public static String GemAnalyzer_94;
- public static String GemAnalyzer_95;
- public static String GemAnalyzer_96;
- public static String GemBrowser_0;
- public static String GemBrowser_1;
- public static String GemBrowser_11;
- public static String GemBrowser_12;
- public static String GemBrowser_14;
- public static String GemBrowser_15;
- public static String GemBrowser_16;
- public static String GemBrowser_17;
- public static String GemBrowser_18;
- public static String GemBrowser_19;
- public static String GemBrowser_2;
- public static String GemBrowser_20;
- public static String GemBrowser_22;
- public static String GemBrowser_23;
- public static String GemBrowser_24;
- public static String GemBrowser_25;
- public static String GemBrowser_26;
- public static String GemBrowser_27;
- public static String GemBrowser_29;
- public static String GemBrowser_3;
- public static String GemBrowser_30;
- public static String GemBrowser_31;
- public static String GemBrowser_32;
- public static String GemBrowser_33;
- public static String GemBrowser_39;
- public static String GemBrowser_4;
- public static String GemBrowser_40;
- public static String GemBrowser_41;
- public static String GemBrowser_42;
- public static String GemBrowser_43;
- public static String GemBrowser_5;
- public static String GemBrowser_6;
- public static String GemBrowser_7;
- public static String GemBrowser_8;
- public static String GemConsole_3;
- public static String GemConsole_4;
- public static String GemConsole_5;
- public static String GemConsole_6;
- public static String GemConsole_7;
- public static String GemConsole_8;
- public static String GemConsole_9;
- public static String GemConsole_10;
- public static String GemConsole_11;
- public static String GemHandler_1;
- public static String GemPreferencePage_0;
- public static String GemPreferencePage_1;
- public static String GemPreferencePage_3;
- public static String GemPreferencePage_4;
- public static String GemPreferencePage_5;
- public static String GemPreferencePage_7;
- public static String GemPreferencePage_8;
- public static String GemPreferencePage_9;
- public static String GemPreferencePage_10;
-
- public static String GemUtilities_1;
- public static String GemUtilities_10;
- public static String GemUtilities_11;
- public static String GemUtilities_12;
- public static String GemUtilities_13;
- public static String GemUtilities_14;
-
- public static String GemUtilities_2;
- public static String GemUtilities_28;
- public static String GemUtilities_3;
- public static String GemUtilities_4;
- public static String GemUtilities_5;
- public static String GemUtilities_6;
- public static String GemUtilities_7;
- public static String GemUtilities_8;
- public static String GemUtilities_9;
- public static String HbvLogFilePopUpAction_0;
- public static String HbvLogFilePopUpAction_1;
- public static String HbvLogFilePopUpAction_2;
- public static String IspPreferencePage_0;
- public static String IspPreferencePage_1;
- public static String IspPreferencePage_10;
- public static String IspPreferencePage_11;
- public static String IspPreferencePage_12;
- public static String IspPreferencePage_13;
- public static String IspPreferencePage_14;
- public static String IspPreferencePage_15;
- public static String IspPreferencePage_16;
- public static String IspPreferencePage_17;
- public static String IspPreferencePage_18;
- public static String IspPreferencePage_19;
- public static String IspPreferencePage_2;
- public static String IspPreferencePage_20;
- public static String IspPreferencePage_21;
- public static String IspPreferencePage_3;
- public static String IspPreferencePage_4;
- public static String IspPreferencePage_5;
- public static String IspPreferencePage_6;
- public static String IspPreferencePage_7;
- public static String IspPreferencePage_8;
- public static String IspPreferencePage_9;
- public static String NumProcsValidator_0;
- public static String NumProcsValidator_1;
- public static String NumProcsValidator_2;
- public static String ProcessLogFilePopUpAction_0;
- public static String ProcessLogFilePopUpAction_1;
- public static String VerificationPopUpAction_0;
-
- public static String VerificationPopUpAction_1;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- super();
- }
-
-}
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/messages/messages.properties b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/messages/messages.properties
deleted file mode 100644
index 686eb4a..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/messages/messages.properties
+++ /dev/null
@@ -1,173 +0,0 @@
-Envelope_0=Value was null parsing Envelope communicator
-GemAnalyzer_0=Code Windows
-GemAnalyzer_1=Originating Call
-GemAnalyzer_10=Last Interleaving
-GemAnalyzer_11=Deadlock Interleaving(s)
-GemAnalyzer_12=Runtime Report
-GemAnalyzer_13=Log file does not exist. Please refresh (F5) or\ngenerate a new log file by running GEM again.
-GemAnalyzer_14=Browse Calls by Interleaving and Rank
-GemAnalyzer_15=HB Viewer
-GemAnalyzer_16=Launch Happens Before Viewer
-GemAnalyzer_17=Run GEM on last input file
-GemAnalyzer_18=Set the Number of Processes for the Next Run
-GemAnalyzer_19=No first interleaving.
-GemAnalyzer_2=Matching Calls
-GemAnalyzer_20=No previous interleaving
-GemAnalyzer_21=No next interleaving
-GemAnalyzer_22=Ranks:
-GemAnalyzer_23=GEM does not currently support the Happens Before Viewer\nwith remote or synchronized projects.
-GemAnalyzer_24=Please run GEM prior to opening the Call Browser
-GemAnalyzer_25=Step Order for MPI Calls
-GemAnalyzer_26=Set the order the MPI calls are stepped in
-GemAnalyzer_27=Internal Issue
-GemAnalyzer_28=This is the order the calls were issued to the MPI runtime
-GemAnalyzer_29=Program
-GemAnalyzer_3=line:
-GemAnalyzer_30=This is the order the calls appear in the source code file
-GemAnalyzer_31=No errors or warnings found
-GemAnalyzer_32=Transitions
-GemAnalyzer_33=These buttons control which MPI call is currently being viewed
-GemAnalyzer_34=First Transition
-GemAnalyzer_35=Previous Transition
-GemAnalyzer_36=Next Transition
-GemAnalyzer_37=Last Transition
-GemAnalyzer_39=View calls for a specific rank (process)
-GemAnalyzer_4=by rank:
-GemAnalyzer_40=\ line:
-GemAnalyzer_41=\ by rank:
-GemAnalyzer_46=Call does not complete due to a deadlock
-GemAnalyzer_47=Call does not complete successfully
-GemAnalyzer_48=Terminate Current GEM Operation
-GemAnalyzer_49=Get GEM Analyzer Help
-GemAnalyzer_5=Interleavings
-GemAnalyzer_50=Terminate Current GEM Operation
-GemAnalyzer_51=Get GEM Analyzer Help
-GemAnalyzer_53=Rank:
-GemAnalyzer_55=Ranks:
-GemAnalyzer_56=Call Performed
-GemAnalyzer_57=\ Times By All
-GemAnalyzer_58=Ranks
-GemAnalyzer_6=An interleaving is a possible ordering of MPI calls issued
-GemAnalyzer_60=File:
-GemAnalyzer_61=\ Line:
-GemAnalyzer_68=MPI Call Browser
-GemAnalyzer_69=Number of Processes:
-GemAnalyzer_7=First Interleaving
-GemAnalyzer_70=Interleaving:
-GemAnalyzer_73=Get GEM Analyzer Help
-GemAnalyzer_74=Terminate Current GEM Operation
-GemAnalyzer_76=Failed to open file
-GemAnalyzer_78=Failed to open file
-GemAnalyzer_79=Browse MPI Calls
-GemAnalyzer_8=Previous Interleaving
-GemAnalyzer_83=No Ranks Locked
-GemAnalyzer_84=Rank
-GemAnalyzer_85=\ Locked
-GemAnalyzer_89=Deadlock in interleaving
-GemAnalyzer_9=Next Interleaving
-GemAnalyzer_91=Assertion violation in
-GemAnalyzer_92=Error Found
-GemAnalyzer_93=No errors found. Check Browser for warnings.
-GemAnalyzer_94=No first transition
-GemAnalyzer_95=No previous transition
-GemAnalyzer_96=No Next Transition
-GemBrowser_0=Could not locate source file:
-GemBrowser_1=Error parsing ASSERTION_VIOLATIONS lines in log file. Browser operation aborted.
-GemBrowser_11=Assertion Violations
-GemBrowser_12=Browse Assertion Violations
-GemBrowser_14=No Assertion Violations Found
-GemBrowser_15=error and
-GemBrowser_16=errors and
-GemBrowser_17=warning was found
-GemBrowser_18=warnings were found
-GemBrowser_19=Deadlocks
-GemBrowser_2=Error parsing DEADLOCK lines in log file. Browser operation aborted.
-GemBrowser_20=Browse Deadlocks
-GemBrowser_22=No Deadlocks Found
-GemBrowser_23=Irrelevant Barriers
-GemBrowser_24=Browse Irrelevant Barriers
-GemBrowser_25=FIB preference is disabled
-GemBrowser_26=A deadlock interrupted the detection of Irrelevant Barriers
-GemBrowser_27=No Irrelevant Barriers Found
-GemBrowser_29=Terminate Current GEM Operation
-GemBrowser_3=Error parsing IRRELEVANT_BARRIER lines in log file. Browser operations aborted.
-GemBrowser_30=Save Results to Local File
-GemBrowser_31=Leaks
-GemBrowser_32=Browse Resource Leaks
-GemBrowser_33=No Resource Leaks Found
-GemBrowser_39=Get GEM Browser Help
-GemBrowser_4=Error parsing RESOURCE_LEAKS lines in log file. Browser operation aborted.
-GemBrowser_40=Terminate Current GEM Operation
-GemBrowser_41=Replace existing file?
-GemBrowser_42=Unable to create file
-GemBrowser_43=Save Results to Local File
-GemBrowser_5=Error parsing TYPE_MISMATCH lines in log file. Browser operation aborted.
-GemBrowser_6=An error occurred while trying to save the file
-GemBrowser_7=Run GEM
-GemBrowser_8=Set the Number of Processes for the Next Run
-GemConsole_3=Clear Console
-GemConsole_4=Save Output to Local File
-GemConsole_5=Get GEM Console Help
-GemConsole_6=Clear Console
-GemConsole_7=Replace existing file?
-GemConsole_8=Unable to create file
-GemConsole_9=Save Output to Local File
-GemConsole_10=Get GEM Console Help
-GemConsole_11=Terminated at the request of the user
-GemHandler_1=Please select a valid file in the editor.
-GemPreferencePage_0=GEM Preferences
-GemPreferencePage_1=Number of Processes:
-GemPreferencePage_10=Request Command Line Arguments
-GemPreferencePage_3=Clear GEM Console on Each Run
-GemPreferencePage_4=Get Help with GEM Preferences
-GemPreferencePage_5=Active View:
-GemPreferencePage_7=Analyzer
-GemPreferencePage_8=Browser
-GemPreferencePage_9=Console
-GemUtilities_1=Problems occurred when invoking code from plug-in:
-GemUtilities_10=Set Number of Processes
-GemUtilities_11=Error
-GemUtilities_12=Information
-GemUtilities_13=\nPlease make sure ISP is installed correctly on the target machine,\nand that all GEM preferences and paths are properly configured.\n\nIf you are working with a remote project,\nmake sure the remote environment has been started.
-GemUtilities_14=Log file was not created or does not exist.
-GemUtilities_2=No log file exists, generating one now.
-GemUtilities_28=Please provide any command line arguments:
-GemUtilities_3=Failed to make a valid executable from the source file.\nPlease verify that the file can successfully compile.
-GemUtilities_4=Log file is empty or not properly formatted.\nTry running GEM again with the correct number of processes.
-GemUtilities_5=Log file does not contain any MPI calls. Terminating current operation.\nCheck that you are running with the correct number of processes.
-GemUtilities_6=An analysis is currently in progress.\nPlease wait until it completes or manually abort it before starting a new one
-GemUtilities_7=Supported version of ISP not found.\nPlease install version 0.3.0 or later.\nhttp://www.cs.utah.edu/formal_verification/ISP-release/
-GemUtilities_8=An error has occurred while trying to run the command:
-GemUtilities_9=Set Number of Processes
-HbvLogFilePopUpAction_0=Please select a valid log file.
-HbvLogFilePopUpAction_1=Log file does not exist. Please refresh (F5) or\ngenerate a new log file by running GEM again.
-HbvLogFilePopUpAction_2=GEM does not currently support the Happens Before Viewer\nwith remote or synchronized projects.
-IspPreferencePage_0=Command Line Options
-IspPreferencePage_1=Enable FIB
-IspPreferencePage_10=Report Progress Every [n] MPI Calls:
-IspPreferencePage_11=Local ISP Paths
-IspPreferencePage_12=isp executable:
-IspPreferencePage_13=ispcc script:
-IspPreferencePage_14=ispCC script:
-IspPreferencePage_15=HB Viewer script:
-IspPreferencePage_16=Get Help with ISP Preferences
-IspPreferencePage_17=Host Where ISP Resides
-IspPreferencePage_18=Remote ISP Paths
-IspPreferencePage_19=remote isp executable:
-IspPreferencePage_2=Log Total MPI Calls
-IspPreferencePage_20=remote ispcc script:
-IspPreferencePage_21=remote ispCC script
-IspPreferencePage_3=Enable OpenMP
-IspPreferencePage_4=Use Blocking sends
-IspPreferencePage_5=Report Progress
-IspPreferencePage_6=Use Unix Sockets
-IspPreferencePage_7=Verbose Mode
-IspPreferencePage_8=Miscellaneous Options
-IspPreferencePage_9=Port:
-NumProcsValidator_0=Must be a numeric value > 0
-NumProcsValidator_1=Must be > 0
-NumProcsValidator_2=Must be in the range [0,32]
-ProcessLogFilePopUpAction_0=Please select a valid file.
-ProcessLogFilePopUpAction_1=Log file does not exist.\nPlease refresh (F5) and run GEM again.
-VerificationPopUpAction_0=Please select a valid file.
-VerificationPopUpAction_1=The selected resource was invalid.
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/popup/actions/HbvLogFilePopUpAction.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/popup/actions/HbvLogFilePopUpAction.java
deleted file mode 100644
index 41da6a0..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/popup/actions/HbvLogFilePopUpAction.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.popup.actions;
-
-//import java.io.File;
-
-//import org.eclipse.core.filesystem.EFS;
-//import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.ptp.internal.gem.preferences.PreferenceConstants;
-import org.eclipse.ptp.internal.gem.util.GemUtilities;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Object action implementation for associated GEM actions declared in
- * plugin.xml.
- *
- * Implements IObjectActionDelegate, which extends ActionDelegate, an
- * IActionDelegate base class.
- *
- * @see org.eclipse.ui.IObjectActionDelegate
- */
-public class HbvLogFilePopUpAction implements IObjectActionDelegate {
-
- private IStructuredSelection selection;
-
- /**
- * Constructor.
- */
- public HbvLogFilePopUpAction() {
- super();
- }
-
- /**
- * @see IActionDelegate#run(IAction)
- */
- public void run(IAction action) {
- if (this.selection == null) {
- return;
- }
-
- // Make sure the file selection is valid
- if (this.selection.toString().equals("<empty selection>")) { //$NON-NLS-1$
- GemUtilities.showErrorDialog(Messages.HbvLogFilePopUpAction_0);
- } else {
- final IFile logFile = (IFile) this.selection.getFirstElement();
- final String projectName = logFile.getProject().getName();
- final IProject currentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- String hbv = GemPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.GEM_PREF_HBV_PATH);
-
- /*
- * Currently, GEM does not support the Happens Before Viewer with
- * remote projects.
- *
- * Check if the project is local or remote and abort if it is.
- */
- if (logFile.getLocation() == null || GemUtilities.isSynchronizedProject(logFile)) {
- GemUtilities.showInformationDialog(Messages.HbvLogFilePopUpAction_2);
- return;
- }
-
- // Sync the project resources with the underlying file system
- GemUtilities.refreshProject(currentProject);
-
- // Check the log file and execute the command via thread
- if (logFile.exists()) {
- if (hbv != "") { //$NON-NLS-1$
- hbv += "/"; //$NON-NLS-1$
- }
- hbv += "ispUI " + logFile.getLocationURI().getPath(); //$NON-NLS-1$
- GemUtilities.runCommandAsThread(hbv);
- } else {
- GemUtilities.showErrorDialog(Messages.HbvLogFilePopUpAction_1);
- }
- }
- }
-
- /**
- * @see IActionDelegate#selectionChanged(IAction, ISelection)
- */
- public void selectionChanged(IAction action, ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- this.selection = (IStructuredSelection) selection;
- } else {
- this.selection = null;
- }
- }
-
- /**
- * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
- */
- public void setActivePart(IAction action, IWorkbenchPart targetPart) {
- // do nothing
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/popup/actions/ProcessLogFilePopUpAction.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/popup/actions/ProcessLogFilePopUpAction.java
deleted file mode 100644
index 384c27f..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/popup/actions/ProcessLogFilePopUpAction.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.popup.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.ptp.internal.gem.preferences.PreferenceConstants;
-import org.eclipse.ptp.internal.gem.util.GemUtilities;
-import org.eclipse.ptp.internal.gem.views.GemAnalyzer;
-import org.eclipse.ptp.internal.gem.views.GemBrowser;
-import org.eclipse.ptp.internal.gem.views.GemConsole;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Object action implementation for associated GEM actions declared in
- * plugin.xml.
- *
- * Implements IObjectActionDelegate, which extends ActionDelegate, an
- * IActionDelegate base class.
- *
- * @see org.eclipse.ui.IObjectActionDelegate
- */
-public class ProcessLogFilePopUpAction implements IObjectActionDelegate {
-
- private IStructuredSelection selection;
-
- /**
- * Constructor.
- */
- public ProcessLogFilePopUpAction() {
- super();
- }
-
- /**
- * @see IActionDelegate#run(IAction)
- */
- public void run(IAction action) {
- if (this.selection == null) {
- return;
- }
-
- // Make sure the file selection is valid
- if (this.selection.toString().equals("<empty selection>")) { //$NON-NLS-1$
- GemUtilities.showErrorDialog(Messages.ProcessLogFilePopUpAction_0);
- } else {
- final IFile logFile = (IFile) this.selection.getFirstElement();
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
-
- // Open GEM views in order determined by preference
- try {
- final String activeView = pstore.getString(PreferenceConstants.GEM_ACTIVE_VIEW);
- if (activeView.equals("analyzer")) { //$NON-NLS-1$
- page.showView(GemBrowser.ID);
- page.showView(GemAnalyzer.ID);
- } else {
- page.showView(GemAnalyzer.ID);
- page.showView(GemBrowser.ID);
- }
- page.showView(GemConsole.ID);
- } catch (final PartInitException e) {
- GemUtilities.logExceptionDetail(e);
- }
-
- // Sync the project resources with the underlying file system
- final String projectName = logFile.getProject().getName();
- final IProject currentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- GemUtilities.refreshProject(currentProject);
-
- // Check the log file and execute the command via thread
- if (logFile.exists()) {
- GemUtilities.initGemViews(logFile, false, false);
- } else {
- GemUtilities.showErrorDialog(Messages.ProcessLogFilePopUpAction_1);
- }
- }
- }
-
- /**
- * @see IActionDelegate#selectionChanged(IAction, ISelection)
- */
- public void selectionChanged(IAction action, ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- this.selection = (IStructuredSelection) selection;
- } else {
- this.selection = null;
- }
- }
-
- /**
- * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
- */
- public void setActivePart(IAction action, IWorkbenchPart targetPart) {
- // do nothing
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/popup/actions/VerificationPopUpAction.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/popup/actions/VerificationPopUpAction.java
deleted file mode 100644
index faaf24d..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/popup/actions/VerificationPopUpAction.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.popup.actions;
-
-import java.net.URI;
-
-import org.eclipse.cdt.core.model.ICElement;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.ptp.internal.gem.preferences.PreferenceConstants;
-import org.eclipse.ptp.internal.gem.util.GemUtilities;
-import org.eclipse.ptp.internal.gem.views.GemAnalyzer;
-import org.eclipse.ptp.internal.gem.views.GemBrowser;
-import org.eclipse.ptp.internal.gem.views.GemConsole;
-import org.eclipse.ptp.rdt.sync.core.SyncConfigManager;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Object action implementation for associated GEM actions declared in
- * plugin.xml.
- *
- * Implements IObjectActionDelegate, which extends ActionDelegate, an
- * IActionDelegate base class.
- *
- * @see org.eclipse.ui.IObjectActionDelegate
- */
-@SuppressWarnings("restriction")
-public class VerificationPopUpAction implements IObjectActionDelegate {
-
- private IStructuredSelection selection;
-
- /**
- * Constructor.
- */
- public VerificationPopUpAction() {
- super();
- }
-
- /**
- * @see IActionDelegate#run(IAction)
- */
- public void run(IAction action) {
-
- if (this.selection == null) {
- return;
- }
-
- // Check that the selection is valid
- if (this.selection.toString().equals("<empty selection>")) { //$NON-NLS-1$
- GemUtilities.showErrorDialog(Messages.VerificationPopUpAction_0);
- } else {
- final Object selectionElement = this.selection.getFirstElement();
- IResource resource = null;
-
- if (selectionElement instanceof IResource) {
- resource = (IResource) selectionElement;
- } else if (selectionElement instanceof ICElement) {
- resource = ((ICElement) selectionElement).getResource();
- }
-
- // Do the work if the resource is valid
- if (resource != null) {
- final String id = action.getId();
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
-
- // Open GEM views in order determined by preference
- try {
- // ask for command line arguments
- GemUtilities.setCommandLineArgs();
-
- final String activeView = pstore.getString(PreferenceConstants.GEM_ACTIVE_VIEW);
- if (activeView.equals("analyzer")) { //$NON-NLS-1$
- page.showView(GemBrowser.ID);
- page.showView(GemAnalyzer.ID);
- } else {
- page.showView(GemAnalyzer.ID);
- page.showView(GemBrowser.ID);
- }
- page.showView(GemConsole.ID);
-
- // if !isValidSourceFile, then its a .gem profiled executable
- final boolean isValidSourceFile = id
- .equals("org.eclipse.ptp.gem.verificationPopupC") //$NON-NLS-1$
- || id.equals("org.eclipse.ptp.gem.verificationPopupCpp") //$NON-NLS-1$
- || id.equals("org.eclipse.ptp.gem.verificationPopupC++") //$NON-NLS-1$
- || id.equals("org.eclipse.ptp.gem.verificationPopupCp") //$NON-NLS-1$
- || id.equals("org.eclipse.ptp.gem.verificationPopupCc"); //$NON-NLS-1$
-
- // Save the URI of the most recent project resource
- // if (isValidSourceFile) {
- final boolean isSync = GemUtilities.isSynchronizedProject(resource);
- URI resourceLocation = null;
- try {
- if (isSync) {
- resourceLocation = SyncConfigManager.getActiveSyncLocationURI(resource);
- } else {
- resourceLocation = resource.getLocationURI();
- }
- } catch (final CoreException e) {
- GemUtilities.logExceptionDetail(e);
- }
- GemUtilities.saveMostRecentURI(resourceLocation);
-
- GemUtilities.initGemViews(resource, isValidSourceFile, true);
-
- } catch (final PartInitException e) {
- GemUtilities.logExceptionDetail(e);
- }
- } else {
- GemUtilities.showErrorDialog(Messages.VerificationPopUpAction_1);
- return;
- }
- }
- }
-
- /**
- * @see IActionDelegate#selectionChanged(IAction, ISelection)
- */
- public void selectionChanged(IAction action, ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- this.selection = (IStructuredSelection) selection;
- } else {
- this.selection = null;
- }
- }
-
- /**
- * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
- */
- public void setActivePart(IAction action, IWorkbenchPart targetPart) {
- // do nothing
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/GemPreferencePage.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/GemPreferencePage.java
deleted file mode 100644
index 3f355a0..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/GemPreferencePage.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This page is used to modify preferences for the GEM plug-in. They are stored
- * in the preference store that belongs to the main plug-in class.
- */
-public class GemPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-
- public GemPreferencePage() {
- super(GRID);
- setPreferenceStore(GemPlugin.getDefault().getPreferenceStore());
- }
-
- /**
- * Creates field editors and does layout for the main GEM preference page.
- */
- @Override
- public void createFieldEditors() {
- final Composite fieldEditorParent = this.getFieldEditorParent();
-
- // Create group of miscellaneous FieldEditors
- final Group prefGroup = new Group(fieldEditorParent, SWT.NULL);
- prefGroup.setText(Messages.GemPreferencePage_0);
- addField(new IntegerFieldEditor(PreferenceConstants.GEM_PREF_NUMPROCS, Messages.GemPreferencePage_1, prefGroup));
- addField(new BooleanFieldEditor(PreferenceConstants.GEM_PREF_CLRCON, Messages.GemPreferencePage_3, prefGroup));
- addField(new BooleanFieldEditor(PreferenceConstants.GEM_PREF_REQUEST_ARGS, Messages.GemPreferencePage_10, prefGroup));
- addField(new RadioGroupFieldEditor(PreferenceConstants.GEM_ACTIVE_VIEW, Messages.GemPreferencePage_5, 3,
- new String[][] { { Messages.GemPreferencePage_7, PreferenceConstants.GEM_ANALYZER },
- { Messages.GemPreferencePage_8, PreferenceConstants.GEM_BROWSER },
- { Messages.GemPreferencePage_9, PreferenceConstants.GEM_CONSOLE }
- }, prefGroup, false));
-
- // Do the grid layout work for each group.
- doLayoutAndData(prefGroup, 3, 300);
-
- // Help button setup
- final Button helpButton = new Button(fieldEditorParent, SWT.PUSH);
- helpButton.setLayoutData(new GridData(SWT.LEFT, SWT.NULL, false, false, 3, 1));
- helpButton.setImage(GemPlugin.getImageDescriptor("icons/help-contents.gif").createImage()); //$NON-NLS-1$
- helpButton.setToolTipText(Messages.GemPreferencePage_4);
-
- helpButton.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- // do nothing
- }
-
- public void widgetSelected(SelectionEvent e) {
- PlatformUI.getWorkbench().getHelpSystem()
- .displayHelpResource("/org.eclipse.ptp.gem.help/html/preferences.html#gemPrefs"); //$NON-NLS-1$
- }
- });
- }
-
- /*
- * Performs Layout of Grid and data therein for the specified group.
- */
- private void doLayoutAndData(Group group, int numColumns, int widthHint) {
- final GridLayout gl = new GridLayout(numColumns, false);
- group.setLayout(gl);
- final GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 1;
- gd.widthHint = widthHint;
- group.setLayoutData(gd);
- }
-
- /*
- * @see
- * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
- */
- public void init(IWorkbench workbench) {
- // do nothing
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/IspPreferencePage.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/IspPreferencePage.java
deleted file mode 100644
index ab6e1eb..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/IspPreferencePage.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.DirectoryFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This page is used to modify ISP related preferences for the GEM plug-in. They
- * are stored in the preference store that belongs to the main plug-in class.
- */
-public class IspPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-
- public IspPreferencePage() {
- super(GRID);
- setPreferenceStore(GemPlugin.getDefault().getPreferenceStore());
- }
-
- /**
- * Creates the field editors. Field editors are abstractions of the common
- * GUI blocks needed to manipulate various types of preferences. Each field
- * editor knows how to save and restore itself.
- */
- @Override
- public void createFieldEditors() {
- final Composite fieldEditorParent = this.getFieldEditorParent();
-
- // Create group for BooleanFieldEditors
- final Group prefsGroup = new Group(fieldEditorParent, SWT.NULL);
- prefsGroup.setText(Messages.IspPreferencePage_0);
-
- // Create BooleanFieldEditors for command line options.
- addField(new BooleanFieldEditor(PreferenceConstants.GEM_PREF_FIB, Messages.IspPreferencePage_1, prefsGroup));
- addField(new BooleanFieldEditor(PreferenceConstants.GEM_PREF_MPICALLS, Messages.IspPreferencePage_2, prefsGroup));
- addField(new BooleanFieldEditor(PreferenceConstants.GEM_PREF_OPENMP, Messages.IspPreferencePage_3, prefsGroup));
- addField(new BooleanFieldEditor(PreferenceConstants.GEM_PREF_BLOCK, Messages.IspPreferencePage_4, prefsGroup));
- addField(new BooleanFieldEditor(PreferenceConstants.GEM_PREF_REPORT, Messages.IspPreferencePage_5, prefsGroup));
- addField(new BooleanFieldEditor(PreferenceConstants.GEM_PREF_UNIXSOCKETS, Messages.IspPreferencePage_6, prefsGroup));
- addField(new BooleanFieldEditor(PreferenceConstants.GEM_PREF_VERBOSE, Messages.IspPreferencePage_7, prefsGroup));
-
- // Vertical spacer
- new Label(fieldEditorParent, SWT.NULL).setLayoutData(new GridData(SWT.FILL, SWT.NULL, true, false, 3, 1));
-
- // Create group of miscellaneous FieldEditors
- final Group miscGroup = new Group(fieldEditorParent, SWT.NULL);
- miscGroup.setText(Messages.IspPreferencePage_8);
- addField(new IntegerFieldEditor(PreferenceConstants.GEM_PREF_PORTNUM, Messages.IspPreferencePage_9, miscGroup));
- addField(new IntegerFieldEditor(PreferenceConstants.GEM_PREF_REPORTNUM, Messages.IspPreferencePage_10, miscGroup));
- addField(new StringFieldEditor(PreferenceConstants.GEM_PREF_HOSTNAME, Messages.IspPreferencePage_17, miscGroup));
-
- // Vertical spacer
- new Label(fieldEditorParent, SWT.NULL).setLayoutData(new GridData(SWT.FILL, SWT.NULL, true, false, 3, 1));
-
- // Create group for GEM-path FieldEditors
- final Group gemPathsGroup = new Group(fieldEditorParent, SWT.NULL);
- gemPathsGroup.setText(Messages.IspPreferencePage_11);
- addField(new DirectoryFieldEditor(PreferenceConstants.GEM_PREF_ISPEXE_PATH, Messages.IspPreferencePage_12, gemPathsGroup));
- addField(new DirectoryFieldEditor(PreferenceConstants.GEM_PREF_ISPCC_PATH, Messages.IspPreferencePage_13, gemPathsGroup));
- addField(new DirectoryFieldEditor(PreferenceConstants.GEM_PREF_ISPCPP_PATH, Messages.IspPreferencePage_14, gemPathsGroup));
- addField(new DirectoryFieldEditor(PreferenceConstants.GEM_PREF_HBV_PATH, Messages.IspPreferencePage_15, gemPathsGroup));
-
- // Vertical spacer
- new Label(fieldEditorParent, SWT.NULL).setLayoutData(new GridData(SWT.FILL, SWT.NULL, true, false, 3, 1));
-
- // Create group for GEM-path FieldEditors
- final Group remoteGemPathsGroup = new Group(fieldEditorParent, SWT.NULL);
- remoteGemPathsGroup.setText(Messages.IspPreferencePage_18);
- addField(new StringFieldEditor(PreferenceConstants.GEM_PREF_REMOTE_ISPEXE_PATH, Messages.IspPreferencePage_19,
- remoteGemPathsGroup));
- addField(new StringFieldEditor(PreferenceConstants.GEM_PREF_REMOTE_ISPCC_PATH, Messages.IspPreferencePage_20,
- remoteGemPathsGroup));
- addField(new StringFieldEditor(PreferenceConstants.GEM_PREF_REMOTE_ISPCPP_PATH, Messages.IspPreferencePage_21,
- remoteGemPathsGroup));
-
- // Do the grid layout work for each group.
- doLayoutAndData(prefsGroup, 1, 300);
- doLayoutAndData(miscGroup, 3, 300);
- doLayoutAndData(gemPathsGroup, 3, 300);
- doLayoutAndData(remoteGemPathsGroup, 3, 300);
-
- // Help button setup
- final Button helpButton = new Button(fieldEditorParent, SWT.PUSH);
- helpButton.setLayoutData(new GridData(SWT.LEFT, SWT.NULL, false, false, 3, 1));
- helpButton.setImage(GemPlugin.getImageDescriptor("icons/help-contents.gif").createImage()); //$NON-NLS-1$
- helpButton.setToolTipText(Messages.IspPreferencePage_16);
-
- helpButton.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- // do nothing
- }
-
- public void widgetSelected(SelectionEvent e) {
- PlatformUI.getWorkbench().getHelpSystem()
- .displayHelpResource("/org.eclipse.ptp.gem.help/html/preferences.html#ispPrefs"); //$NON-NLS-1$
- }
- });
- }
-
- /*
- * Performs Layout of Grid and data therein for the specified group.
- */
- private void doLayoutAndData(Group group, int numColumns, int widthHint) {
- final GridLayout gl = new GridLayout(numColumns, false);
- group.setLayout(gl);
- final GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 1;
- gd.widthHint = widthHint;
- group.setLayoutData(gd);
- }
-
- /*
- * @see
- * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
- */
- public void init(IWorkbench workbench) {
- // do nothing
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/PreferenceConstants.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/PreferenceConstants.java
deleted file mode 100644
index 2b72b86..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/PreferenceConstants.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.preferences;
-
-/**
- * Class used to define preference page constants for this plug-in.
- */
-public class PreferenceConstants {
-
- // Command line options
- public static final String GEM_PREF_FIB = "fibPreference"; //$NON-NLS-1$
- public static final String GEM_PREF_MPICALLS = "mpiCallsPreference"; //$NON-NLS-1$
- public static final String GEM_PREF_OPENMP = "openmpPreference"; //$NON-NLS-1$
- public static final String GEM_PREF_BLOCK = "blockingSendsPreference"; //$NON-NLS-1$
- public static final String GEM_PREF_REPORT = "reportPreference"; //$NON-NLS-1$
- public static final String GEM_PREF_VERBOSE = "verbosePreference"; //$NON-NLS-1$
- public static final String GEM_PREF_UNIXSOCKETS = "unixSockets"; //$NON-NLS-1$
-
- // Miscellaneous options
- public static final String GEM_PREF_PORTNUM = "portPreference"; //$NON-NLS-1$
- public static final String GEM_PREF_NUMPROCS = "numprocsPreference"; //$NON-NLS-1$
- public static final String GEM_PREF_REPORTNUM = "reportNumPreference"; //$NON-NLS-1$
- public static final String GEM_PREF_HOSTNAME = "hostName"; //$NON-NLS-1$
- public static final String GEM_PREF_CLRCON = "clearConsolePreference"; //$NON-NLS-1$
- public static final String GEM_ACTIVE_VIEW = "activeViewPreference"; //$NON-NLS-1$
- public static final String GEM_CONSOLE = "console"; //$NON-NLS-1$
- public static final String GEM_BROWSER = "browser"; //$NON-NLS-1$
- public static final String GEM_ANALYZER = "analyzer"; //$NON-NLS-1$
- public static final String GEM_PREF_REQUEST_ARGS = "requestArgs"; //$NON-NLS-1$
-
- // ISP paths, scripts and file names
- public static final String GEM_PREF_ISPEXE_PATH = "ispPath"; //$NON-NLS-1$
- public static final String GEM_PREF_ISPCC_PATH = "ispccPath"; //$NON-NLS-1$
- public static final String GEM_PREF_ISPCPP_PATH = "ispcppPath"; //$NON-NLS-1$
- public static final String GEM_PREF_HBV_PATH = "hbvPath"; //$NON-NLS-1$
-
- // Remote ISP paths, scripts and file names
- public static final String GEM_PREF_REMOTE_ISPEXE_PATH = "remoteIspPath"; //$NON-NLS-1$
- public static final String GEM_PREF_REMOTE_ISPCC_PATH = "remoteIspccPath"; //$NON-NLS-1$
- public static final String GEM_PREF_REMOTE_ISPCPP_PATH = "remoteIspcppPath"; //$NON-NLS-1$
-
- // Hidden preference for the order MPI calls are stepped
- public static final String GEM_PREF_STEP_ORDER = "stepOrderPreference"; //$NON-NLS-1$
-
- // Hidden preference for last file accessed - String representation of URI
- public static final String GEM_PREF_MOST_RECENT_FILE = "mostRecentFile"; //$NON-NLS-1$
-
- // Hidden preference for name of child processes
- public static final String GEM_PREF_PROCESS_NAME = "processName"; //$NON-NLS-1$
-
- // Hidden preference holding the previously used cmd line arguments
- public static final String GEM_PREF_ARGS = "cmdArgs"; //$NON-NLS-1$
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/PreferenceInitializer.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/PreferenceInitializer.java
deleted file mode 100644
index fdedc06..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-
-/**
- * Class used to initialize default preference values for this plug-in.
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
- /**
- * Initializes default preference values for the GEM plug-in.
- *
- * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#
- */
- @Override
- public void initializeDefaultPreferences() {
-
- // Preference store for the GEM plug-in
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
-
- // Command line options
- pstore.setDefault(PreferenceConstants.GEM_PREF_FIB, true);
- pstore.setDefault(PreferenceConstants.GEM_PREF_MPICALLS, false);
- pstore.setDefault(PreferenceConstants.GEM_PREF_OPENMP, false);
- pstore.setDefault(PreferenceConstants.GEM_PREF_BLOCK, true);
- pstore.setDefault(PreferenceConstants.GEM_PREF_REPORT, false);
- pstore.setDefault(PreferenceConstants.GEM_PREF_VERBOSE, false);
- pstore.setDefault(PreferenceConstants.GEM_PREF_UNIXSOCKETS, true);
-
- // Miscellaneous options
- pstore.setDefault(PreferenceConstants.GEM_PREF_PORTNUM, 9999);
- pstore.setDefault(PreferenceConstants.GEM_PREF_NUMPROCS, 2);
- pstore.setDefault(PreferenceConstants.GEM_PREF_REPORTNUM, 4);
- pstore.setDefault(PreferenceConstants.GEM_PREF_HOSTNAME, ""); //$NON-NLS-1$
- pstore.setDefault(PreferenceConstants.GEM_PREF_CLRCON, true);
- pstore.setDefault(PreferenceConstants.GEM_ACTIVE_VIEW, "analyzer"); //$NON-NLS-1$
-
- // ISP paths, scripts and file names
- pstore.setDefault(PreferenceConstants.GEM_PREF_ISPEXE_PATH, ""); //$NON-NLS-1$
- pstore.setDefault(PreferenceConstants.GEM_PREF_ISPCPP_PATH, ""); //$NON-NLS-1$
- pstore.setDefault(PreferenceConstants.GEM_PREF_ISPCC_PATH, ""); //$NON-NLS-1$
- pstore.setDefault(PreferenceConstants.GEM_PREF_HBV_PATH, ""); //$NON-NLS-1$
-
- // Remote ISP paths, scripts and file names
- pstore.setDefault(PreferenceConstants.GEM_PREF_REMOTE_ISPEXE_PATH, ""); //$NON-NLS-1$
- pstore.setDefault(PreferenceConstants.GEM_PREF_REMOTE_ISPCPP_PATH, ""); //$NON-NLS-1$
- pstore.setDefault(PreferenceConstants.GEM_PREF_REMOTE_ISPCC_PATH, ""); //$NON-NLS-1$
-
- // Hidden preference for the order MPI calls are stepped
- pstore.setDefault(PreferenceConstants.GEM_PREF_STEP_ORDER, "issueOrder"); //$NON-NLS-1$
-
- // Hidden preference for last file accessed - URI.toString
- pstore.setDefault(PreferenceConstants.GEM_PREF_MOST_RECENT_FILE, ""); //$NON-NLS-1$
-
- // Hidden preference for name of child processes
- pstore.setDefault(PreferenceConstants.GEM_PREF_PROCESS_NAME, ""); //$NON-NLS-1$
-
- // Preferences for command line arguments
- pstore.setDefault(PreferenceConstants.GEM_PREF_ARGS, ""); //$NON-NLS-1$
- pstore.setDefault(PreferenceConstants.GEM_PREF_REQUEST_ARGS, false);
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/CB.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/CB.java
deleted file mode 100644
index f9a2e5c..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/CB.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.util;
-
-/**
- * This class represents a CB (completes before) edge. It simply consists of a
- * rank and an index.
- */
-
-public class CB {
-
- private final int rank;
- private final int index;
-
- /**
- * Constructor
- *
- * @param rank
- * The rank for this CB.
- * @param index
- * The index for this CB.
- */
- public CB(int rank, int index) {
- this.rank = rank;
- this.index = index;
- }
-
- /**
- * Returns the index of the operation.
- *
- * @param none
- * @return int The index involved with this CB.
- */
- public int getIndex() {
- return this.index;
- }
-
- /**
- * Returns the rank of the operation.
- *
- * @param none
- * @return int The rank involved with this CB.
- */
- public int getRank() {
- return this.rank;
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/CommandThread.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/CommandThread.java
deleted file mode 100644
index 0c29288..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/CommandThread.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.util;
-
-import java.io.IOException;
-
-/**
- * This class serves to execute the specified string as a command via the
- * java.lang.Runtime instance.
- */
-public class CommandThread implements Runnable {
-
- private final String command;
-
- /**
- * Sets the command to be whatever was passed in. This thread executes the
- * specified command via the java.lang.Runtime instance.
- *
- * @param cmd
- * The new command String.
- */
- public CommandThread(String cmd) {
- this.command = cmd;
- }
-
- public void run() {
- try {
- Runtime.getRuntime().exec(this.command);
- } catch (final IOException e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/Envelope.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/Envelope.java
deleted file mode 100644
index 5029082..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/Envelope.java
+++ /dev/null
@@ -1,771 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.util;
-
-import java.util.ArrayList;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.ptp.internal.gem.messages.Messages;
-
-/**
- * This class is a representation of all possible attributes for an MPI function
- * call intercepted by the ISP Profiler.
- */
-public class Envelope {
-
- // Basic Envelope information
- private int interleaving;
- private int rank;
- private int index;
- private int orderIndex;
- private int issueIndex;
- private int linenumber;
-
- // For output
- private String functionName;
- private String filePath;
- private String toStringOutput;
-
- // For point-2-point matches.
- private int match_rank;
- private int match_index;
- private Envelope match_envelope;
-
- // For collectives, sends, and receives.
- private int communicator;
- private String communicator_ranks_string;
- private ArrayList<Integer> communicator_ranks;
- private ArrayList<Envelope> communicator_matches;
-
- // For sends / receives.
- private int src_rank;
- private int dest_rank;
- private int tag;
-
- // Intra and inter CB edges
- @SuppressWarnings("unused")
- private ArrayList<CB> intraCb;
- @SuppressWarnings("unused")
- private ArrayList<CB> interCb;
-
- // For outputting to string, determine what to output.
- private boolean communicator_set;
- private boolean src_rank_set;
- private boolean dest_rank_set;
- private boolean tag_set;
-
- // For assertions.
- private boolean assertion;
- private String assert_message;
- @SuppressWarnings("unused")
- private String assert_function;
-
- // For resource leaks.
- private boolean leak;
- private String leak_resource;
-
- // Regular expressions for parsing particular log file lines
- private static Pattern envelopeRegex = Pattern
- .compile("^([0-9]+)\\s+([0-9]+)\\s+([0-9]+)\\s+([0-9]+)\\s+([-0-9]+)\\s+([^\\s]+)(?:\\s+([^\\s]+))?(?:\\s+([^\\s]+))?(?:\\s+([^\\s]+))?\\s+\\{\\s+([^\\}]*)\\}\\s+\\{\\s+([^}]*)\\}\\s+Match:\\s+([-]?[0-9]+)\\s+([-]?[0-9]+)\\s+File:\\s+[-]?[0-9]+ (.+?) ([-]?[0-9]+)$"); //$NON-NLS-1$
- private static Pattern assertRegex = Pattern
- .compile("^([0-9]+)\\s+([0-9]+)\\s+ASSERT[ ]+Message:[ ]+[0-9]+ (.+?)Function:[ ]+[0-9]+ (.+?) File:[ ]+[0-9]+ (.+?) ([-]?[0-9]+)$"); //$NON-NLS-1$
- private static Pattern leakRegex = Pattern
- .compile("^([0-9]+)\\s+([0-9]+)\\s+Leak\\s+(.+?)\\s+\\{\\s+\\}\\s+\\{\\s+\\}\\s+Match:\\s+-1\\s+-1\\sFile:[ ]+[0-9]+ (.+?) ([-]?[0-9]+)$"); //$NON-NLS-1$
- private static Pattern communicatorRegex = Pattern.compile("^([0-9]+)_(?:([0-9]+):)*$"); //$NON-NLS-1$
- private static Pattern interCbRegex = Pattern.compile("^(?:\\[\\s+([0-9]+)\\s+([0-9]+)\\s+\\]\\s+)*$"); //$NON-NLS-1$
- private static Pattern intraCbRegex = Pattern.compile("^([0-9]+\\s+)*$"); //$NON-NLS-1$
-
- /**
- * Returns true if the specified String is null or empty, false otherwise.
- *
- * @param value
- * The String that is being checked.
- * @return boolean True if the specified String is null or empty, false
- * otherwise.
- */
- private static boolean isNullOrEmpty(String value) {
- if (value == null || value == "") { //$NON-NLS-1$
- return true;
- }
- return false;
- }
-
- /**
- * Using regular expressions, this method parses the input line an attempts
- * to create an envelope, or returns null if there was a parse error,
- * meaning the line couldn't be matched and an Envelope was not created.
- *
- * @param line
- * The log file line to parse with regular expressions.
- * @return Envelope The Envelope, or null if no Envelope is created.
- */
- public static Envelope parse(String line) {
- final Matcher envelopeMatch = envelopeRegex.matcher(line);
-
- // This means we have a leak, an assert or an IB
- if (!envelopeMatch.matches()) {
- final Matcher assertMatch = assertRegex.matcher(line);
- if (assertMatch.matches()) {
- final Envelope env = new Envelope();
- env.assertion = true;
- env.issueIndex = -1;
- env.orderIndex = Integer.MAX_VALUE;
- env.index = Integer.MAX_VALUE;
- env.match_index = -1;
- env.match_rank = -1;
- env.functionName = "MPI_assert"; //$NON-NLS-1$
- try {
- env.interleaving = Integer.parseInt(assertMatch.group(1));
- } catch (final NumberFormatException e) {
- env.interleaving = -1;
- }
- try {
- env.rank = Integer.parseInt(assertMatch.group(2));
- } catch (final NumberFormatException e) {
- env.rank = -1;
- }
- env.assert_message = assertMatch.group(3);
- env.assert_function = assertMatch.group(4);
- env.filePath = assertMatch.group(5);
- try {
- env.linenumber = Integer.parseInt(assertMatch.group(6));
- } catch (final NumberFormatException e) {
- env.linenumber = -1;
- }
- return env;
- }
-
- // Look for resource leaks
- final Matcher leakMatch = leakRegex.matcher(line);
- if (leakMatch.matches()) {
- final Envelope env = new Envelope();
- env.leak = true;
- env.issueIndex = -1;
- env.orderIndex = Integer.MAX_VALUE;
- env.index = Integer.MAX_VALUE;
- env.match_index = -1;
- env.match_rank = -1;
- env.functionName = "leak"; //$NON-NLS-1$
- try {
- env.interleaving = Integer.parseInt(leakMatch.group(1));
- } catch (final NumberFormatException e) {
- env.interleaving = -1;
- }
- try {
- env.rank = Integer.parseInt(leakMatch.group(2));
- } catch (final NumberFormatException e) {
- env.rank = -1;
- }
- env.leak_resource = leakMatch.group(3);
- env.filePath = leakMatch.group(4);
- try {
- env.linenumber = Integer.parseInt(leakMatch.group(5));
- } catch (final NumberFormatException e) {
- env.linenumber = -1;
- }
- return env;
- }
-
- return null;
- }
-
- // We know we have an real Envelope by now
- final Envelope env = new Envelope();
- for (int i = 1; i <= envelopeMatch.groupCount(); i++) {
- final String value = envelopeMatch.group(i);
-
- switch (i) {
- case 1: {
- env.interleaving = Integer.parseInt(value);
- break;
- }
- case 2: {
- env.rank = Integer.parseInt(value);
- break;
- }
- case 3: {
- env.index = Integer.parseInt(value);
- break;
- }
- case 4: {
- env.orderIndex = Integer.parseInt(value);
- break;
- }
- case 5: {
- env.issueIndex = Integer.parseInt(value);
- break;
- }
- case 6: {
- env.functionName = "MPI_" + value; //$NON-NLS-1$
- break;
- }
- case 7: {
-
- // If communicator, only first filled in.
- if (!isNullOrEmpty(value) && isNullOrEmpty(envelopeMatch.group(i + 1)) && isNullOrEmpty(envelopeMatch.group(i + 2))) {
- parseCommunicator(env, value);
- env.tag = 0;
- env.tag_set = false;
- env.src_rank = 0;
- env.src_rank_set = false;
- env.dest_rank = 0;
- env.dest_rank_set = false;
- }
-
- // If all three tokens are present, then it's a send or receive.
- else if (!isNullOrEmpty(value) && !isNullOrEmpty(envelopeMatch.group(i + 1))
- && !isNullOrEmpty(envelopeMatch.group(i + 2))) {
- if (env.functionName.toLowerCase().contains("recv") || env.functionName.toLowerCase().contains("probe")) { //$NON-NLS-1$ //$NON-NLS-2$
- env.src_rank = Integer.parseInt(value);
- env.src_rank_set = true;
- env.dest_rank = 0;
- env.dest_rank_set = false;
- } else {
- env.src_rank = 0;
- env.src_rank_set = false;
- env.dest_rank = Integer.parseInt(value);
- env.dest_rank_set = true;
- }
- env.tag = Integer.parseInt(envelopeMatch.group(i + 1));
- env.tag_set = true;
- parseCommunicator(env, envelopeMatch.group(i + 2));
- }
-
- // Otherwise, a Wait, Test, or Finalize.
- else {
- env.src_rank = 0;
- env.src_rank_set = false;
- env.dest_rank = 0;
- env.dest_rank_set = false;
- env.tag = 0;
- env.tag_set = false;
- env.communicator = 0;
- env.communicator_set = false;
- }
- break;
- }
- case 10: {
-
- // IntraCBs
- final ArrayList<CB> intraCb = new ArrayList<CB>();
- final Matcher intraCbMatch = intraCbRegex.matcher(value);
- if (intraCbMatch.matches()) {
-
- // This puts a single integer into each match group.
- final Pattern pattern = Pattern.compile("([0-9]+\\s+)"); //$NON-NLS-1$
- final Matcher matcher = pattern.matcher(value);
-
- String index = ""; //$NON-NLS-1$
- while (matcher.find()) {
- index = matcher.group().trim();
- if (!isNullOrEmpty(index)) {
- intraCb.add(new CB(env.rank, Integer.parseInt(index)));
- }
- }
- }
- env.intraCb = intraCb;
- break;
- }
- case 11: {
-
- // InterCBs
- final ArrayList<CB> interCb = new ArrayList<CB>();
- final Matcher interCbMatcher = interCbRegex.matcher(value);
-
- // Make sure we're starting with the right thing
- if (interCbMatcher.matches()) {
-
- // This will put a single integer into each match group
- final Pattern pattern = Pattern.compile("[\\s+([0-9])+\\s+[0-9]+)\\s+]\\s+"); //$NON-NLS-1$
- final Matcher matcher = pattern.matcher(value);
-
- String rank = ""; //$NON-NLS-1$
- String index = ""; //$NON-NLS-1$
- while (matcher.find()) {
- rank = matcher.group().trim();
- if (matcher.find()) {
- index = matcher.group().trim();
- }
- if (!isNullOrEmpty(rank) && !isNullOrEmpty(index)) {
- interCb.add(new CB(Integer.parseInt(rank), Integer.parseInt(index)));
- }
- }
- env.interCb = interCb;
- break;
- }
- break;
- }
- case 12: {
- env.match_rank = Integer.parseInt(value);
- break;
- }
- case 13: {
- env.match_index = Integer.parseInt(value);
- break;
- }
- case 14: {
- env.filePath = value;
- break;
- }
- case 15: {
- env.linenumber = Integer.parseInt(value);
- break;
- }
- default:
- break;
- }
- }
- return env;
- }
-
- /**
- * Parses out the ranks that are members of the communicator matched with
- * the communicator regular expression.
- *
- * @param env
- * The Envelope being updated.
- * @param value
- * The String holding the ranks that need to be parsed.
- * @return void
- */
- private static void parseCommunicator(Envelope env, String value) {
- if (value == null) {
- GemUtilities.showErrorDialog(Messages.Envelope_0);
- return;
- }
-
- final Matcher communicatorMatch = communicatorRegex.matcher(value);
- if (!communicatorMatch.matches() || communicatorMatch.groupCount() == 1) {
- env.communicator_set = false;
- env.communicator = -1;
- } else {
- env.communicator_set = true;
- env.communicator = Integer.parseInt(communicatorMatch.group(1));
- env.communicator_ranks_string = value.trim();
-
- final Pattern pattern = Pattern.compile("([0-9]+):"); //$NON-NLS-1$
- final Matcher matcher = pattern.matcher(value);
-
- env.communicator_ranks = new ArrayList<Integer>();
- while (matcher.find()) {
- final String commMemberRank = matcher.group().trim().replace(":", ""); //$NON-NLS-1$ //$NON-NLS-2$
- if (!isNullOrEmpty(commMemberRank)) {
- env.communicator_ranks.add(Integer.parseInt(commMemberRank));
- }
- }
- }
- }
-
- /*
- * Should only be called by the parse function.
- */
- private Envelope() {
- }
-
- /**
- * Adds the specified Envelope to the list of collective matches.
- *
- * @param envelope
- * The Envelope to add.
- * @return void
- */
- public void addCollectiveMatch(Envelope envelope) {
- if (this.communicator_matches == null) {
- this.communicator_matches = new ArrayList<Envelope>();
- }
- this.communicator_matches.add(envelope);
-
- if (envelope.communicator_matches == null) {
- envelope.communicator_matches = new ArrayList<Envelope>();
- }
- envelope.communicator_matches.add(this);
- }
-
- public boolean equals(Envelope otherEnvelope) {
- return this.getIndex() == otherEnvelope.getIndex() &&
- this.getInterleaving() == otherEnvelope.getInterleaving();
- }
-
- /**
- * Returns an ArrayList of Envelopes holding each envelope that matches with
- * this Envelope.
- *
- * @param none
- * @return ArrayList<Envelope> List of matching Envelopes.
- */
- public ArrayList<Envelope> getCommunicator_matches() {
- return this.communicator_matches;
- }
-
- /**
- * Returns the list of communicator ranks for this Envelope.
- *
- * @param none
- * @return ArrayList<Integer> The list of communicator ranks for this
- * Envelope.
- */
- public ArrayList<Integer> getCommunicator_ranks() {
- return this.communicator_ranks;
- }
-
- /**
- * Returns the String that holds the Communicator ranks involved with this
- * Envelope.
- *
- * @param none
- * @return String The Communicator ranks involved with this Envelope.
- */
- public String getCommunicator_ranks_string() {
- return this.communicator_ranks_string;
- }
-
- /**
- * Returns the file path information for this Envelope.
- *
- * @param none
- * @return String The file path information for this Envelope.
- */
- public String getFilePath() {
- return this.filePath;
- }
-
- /**
- * Returns the function name for this Envelope.
- *
- * @param none
- * @return String The function name for this Envelope.
- */
- public String getFunctionName() {
- return this.functionName;
- }
-
- /**
- * Returns the index for this Envelope.
- *
- * @param none
- * @return int The index for this Envelope.
- */
- public int getIndex() {
- return this.index;
- }
-
- /**
- * Returns the interleaving for this Envelope.
- *
- * @param none
- * @return int The interleaving for this Envelope.
- */
- public int getInterleaving() {
- return this.interleaving;
- }
-
- /**
- * Returns the issue order for this Envelope.
- *
- * @param none
- * @return int The issue order for this Envelope.
- */
- public int getIssueIndex() {
- return this.issueIndex;
- }
-
- /**
- * Returns the resource leak for this Envelope.
- *
- * @param none
- * @return String The resource leak for this Envelope.
- */
- public String getLeakResource() {
- return this.leak_resource;
- }
-
- /**
- * Returns the line number in the source file for this Envelope.
- *
- * @param none
- * @return int The line number in the source file for this Envelope.
- */
- public int getLinenumber() {
- return this.linenumber;
- }
-
- /**
- * Returns the match Envelope for this Envelope.
- *
- * @param none
- * @return Envelope The match Envelope for this Envelope.
- */
- public Envelope getMatch_envelope() {
- return this.match_envelope;
- }
-
- /**
- * Returns the match rank index for this Envelope.
- *
- * @param none
- * @return int The match rank index for this Envelope.
- */
- public int getMatch_index() {
- return this.match_index;
- }
-
- /**
- * Returns the match rank for this Envelope.
- *
- * @param none
- * @return int The match rank for this Envelope.
- */
- public int getMatch_rank() {
- return this.match_rank;
- }
-
- /**
- * Returns the program order for this Envelope.
- *
- * @param none
- * @return int The program order for this Envelope.
- */
- public int getOrderIndex() {
- return this.orderIndex;
- }
-
- /**
- * Returns the rank for this Envelope.
- *
- * @param none
- * @return int The rank for this Envelope.
- */
- public int getRank() {
- return this.rank;
- }
-
- /**
- * Returns the rank of the source process that sent the call.
- *
- * @param none
- * @return int The rank of the source call.
- */
- public int getSrc_rank() {
- return this.src_rank;
- }
-
- /**
- * Returns a boolean representing whether or not this envelope represents an
- * assertion.
- *
- * @param none
- * @return boolean True if this Envelope represents an assertion violation,
- * false otherwise.
- */
- public boolean isAssertion() {
- return this.assertion;
- }
-
- /**
- * Returns true if the call is a collective, false otherwise.
- *
- * @param none
- * @return boolean True if the call is a collective, false otherwise.
- */
- public boolean isCollective() {
- final String MPICall = this.getFunctionName();
-
- if (MPICall.equals("MPI_Barrier") || MPICall.equals("MPI_Gather") //$NON-NLS-1$ //$NON-NLS-2$
- || MPICall.equalsIgnoreCase("MPI_Comm_create") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_gather") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_gatherv") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Allgather") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Allgatherv") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Reduce") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Allreduce") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Alltoall") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Alltoallv") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Scatter") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Scatterv") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Finalize") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Reduce_scatter") //$NON-NLS-1$
- || MPICall.equalsIgnoreCase("MPI_Bcast") || MPICall.equals("MPI_Scan")) { //$NON-NLS-1$ //$NON-NLS-2$
- return true;
- }
- return false;
- }
-
- /**
- * Returns a boolean representing whether or not the Communicator is set.
- *
- * @param none
- * @return boolean True if the communicator this Envelope is in is set,
- * false otherwise.
- */
- public boolean isCommunicator_set() {
- return this.communicator_set;
- }
-
- /**
- * Returns a boolean representing whether or not this envelope is the source
- * of a leak.
- *
- * @param none
- * @return boolean True if this Envelope represents a resource leak, false
- * otherwise.
- */
- public boolean isLeak() {
- return this.leak;
- }
-
- /**
- * Returns whether or not the source rank for this Envelope is set.
- *
- * @param none
- * @return boolean True if the source rank for this Envelope is set, false
- * otherwise.
- */
- public boolean isSrc_rank_set() {
- return this.src_rank_set;
- }
-
- /**
- * Pairs the specified envelope with its match.
- *
- * @param envelope
- * The Envelope to match.
- * @return void
- */
- public void pairWithEnvelope(Envelope envelope) {
- this.match_envelope = envelope;
- envelope.match_envelope = this;
- }
-
- /**
- * Returns the interleaving for this Envelope.
- *
- * @param interleaving
- * The interleaving for this Envelope.
- * @return void
- */
- public void setInterleaving(int interleaving) {
- this.interleaving = interleaving;
- }
-
- /**
- * Sets the issue index for this Envelope.
- *
- * @param value
- * The issue index for this Envelope.
- * @return void
- */
- public void setIssueIndex(int value) {
- this.issueIndex = value;
- }
-
- /**
- * Returns the String representation of this Envelope.
- *
- * @param none
- * @return String The String representation of this Envelope.
- */
- @Override
- public String toString() {
- if (this.toStringOutput != null) {
- return this.toStringOutput;
- }
-
- if (this.assertion) {
- final Pattern assertPattern = Pattern.compile("^Assertion `(.+?)' failed.$"); //$NON-NLS-1$
- final Matcher m = assertPattern.matcher(this.assert_message);
- if (m.matches()) {
- this.toStringOutput = String.format("{0}({1})", this.functionName, m //$NON-NLS-1$
- .group(1));
- } else {
- this.toStringOutput = String.format("{0}({1})", this.functionName, //$NON-NLS-1$
- this.assert_message);
- }
- return this.toStringOutput;
- }
-
- boolean first = true;
- final StringBuilder sb = new StringBuilder();
- sb.append("{0}(" + this.functionName + " "); //$NON-NLS-1$ //$NON-NLS-2$
-
- if (this.src_rank_set) {
- if (!first) {
- sb.append(", "); //$NON-NLS-1$
- } else {
- first = false;
- }
- if (this.src_rank == -1) {
- sb.append("source = MPI_ANY_SOURCE"); //$NON-NLS-1$
- } else {
- sb.append(String.format("source = {0}", this.src_rank)); //$NON-NLS-1$
- }
- }
-
- if (this.dest_rank_set) {
- if (!first) {
- sb.append(", "); //$NON-NLS-1$
- } else {
- first = false;
- }
- sb.append(String.format("dest = {0}", this.dest_rank)); //$NON-NLS-1$
- }
-
- if (this.tag_set) {
- if (!first) {
- sb.append(", "); //$NON-NLS-1$
- } else {
- first = false;
- }
- if (this.tag == -1) {
- sb.append("tag = MPI_ANY_TAG"); //$NON-NLS-1$
- } else {
- sb.append(String.format("tag = {0}", this.tag)); //$NON-NLS-1$
- }
- }
-
- if (this.communicator_set) {
- if (!first) {
- sb.append(", "); //$NON-NLS-1$
- } else {
- first = false;
- }
- switch (this.communicator) {
- case 0: {
- sb.append("comm = MPI_COMM_WORLD"); //$NON-NLS-1$
- break;
- }
- case 1: {
- sb.append("comm = MPI_COMM_SELF"); //$NON-NLS-1$
- break;
- }
- case 2: {
- sb.append("comm = MPI_COMM_NULL"); //$NON-NLS-1$
- break;
- }
- default: {
- sb.append(String.format("comm = {0}", this.communicator)); //$NON-NLS-1$
- break;
- }
- }
- }
- sb.append(")"); //$NON-NLS-1$
- this.toStringOutput = sb.toString();
-
- return this.toStringOutput;
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/GemUtilities.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/GemUtilities.java
deleted file mode 100644
index 25d246c..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/GemUtilities.java
+++ /dev/null
@@ -1,1366 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.util;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.ServerSocket;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.text.ParseException;
-import java.util.Scanner;
-import java.util.StringTokenizer;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.swing.JOptionPane;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.ptp.internal.gem.preferences.PreferenceConstants;
-import org.eclipse.ptp.internal.gem.views.GemAnalyzer;
-import org.eclipse.ptp.internal.gem.views.GemBrowser;
-import org.eclipse.ptp.internal.gem.views.GemConsole;
-import org.eclipse.ptp.rdt.sync.core.SyncConfigManager;
-import org.eclipse.ptp.rdt.sync.core.SyncFlag;
-import org.eclipse.ptp.rdt.sync.core.SyncManager;
-import org.eclipse.ptp.rdt.sync.core.resources.RemoteSyncNature;
-import org.eclipse.remote.core.IRemoteConnection;
-import org.eclipse.remote.core.IRemoteConnectionType;
-import org.eclipse.remote.core.IRemoteFileService;
-import org.eclipse.remote.core.IRemoteProcess;
-import org.eclipse.remote.core.IRemoteProcessBuilder;
-import org.eclipse.remote.core.IRemoteProcessService;
-import org.eclipse.remote.core.IRemoteServicesManager;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-@SuppressWarnings("restriction")
-public class GemUtilities {
-
- public static enum TaskStatus {
- IDLE,
- ACTIVE,
- ABORTED;
- }
-
- private static Process process;
- private static IRemoteProcess remoteProcess;
- private static GemAnalyzer analyzer;
- private static GemBrowser browser;
- private static GemConsole console;
- protected static TaskStatus taskStatus;
- private static boolean doCompile;
- private static boolean doVerify;
- private static String consoleStdOutMessage;
- private static String consoleStdErrMessage;
- private static IFile gemActiveResource;
- private static IFile gemLogFile;
-
- // This thread exists to update SWT components belonging to the UI thread.
- private final static Thread updateGemConsoleThread = new Thread() {
- @Override
- public void run() {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- GemConsole gemConsole = null;
- IViewPart gemViewPart = null;
-
- try {
- page.showView(GemConsole.ID);
- gemViewPart = page.findView(GemConsole.ID);
- gemConsole = (GemConsole) gemViewPart;
- gemConsole.writeStdOut(consoleStdOutMessage);
- gemConsole.writeStdErr(consoleStdErrMessage);
- } catch (final Exception e) {
- logExceptionDetail(e);
- }
- }
- };
-
- /**
- * Casts or adapts the specified IResource to IFile.
- *
- * @param resource
- * The resource to cast or adapt to IFile
- * @return IFile The cast or adapted IResource
- */
- public static IFile adaptResource(IResource resource) {
- if (resource instanceof IFile) {
- return (IFile) resource;
- }
- return (IFile) resource.getAdapter(IFile.class);
- }
-
- /*
- * Used to cancel the current GEM analysis without killing any processes.
- */
- private static void cancelAnalysis() {
- analyzer.clear();
- browser.clear();
- console.cancel();
- taskStatus = TaskStatus.IDLE;
- }
-
- // Creates the GEM folder for the log file
- private static void createGemFolder(final boolean isRemote, final IFolder gemFolder) {
- try {
- gemFolder.create(IResource.FORCE, true, null);
- } catch (final CoreException e) {
- logExceptionDetail(e);
- }
- if (isRemote) {
- sync();
- }
- }
-
- /**
- * Runs the Happens Before Viewer on the log file associated with the
- * specified input source file.
- *
- * @param inputFile
- * The resource handle representing the GEM input file.
- * @return void
- */
- public static void doHbv(IFile inputFile) {
-
- // Create our GEM directory to hold the generated log and executable
- final String projectName = inputFile.getProject().getName();
- final IProject currentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-
- // Build up command line String
- final String relativeLogFilePath = getLogfilePath(inputFile);
- final IFile logFile = currentProject.getFile(new Path(relativeLogFilePath));
- refreshProject(currentProject);
-
- if (!logFile.exists()) {
- showInformationDialog(Messages.GemUtilities_2);
- if (doIspcc(inputFile) != -1) {
- doIsp(inputFile);
- }
- }
-
- final IFolder gemFolder = currentProject.getFolder(new Path("gem")); //$NON-NLS-1$
- IPath fullLogFilePath = new Path(gemFolder.getLocationURI().getPath());
- fullLogFilePath = fullLogFilePath.append(currentProject.getName()).removeFileExtension().addFileExtension("gem.log"); //$NON-NLS-1$
-
- // Get the ispui.jar path from the preference store
- final String hbvPath = GemPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.GEM_PREF_HBV_PATH);
- final StringBuffer stringBuffer = new StringBuffer();
- stringBuffer.append(hbvPath);
- stringBuffer.append(hbvPath == "" ? "" : "/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- stringBuffer.append("ispUI "); //$NON-NLS-1$
- stringBuffer.append(fullLogFilePath);
- final String hbvCommand = stringBuffer.toString();
- runCommandAsThread(hbvCommand);
- }
-
- /**
- * Runs ISP on the specified, profiled executable.
- *
- * @param resource
- * The resource representing the profiled executable.
- * @return void
- */
- public static void doIsp(IResource resource) {
-
- // Get all the current preferences
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- final boolean isRemote = (isRemoteProject(resource) || (isSynchronizedProject(resource) && isRemoteBuildConfiguration()));
-
- // Create GEM directory to hold the generated log file and executable
- final IProject currentProject = resource.getProject();
- gemLogFile = currentProject.getFile(getLogfilePath(resource));
- final IFolder gemFolder = currentProject.getFolder(new Path("gem")); //$NON-NLS-1$
-
- // Build up the command line String
- // Also generate the path for the log file to be created by ISP
- IPath executablePath = null;
- String resourceLocation = null;
- String logFileLocation = null;
- if (resource.getFileExtension().equals("gem")) { //$NON-NLS-1$
- if (isSynchronizedProject(resource)) {
- try {
- resourceLocation = SyncConfigManager.getActiveSyncLocationURI(resource).getPath();
- logFileLocation = SyncConfigManager.getActiveSyncLocationURI(gemFolder).getPath();
- } catch (final CoreException e) {
- logExceptionDetail(e);
- }
- executablePath = new Path(resourceLocation);
- } else {
- resourceLocation = resource.getLocationURI().getPath();
- executablePath = new Path(resourceLocation);
- logFileLocation = gemFolder.getLocationURI().getPath();
- }
- } else {
- logFileLocation = gemFolder.getLocationURI().getPath();
- executablePath = new Path(gemFolder.getLocationURI().getPath());
- executablePath = executablePath.append(currentProject.getName()).removeFileExtension().addFileExtension("gem"); //$NON-NLS-1$
- }
-
- IPath logFilePath = new Path(logFileLocation);
- logFilePath = logFilePath.append(currentProject.getName()).removeFileExtension().addFileExtension("gem.log"); //$NON-NLS-1$
-
- final int numprocs = pstore.getInt(PreferenceConstants.GEM_PREF_NUMPROCS);
- int portnum = pstore.getInt(PreferenceConstants.GEM_PREF_PORTNUM);
- final int reportnum = pstore.getInt(PreferenceConstants.GEM_PREF_REPORTNUM);
- final boolean fibPreference = pstore.getBoolean(PreferenceConstants.GEM_PREF_FIB);
- final boolean mpiCallsPreference = pstore.getBoolean(PreferenceConstants.GEM_PREF_MPICALLS);
- final boolean openmpPreference = pstore.getBoolean(PreferenceConstants.GEM_PREF_OPENMP);
- final boolean blockingSendsPreference = pstore.getBoolean(PreferenceConstants.GEM_PREF_BLOCK);
- final boolean reportPreference = pstore.getBoolean(PreferenceConstants.GEM_PREF_REPORT);
- final boolean unixSocketsPreference = pstore.getBoolean(PreferenceConstants.GEM_PREF_UNIXSOCKETS);
- final boolean verbosePreference = pstore.getBoolean(PreferenceConstants.GEM_PREF_VERBOSE);
- final String hostName = pstore.getString(PreferenceConstants.GEM_PREF_HOSTNAME);
-
- // Check for sync project
- String ispExePath = pstore.getString(isRemote ? PreferenceConstants.GEM_PREF_REMOTE_ISPEXE_PATH
- : PreferenceConstants.GEM_PREF_ISPEXE_PATH);
- ispExePath += (ispExePath == "") ? "" : "/"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- final String cmdArgs = pstore.getString(PreferenceConstants.GEM_PREF_ARGS);
-
- // Find an available port to use
- boolean available = isPortAvailable(portnum);
- while (!available) {
-
- // keep ports <= 1024 available to the system
- if (portnum < 1025) {
- portnum = 9999;
- }
- portnum--;
- available = isPortAvailable(portnum);
- }
-
- // Reset the default port on local machine
- pstore.setValue(PreferenceConstants.GEM_PREF_PORTNUM, portnum);
-
- // Build up command line String
- final StringBuffer stringBuffer = new StringBuffer();
- stringBuffer.append(ispExePath);
- stringBuffer.append("isp -n "); //$NON-NLS-1$
- stringBuffer.append(numprocs);
- stringBuffer.append(" -p "); //$NON-NLS-1$
- stringBuffer.append(portnum);
- stringBuffer.append(" "); //$NON-NLS-1$
- stringBuffer.append((blockingSendsPreference) ? "-b " : ""); //$NON-NLS-1$ //$NON-NLS-2$
- stringBuffer.append((mpiCallsPreference) ? "-m " : ""); //$NON-NLS-1$ //$NON-NLS-2$
- stringBuffer.append((unixSocketsPreference) ? "-x " : ""); //$NON-NLS-1$ //$NON-NLS-2$
- stringBuffer.append((!hostName.trim().equals("")) ? "-h " : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- stringBuffer.append((!hostName.trim().equals("")) ? hostName + " " : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- stringBuffer.append((verbosePreference) ? "-O " : ""); //$NON-NLS-1$ //$NON-NLS-2$
- stringBuffer.append((openmpPreference) ? "-s " : ""); //$NON-NLS-1$ //$NON-NLS-2$
- stringBuffer.append((reportPreference) ? "-r " : ""); //$NON-NLS-1$ //$NON-NLS-2$
- stringBuffer.append((reportPreference) ? reportnum + " " : ""); //$NON-NLS-1$ //$NON-NLS-2$
- stringBuffer.append((fibPreference) ? "-f " : ""); //$NON-NLS-1$ //$NON-NLS-2$
- stringBuffer.append("-l "); //$NON-NLS-1$
- stringBuffer.append(logFilePath);
- stringBuffer.append(" "); //$NON-NLS-1$
- stringBuffer.append(executablePath);
- stringBuffer.append(" "); //$NON-NLS-1$
- stringBuffer.append(cmdArgs);
- // Now add command line options
- final String ispCmd = stringBuffer.toString();
-
- // Store the name of the child processes ISP will create
- final String processName = executablePath.lastSegment();
- pstore.setValue(PreferenceConstants.GEM_PREF_PROCESS_NAME, processName);
-
- // Now run ISP
- runCommand(ispCmd, true);
-
- // Trigger a sync if the project is synchronized with remote build configuration
- if (isRemote) {
- sync();
- }
-
- // Sync the project with the underlying file system
- refreshProject(currentProject);
- }
-
- /**
- * Compiles the specified file with ispcc (mpicc wrapper), which links
- * against the profiler (interposition layer) library.
- *
- * @param resource
- * The resource to compile.
- * @return int Returns 1 if everything went smoothly, -1 otherwise.
- */
- public static int doIspcc(IResource resource) {
- // Create GEM folder to hold the generated log file and executable
- final IProject currentProject = resource.getProject();
- final IFolder gemFolder = currentProject.getFolder(new Path("gem")); //$NON-NLS-1$
- final boolean isRemote = (isRemoteProject(resource) || (isSynchronizedProject(resource) && isRemoteBuildConfiguration()));
- if (!gemFolder.exists()) {
- createGemFolder(isRemote, gemFolder);
- refreshProject(currentProject);
- }
-
- // Build up command line String
- IPath executablePath = new Path(gemFolder.getLocationURI().getPath());
- executablePath = executablePath.append(currentProject.getName()).addFileExtension("gem"); //$NON-NLS-1$
-
- // Determine if we need C or C++ ISP compile
- final String fileExtension = resource.getFileExtension();
- int exitValue = 0;
- final StringBuffer stringBuffer = new StringBuffer();
-
- // Deal with C compile
- if (fileExtension.equals("c")) { //$NON-NLS-1$
- final String ispccPath = GemPlugin
- .getDefault()
- .getPreferenceStore()
- .getString(
- (isRemoteProject(resource) ? PreferenceConstants.GEM_PREF_REMOTE_ISPCC_PATH
- : PreferenceConstants.GEM_PREF_ISPCC_PATH));
- stringBuffer.append(ispccPath);
- stringBuffer.append(ispccPath == "" ? "" : "/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- stringBuffer.append("ispcc -o "); //$NON-NLS-1$
- stringBuffer.append(executablePath);
- stringBuffer.append(" "); //$NON-NLS-1$
- stringBuffer.append(resource.getLocationURI().getPath());
- final String ispccStr = stringBuffer.toString();
- exitValue = runCommand(ispccStr, true);
- } else { // Deal with C++ compile
- final String ispCppPath = GemPlugin.getDefault().getPreferenceStore()
- .getString(
- (isRemoteProject(resource) ? PreferenceConstants.GEM_PREF_REMOTE_ISPCPP_PATH
- : PreferenceConstants.GEM_PREF_ISPCPP_PATH));
- stringBuffer.append(ispCppPath);
- stringBuffer.append((ispCppPath == "") ? "" : "/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- stringBuffer.append("ispCC -o "); //$NON-NLS-1$
- stringBuffer.append(executablePath);
- stringBuffer.append(" "); //$NON-NLS-1$
- stringBuffer.append(resource.getLocationURI().getPath());
- final String ispCppStr = stringBuffer.toString();
- exitValue = runCommand(ispCppStr, true);
- }
-
- return exitValue;
- }
-
- /**
- * Creates a log file from the specified resource.
- *
- * @param resource
- * The resource to process.
- * @param compile
- * Whether or not to run ispcc script.
- * @param verify
- * Whether or not to run ISP on the profiled executable.
- * @return void
- */
- public static int generateLogFile(IResource resource, boolean compile, boolean verify) {
-
- int exitStatus = 0;
- if (compile && taskStatus != TaskStatus.ABORTED) {
- exitStatus = doIspcc(resource);
- if (exitStatus != -1 && taskStatus != TaskStatus.ABORTED) {
- doIsp(resource);
- }
- } else if (verify && taskStatus != TaskStatus.ABORTED) {
- doIsp(resource);
- }
-
- return exitStatus;
- }
-
- /**
- * Returns the current project being verified.
- *
- * @param none
- * @return The current project being verified.
- */
- public static IProject getCurrentProject() {
- return gemActiveResource.getProject();
- }
-
- /**
- * Returns the current project being verified.
- *
- * @param resource
- * The active resource from the current project.
- * @return The current project being verified.
- */
- public static IProject getCurrentProject(IResource resource) {
- return resource.getProject();
- }
-
- /**
- * Returns a string representing the version of ISP being used.
- *
- * @param none
- * @return String The captured String from stdout representing the version of ISP
- * installed on the target machine.
- */
- public static String getIspVersion() {
- // Get the location of ISP
- final boolean useRemoteISP = (isRemoteProject(gemActiveResource) || (isSynchronizedProject(gemActiveResource) && isRemoteBuildConfiguration()));
- String ispExePath = GemPlugin
- .getDefault()
- .getPreferenceStore()
- .getString(
- useRemoteISP ? PreferenceConstants.GEM_PREF_REMOTE_ISPEXE_PATH : PreferenceConstants.GEM_PREF_ISPEXE_PATH);
-
- // Run isp -v to get version number
- ispExePath += (ispExePath == "") ? "" : "/"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- final String ispExeCommand = ispExePath + "isp -v"; //$NON-NLS-1$
-
- // Abort if ISP is not installed
- if (runCommand(ispExeCommand, false) == -1) {
- return null;
- }
-
- // Parse first line of STDOUT from GEM Console if no errors, e.g. bad path
- if (consoleStdOutMessage.contains("In-Situ Partial Order")) { //$NON-NLS-1$
- final Scanner scanner = new Scanner(consoleStdOutMessage);
- final String version = scanner.nextLine();
- scanner.close();
- final Pattern intraCbRegex = Pattern.compile("([0-9]+.[0-9]+.[0-9]+)$"); //$NON-NLS-1$
- final Matcher versionMatcher = intraCbRegex.matcher(version);
- if (versionMatcher.find()) {
- return versionMatcher.group(1);
- }
- }
-
- return null;
- }
-
- /**
- * Returns a String representation of the path to the log file that will be
- * generated. This path will be relative to the gem directory (as the base).
- *
- * e.g. gem/project-name.gem.log
- *
- * @param inputFile
- * The resource handle to get the project location from.
- * @return String The relative path of the log file to be generated.
- */
- public static String getLogfilePath(IResource resource) {
- // Create GEM folder to hold the generated log file and executable
- final String projectName = resource.getProject().getName();
- final IProject currentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- final IPath gemFolderPath = new Path("gem"); //$NON-NLS-1$
- final IFolder gemFolder = currentProject.getFolder(gemFolderPath);
-
- final boolean isRemote = (isRemoteProject(resource) || (isSynchronizedProject(resource) && isRemoteBuildConfiguration()));
- if (!gemFolder.exists()) {
- createGemFolder(isRemote, gemFolder);
- refreshProject(currentProject);
- }
-
- // Build up the correct project relative path for the log file
- IPath logFilePath = gemFolderPath.append(currentProject.getName()).removeFileExtension();
- logFilePath = logFilePath.addFileExtension("gem.log"); //$NON-NLS-1$
-
- return logFilePath.toString();
- }
-
- /**
- * Returns the path of the last used file relative to the workspace from the
- * PreferenceStore of this plug-in. This will be a String representation of
- * the URI for the most recent file accessed by this plug-in.
- *
- * @param none
- * @return String A String representation of the URI for the most recently
- * accessed file.
- */
- public static URI getMostRecentURI() {
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- URI location = null;
- try {
- location = new URI(pstore.getString(PreferenceConstants.GEM_PREF_MOST_RECENT_FILE));
- } catch (final URISyntaxException e) {
- logExceptionDetail(e);
- }
- return location;
- }
-
- /**
- * Returns the generated log file for the current project being verified.
- *
- * @param none
- * @return IFile The log file for the current project being verified.
- */
- public static IFile getProjectLogFile() {
- return gemLogFile;
- }
-
- /**
- * Returns the IRemoteFileManager for the specified project resource.
- *
- * @param projectResource
- * The IResource object to get the IRemoteFileManager for.
- * @return IRemoteFileManager The IRemoteFileManager for the specified
- * project resource.
- */
- public static IRemoteFileService getRemoteFileManager(IFile projectResource) {
- final URI projectURI = projectResource.getProject().getLocationURI();
- final IRemoteServicesManager servicesManager = GemPlugin.getService(IRemoteServicesManager.class);
- final IRemoteConnectionType connType = servicesManager.getConnectionType(projectURI);
- if (connType != null) {
- final IRemoteConnection connection = connType.getConnection(projectURI);
- if (connection != null) {
- return connection.getService(IRemoteFileService.class);
- }
- }
- return null;
- }
-
- /**
- * Returns the RemoteProcessBuilder associated with the connection
- * used by the specified remote project.
- *
- * @param currentProject
- * The project for which we need the connection.
- * @param args
- * The command line arguments for the RemoteProcessBuilder to be
- * used.
- * @return IRemoteProcessBuilder The RemoteProcessBuilder object associated
- * with the connection used by the specified remote project.
- */
- public static IRemoteProcessBuilder getRemoteProcessBuilder(IProject currentProject, String[] args) {
- URI projectURI = null;
- if (isSynchronizedProject(gemActiveResource)) {
- try {
- projectURI = SyncConfigManager.getActiveSyncLocationURI(currentProject);
- } catch (final CoreException e) {
- logExceptionDetail(e);
- }
- } else {
- projectURI = currentProject.getLocationURI();
- }
-
- final IRemoteServicesManager servicesManager = GemPlugin.getService(IRemoteServicesManager.class);
- final IRemoteConnectionType connType = servicesManager.getConnectionType(projectURI);
- if (connType != null) {
- final IRemoteConnection connection = connType.getConnection(projectURI);
- if (connection != null) {
- final IRemoteProcessService procService = connection.getService(IRemoteProcessService.class);
- if (procService != null)
- return procService.getProcessBuilder(args);
- }
- }
- return null;
- }
-
- /**
- * Returns a handle to the file with the specified name in the current project.
- *
- * @param fullPath
- * The string representation of the full path to a file contained
- * within the current project.
- * @param resource
- * A resource within the current project (can be the current
- * project itself).
- * @return IFile The handle to the member file in the current project.
- */
- public static IFile getSourceFile(String fullPath, IResource resource) {
-
- final IProject currentProject = resource.getProject();
-
- // if (true) {
- if (!isSynchronizedProject(currentProject) && !isRemoteProject(resource)) {
- final String currentProjectPath = currentProject.getLocationURI().getPath();
- IPath sourceFilePath = new Path(fullPath);
- sourceFilePath = sourceFilePath.makeRelativeTo(new Path(currentProjectPath));
- final IFile sourceFile = currentProject.getFile(sourceFilePath);
- return sourceFile;
- }
-
- final String[] args = fullPath.split("/", -1); //$NON-NLS-1$
- final String name = args[args.length - 1];
- return currentProject.getFile(name);
- }
-
- /**
- * Returns the handle to the source files form the specified logFile path.
- * This method will be used when GEM is run on an existing executable and
- * the source file necessary to populate the Analyzer code windows is
- * needed.
- *
- * @param logFile
- * The resource handle representing the log file.
- * @return String The handle to the first source file found in the log file.
- */
- public static IFile getSourceFilePathFromLog(IFile logFile) {
-
- Scanner scanner = null;
- InputStream logFileStream = null;
- String sourceFilePathInfo = ""; //$NON-NLS-1$
-
- if (!logFile.exists()) {
- refreshProject(logFile.getProject());
- }
-
- // Scan the second line of the log file for first source file name
- try {
- logFileStream = logFile.getContents(true);
- } catch (final CoreException e) {
- logExceptionDetail(e);
- }
-
- // If the log file is empty
- scanner = new Scanner(logFileStream);
- if (!scanner.hasNextLine()) {
- if (taskStatus != TaskStatus.ABORTED) {
- GemUtilities.showErrorDialog(Messages.GemUtilities_4);
- }
- scanner.close();
- return null;
- }
-
- // Skip the line holding the number of processes
- scanner.nextLine();
-
- // If ISP exited out without processing any MPI Calls
- if (!scanner.hasNextLine()) {
- GemUtilities.showErrorDialog(Messages.GemUtilities_5);
- scanner.close();
- return null;
- }
-
- // Grab the path string for the source file form the log file line
- sourceFilePathInfo = scanner.nextLine();
- final String[] elements = sourceFilePathInfo.split(" ", -1); //$NON-NLS-1$
- sourceFilePathInfo = elements[elements.length - 2];
- final IFile sourceFile = getSourceFile(sourceFilePathInfo, logFile);
-
- // Close the InputStream
- try {
- if (logFileStream != null) {
- logFileStream.close();
- }
- } catch (final IOException e) {
- logExceptionDetail(e);
- } finally {
- scanner.close();
- }
-
- return sourceFile;
- }
-
- /*
- * Returns whether or not the correct version of ISP is installed on the
- * host machine (to support GEM operations). When version changes, be sure
- * to update the corresponding entry in messages package!
- */
- private static boolean hasCorrectIspVersion() {
- final String ispVersion = getIspVersion();
- if (ispVersion == null) {
- return false;
- }
- final StringTokenizer st = new StringTokenizer(ispVersion, ".", false); //$NON-NLS-1$
- st.nextToken();
- final int majorVersionNum = Integer.parseInt(st.nextToken());
- // final int minorVersionNum = Integer.parseInt(st.nextToken());
-
- // we need a compatible version of ISP, e.g. v0.3.0+
- if (majorVersionNum == 3) {
- return true;
- }
-
- showErrorDialog(Messages.GemUtilities_7);
- return false;
- }
-
- /**
- * Activates appropriate GEM views and launches necessary operations.
- *
- * @param resource
- * The resource obtained from the project to be processed.
- * @param compile
- * Performs necessary compilation if true. If false, the compile
- * step is skipped.
- * @param verify
- * Performs necessary verification if true. If false, the
- * verification step is skipped.
- * @return void
- */
- public static void initGemViews(IResource resource, boolean compile, boolean verify) {
-
- gemActiveResource = adaptResource(resource);
- doCompile = compile;
- doVerify = verify;
-
- if (taskStatus == TaskStatus.ACTIVE) {
- showInformationDialog(Messages.GemUtilities_6);
- return;
- }
-
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-
- // Tell the Analyzer where to find the source and log files
- final IViewPart gemViewPart = window.getActivePage().findView(GemAnalyzer.ID);
- analyzer = (GemAnalyzer) gemViewPart;
- // Clear the Analyzer view in case we're doing a repeated run
- analyzer.clear();
- analyzer.init(gemActiveResource);
-
- // Tell the Browser where to find the source and log files
- final IViewPart browserPart = window.getActivePage().findView(GemBrowser.ID);
- browser = (GemBrowser) browserPart;
- // Clear the Browser view in case we're doing a repeated run
- browser.clear();
- browser.init();
-
- // Initialize the console
- final IViewPart consolePart = window.getActivePage().findView(GemConsole.ID);
- console = (GemConsole) consolePart;
- console.init();
-
- // Create and parse log file, pass transitions to Browser & Analyzer
- final Thread initGemViewsThread = new Thread() {
- @Override
- public void run() {
- taskStatus = TaskStatus.ACTIVE;
-
- final boolean isLogFile = gemActiveResource.getFileExtension().equals("log"); //$NON-NLS-1$
- // If not a log file, check for ISP installation and version
- if (!isLogFile) {
-
- // Check for correct version of ISP on the target machine
- if (!hasCorrectIspVersion()) {
- cancelAnalysis();
- return;
- }
-
- // Run ispcc and/or isp and check for creation of the log file
- if (generateLogFile(gemActiveResource, doCompile, doVerify) == -1) {
- cancelAnalysis();
- showErrorDialog(Messages.GemUtilities_3);
- return;
- }
- }
-
- if (taskStatus == TaskStatus.ACTIVE) {
- IFile logFile = null;
- IFile sourceFile = null;
-
- // If it's a log file, that's all we're interested in
- if (isLogFile) {
- gemLogFile = gemActiveResource;
- logFile = gemLogFile;
- } else {
- logFile = gemLogFile;
- }
- if (logFile == null) {
- cancelAnalysis();
- showErrorDialog(Messages.GemUtilities_14);
- return;
- }
-
- Transitions transitions = null;
- transitions = initTransitions(logFile);
- sourceFile = getSourceFilePathFromLog(logFile);
-
- if (transitions == null || sourceFile == null) {
- // Note: Error message issued in getSourceFilePathFromLog()
- cancelAnalysis();
- return;
- }
- if (analyzer != null) {
- analyzer.update(sourceFile, transitions);
- }
- if (browser != null) {
- browser.update(transitions);
- }
- if (console != null) {
- console.cancel();
- }
- taskStatus = TaskStatus.IDLE;
-
- // Activate the correct view based on preference settings
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- final String activeView = pstore.getString(PreferenceConstants.GEM_ACTIVE_VIEW);
- if (activeView.equals(PreferenceConstants.GEM_ANALYZER)) {
- analyzer.activate();
- } else if (activeView.equals(PreferenceConstants.GEM_BROWSER)) {
- browser.activate();
- }
- else {
- console.activate();
- }
- }
- }
- };
-
- initGemViewsThread.start();
- }
-
- /*
- * Just a wrapper method that returns a newly created Transitions object.
- */
- private static Transitions initTransitions(IFile logFile) {
- try {
- return new Transitions(logFile);
- } catch (final ParseException e) {
- logExceptionDetail(e);
- }
- return null;
- }
-
- /**
- * Checks if the current task has been aborted.
- *
- * @param none
- * @return boolean True if task was aborted, false otherwise.
- */
- public static boolean isAborted() {
- return taskStatus == TaskStatus.ABORTED;
- }
-
- /*
- * Helper method Returns true if the specified port number is available,
- * false otherwise.
- */
- private static boolean isPortAvailable(int portNum) {
- try {
- ServerSocket srv = new ServerSocket(portNum);
- srv.close();
- srv = null;
- return true;
- } catch (final IOException e) {
- return false;
- }
- }
-
- /**
- * Returns whether or not the current project has active resources yet.
- *
- * @param none
- * @return boolean Ture if the current project has active resource, false otherwise.
- */
- public static boolean isProjectActive() {
- return gemActiveResource != null;
- }
-
- //
- private static boolean isRemoteBuildConfiguration() {
-
- final IProject project = getCurrentProject(gemActiveResource);
- URI buildLocation = null;
- try {
- buildLocation = SyncConfigManager.getActiveSyncLocationURI(project);
- } catch (final CoreException e) {
- GemUtilities.logExceptionDetail(e);
- }
- final URI projectLocation = project.getLocationURI();
-
- return !buildLocation.equals(projectLocation);
- }
-
- /**
- * Returns whether or not the current project being verified by GEM is
- * remote. Uses the specified resource.
- *
- * @param resource
- * The IResource object for which to check the NATURE_ID.
- * @return boolean True if the current project being verified by GEM is
- * remote, false otherwise.
- */
- public static boolean isRemoteProject(IResource resource) {
- return false; // Remote projects are no longer used
- }
-
- /**
- * Returns whether or not the current project being verified by GEM is
- * synchronized. Uses the specified resource.
- *
- * @param resource
- * The current project member resource for which to get the enclosing project to check the NATURE_ID.
- * @return boolean True if the current project being verified by GEM is
- * synchronized, false otherwise.
- */
- public static boolean isSynchronizedProject(IResource resource) {
- boolean isSync = false;
- try {
- isSync = getCurrentProject(resource).hasNature(RemoteSyncNature.NATURE_ID);
- } catch (final CoreException e) {
- GemUtilities.logExceptionDetail(e);
- }
- return isSync;
- }
-
- /*
- * Kills the child processes spawned from the global process object and then
- * forcibly closes the global process object. This would be, for example
- * multiple processes created from running ISP via the runtime instance.
- */
- private static void killProcesses() {
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- final String processName = pstore.getString(PreferenceConstants.GEM_PREF_PROCESS_NAME);
- final String command = "pkill " + processName; //$NON-NLS-1$
- final IProject currentProject = getCurrentProject(gemActiveResource);
- final boolean isRemote = isRemoteProject(gemActiveResource)
- || (isSynchronizedProject(gemActiveResource) && isRemoteBuildConfiguration());
-
- if (isRemote) {
- final String[] args = command.split(" ", -1); //$NON-NLS-1$
- final IRemoteProcessBuilder rpb = getRemoteProcessBuilder(currentProject, args);
- try {
- remoteProcess = rpb.start();
- } catch (final IOException e) {
- logExceptionDetail(e);
- }
- try {
- remoteProcess = rpb.start();
- } catch (final IOException e) {
- logExceptionDetail(e);
- } finally {
- if (remoteProcess != null) {
- try {
- remoteProcess.waitFor();
- } catch (final InterruptedException e) {
- logExceptionDetail(e);
- }
- remoteProcess.destroy();
- }
- if (remoteProcess != null) {
- remoteProcess.destroy();
- }
- }
- } else {
- Process killProc = null;
- try {
- killProc = Runtime.getRuntime().exec(command);
- } catch (final IOException e) {
- logExceptionDetail(e);
- } finally {
- if (killProc != null) {
- try {
- killProc.waitFor();
- } catch (final InterruptedException e) {
- logExceptionDetail(e);
- }
- killProc.destroy();
- }
- if (process != null) {
- process.destroy();
- }
- }
- }
- }
-
- /**
- * Logs the specified error using the Eclipse error logging mechanism. Log
- * entries are placed in the org.eclipse.ptp.gem log file and will show up
- * in the Eclipse Error Log View.
- *
- * @param message
- * The error message to log.
- * @param exception
- * The Exception that occurred.
- * @return void
- */
- public static void logError(String message, Throwable exception) {
- final IStatus status = new Status(IStatus.ERROR, GemPlugin.PLUGIN_ID, IStatus.ERROR, message, exception);
- GemPlugin.getDefault().getLog().log(status);
- }
-
- /**
- * Bundles the specified Exception with a standard message and passes this
- * information to the Eclipse logging mechanism via this classes logError
- * method.
- *
- * @param e
- * The exception to log error information for.
- * @return void
- */
- public static void logExceptionDetail(Exception e) {
- final StringBuffer stringBuffer = new StringBuffer();
- stringBuffer.append(Messages.GemUtilities_1);
- stringBuffer.append("\""); //$NON-NLS-1$
- stringBuffer.append(GemPlugin.PLUGIN_ID);
- stringBuffer.append("\"."); //$NON-NLS-1$
- GemUtilities.logError(stringBuffer.toString(), e);
- }
-
- /**
- * Refreshes the specified project. This helps in synchronizing the project
- * with the local file system after new resource creation.
- *
- * @param project
- * This resource, and all its children will be refreshed.
- * @return void
- */
- public static void refreshProject(final IProject project) {
- try {
- project.refreshLocal(IResource.DEPTH_INFINITE, null);
- } catch (final CoreException e) {
- logExceptionDetail(e);
- }
- }
-
- /*
- * Prompts an input dialog asking the user what command line arguments they
- * want used and stores the result. The default value shown is the last used
- * value.
- */
- private static void requestCommandLineArgs() {
- final String message = Messages.GemUtilities_28;
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- final String prevArgs = pstore.getString(PreferenceConstants.GEM_PREF_ARGS);
- final String newArgs = JOptionPane.showInputDialog(null, message, prevArgs);
- if (newArgs != null) {
- pstore.setValue(PreferenceConstants.GEM_PREF_ARGS, newArgs);
- }
- }
-
- /**
- * Executes the specified command via a native runtime process instance.
- *
- * @param command
- * The command to send to the Runtime instance.
- * @param verbose
- * Writes output to the Gem Console if true, silent otherwise.
- * @return int Returns 1 if everything went smoothly, -1 otherwise.
- */
- public static int runCommand(String command, boolean verbose) {
-
- // Find out if the current project is local or remote
- final IProject currentProject = getCurrentProject(gemActiveResource);
- final boolean isRemote = isRemoteProject(gemActiveResource)
- || (isSynchronizedProject(gemActiveResource) && isRemoteBuildConfiguration());
-
- try {
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- final StringBuffer stringBuffer = new StringBuffer();
- String stdOut = ""; //$NON-NLS-1$
- String stdOutResult = ""; //$NON-NLS-1$
- String stdErr = ""; //$NON-NLS-1$
- String stdErrResult = ""; //$NON-NLS-1$
-
- // Check if the current project is remote
- if (isRemote) {
- final String[] args = command.split(" ", -1); //$NON-NLS-1$
- final IRemoteProcessBuilder rpb = getRemoteProcessBuilder(currentProject, args);
- remoteProcess = rpb.start();
- } else {
- process = Runtime.getRuntime().exec(command);
- }
-
- final BufferedReader stdOutReader = new BufferedReader(new InputStreamReader(
- isRemote ? remoteProcess.getInputStream() : process.getInputStream()));
- final BufferedReader stdErrReader = new BufferedReader(new InputStreamReader(
- isRemote ? remoteProcess.getErrorStream() : process.getErrorStream()));
- consoleStdOutMessage = ""; //$NON-NLS-1$
- consoleStdErrMessage = ""; //$NON-NLS-1$
-
- // Clear the console if the preference is set
- final boolean clearConsole = pstore.getBoolean(PreferenceConstants.GEM_PREF_CLRCON);
- if (clearConsole) {
- console.clear();
- }
-
- // Try breaks when the process is terminated prematurely
- try {
- // read the process input stream
- while ((isRemote ? remoteProcess != null : process != null) && (stdOut = stdOutReader.readLine()) != null
- && taskStatus == TaskStatus.ACTIVE) {
- stringBuffer.append(stdOut);
- stringBuffer.append("\n"); //$NON-NLS-1$
- consoleStdOutMessage += stdOut + "\n"; //$NON-NLS-1$
- if (!stdOutReader.ready()) {
- updateConsole(verbose, true);
- consoleStdOutMessage = ""; //$NON-NLS-1$
- }
- }
-
- stdOutResult = stringBuffer.toString();
-
- // cleanup, send last few lines
- updateConsole(verbose, true);
-
- // read the process error stream
- stringBuffer.setLength(0);
- while ((isRemote ? remoteProcess != null : process != null) && (stdErr = stdErrReader.readLine()) != null
- && taskStatus == TaskStatus.ACTIVE) {
- stringBuffer.append(stdErr);
- stringBuffer.append("\n"); //$NON-NLS-1$
- consoleStdErrMessage += ""; //stdErr + "\n"; //$NON-NLS-1$
-
- if (!stdErrReader.ready()) {
- updateConsole(verbose, true);
- consoleStdErrMessage = ""; //$NON-NLS-1$
- }
- }
-
- stdErrResult = stringBuffer.toString();
-
- // cleanup, send last few lines
- updateConsole(verbose, true);
- } catch (final Exception e) {
- logExceptionDetail(e);
- return -1;
- }
-
- consoleStdOutMessage = stdOutResult;
- consoleStdErrMessage = stdErrResult;
-
- if (isRemote ? remoteProcess == null : process == null) {
- return -1;
- }
-
- return consoleStdErrMessage.contains("ld returned 1 exit status") ? -1 : 1; //$NON-NLS-1$
-
- } catch (final IOException e) { // thrown when ISP is not installed
- final StringTokenizer st = new StringTokenizer(command);
- String commandName = st.nextToken();
- commandName = new Path(commandName).lastSegment().toString();
- showErrorDialog(Messages.GemUtilities_8 + "\"" + commandName + "\"" + "\n" + Messages.GemUtilities_13); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- } catch (final Exception e) {
- logExceptionDetail(e);
- }
- return -1;
- }
-
- /**
- * Runs the specified command as a thread via the Runtime instance.
- *
- * @param command
- * The command to run as a thread via the Runtime instance.
- * @return void
- */
- public static void runCommandAsThread(String command) {
- final CommandThread thread = new CommandThread(command);
- thread.run();
- }
-
- /**
- * Saves the URI of the last used file to the preference store. This URI
- * will be represented as a String in the preference store.
- *
- * @param mostRecentURI
- * The URI of the last used file in the currently used workspace.
- * @return void
- */
- public static void saveMostRecentURI(URI mostRecentURI) {
- final String mostRecentURIStr = mostRecentURI.toString();
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- pstore.setValue(PreferenceConstants.GEM_PREF_MOST_RECENT_FILE, mostRecentURIStr);
- }
-
- /**
- * Writes the contents of the GEM console to the indicated local file.
- *
- * @param file
- * The local file to write the specified content to.
- * @param content
- * The content to write to the specified local file.
- * @return void
- */
- public static void saveToLocalFile(File file, String content) {
- BufferedWriter writer = null;
- try {
- writer = new BufferedWriter(new FileWriter(file.getCanonicalPath()));
- content.replaceAll("\n", System.getProperty("line.separator")); //$NON-NLS-1$ //$NON-NLS-2$
- writer.write(content);
- } catch (final IOException e) {
- logExceptionDetail(e);
- } finally {
- if (writer != null) {
- try {
- writer.close();
- } catch (final IOException e) {
- logExceptionDetail(e);
- }
- }
- }
- }
-
- /**
- * Used to pass command line arguments to the profiled executable during a
- * verification run. If the GEM_PREF_REQUEST_ARGS preference is set,
- * GEM_PREF_REQUEST_ARGS requestCommandLineArgs is called to get the command
- * line arguments. Otherwise the command line arguments are simply set to
- * "".
- *
- * @param none
- * @return void
- */
- public static void setCommandLineArgs() {
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- if (pstore.getBoolean(PreferenceConstants.GEM_PREF_REQUEST_ARGS)) {
- requestCommandLineArgs();
- } else {
- pstore.setValue(PreferenceConstants.GEM_PREF_ARGS, ""); //$NON-NLS-1$
- }
- }
-
- /**
- * Sets the number of processes for the next run of GEM. Updates the drop
- * down list boxes in the GEM views if they are open.
- *
- * @param none
- * @return void
- */
- public static void setNumProcesses() {
- final Shell shell = Display.getCurrent().getActiveShell();
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- Integer numProcs = pstore.getInt(PreferenceConstants.GEM_PREF_NUMPROCS);
- final String title = Messages.GemUtilities_9;
- final String message = Messages.GemUtilities_10;
- final InputDialog dlg = new InputDialog(shell, title, message, numProcs.toString(), new NumProcsValidator());
- Window.setDefaultImage(GemPlugin.getImageDescriptor("icons/processes.gif").createImage()); //$NON-NLS-1$
- dlg.open();
-
- // This avoids a UI event loop exception
- if (dlg.getReturnCode() == Window.CANCEL) {
- return;
- }
-
- numProcs = Integer.parseInt(dlg.getValue());
- pstore.setValue(PreferenceConstants.GEM_PREF_NUMPROCS, dlg.getValue());
-
- // Update the drop down in the Analyzer
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- final IViewPart gemViewPart = window.getActivePage().findView(GemAnalyzer.ID);
- if (gemViewPart != null) {
- final GemAnalyzer analyzer = (GemAnalyzer) gemViewPart;
- analyzer.updateDropDown();
- }
-
- // Update the drop down in the Issue Browser
- window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- final IViewPart browserViewPart = window.getActivePage().findView(GemBrowser.ID);
- if (browserViewPart != null) {
- final GemBrowser browser = (GemBrowser) browserViewPart;
- browser.updateDropDown();
- }
- }
-
- /**
- * Sets the current task status to the specified state.
- *
- * @param state
- * The state to assign the current task status.
- * @return void
- */
- public static void setTaskStatus(TaskStatus state) {
- taskStatus = state;
- }
-
- /**
- * Simply opens an error message dialog with the specified String.
- *
- * @param message
- * The message body.
- * @return void
- */
- public static void showErrorDialog(String message) {
- final String title = Messages.GemUtilities_11;
- JOptionPane.showMessageDialog(null, message, title, JOptionPane.ERROR_MESSAGE);
- }
-
- /**
- * Simply open an ExceptionDetailsDialog for the specified exception.
- *
- * @param message
- * The message body for the exception dialog.
- * @param e
- * The exception title.
- * @return void
- */
- public static void showExceptionDialog(String message, Exception e) {
- showErrorDialog(message);
- e.printStackTrace();
- }
-
- /**
- * Simply opens a dialog with the specified String.
- *
- * @param message
- * The message body for the information dialog.
- * @return void
- */
- public static void showInformationDialog(String message) {
- final String title = Messages.GemUtilities_12;
- JOptionPane.showMessageDialog(null, message, title, JOptionPane.INFORMATION_MESSAGE);
- }
-
- // Triggers a blocking remote-2-local sync.
- private static void sync() {
- final IProgressMonitor monitor = new NullProgressMonitor();
- final IProject project = getCurrentProject(gemActiveResource);
- try {
- SyncManager.syncBlocking(null, project, SyncFlag.BOTH, monitor);
- } catch (final CoreException e) {
- logExceptionDetail(e);
- }
- }
-
- /**
- * Clears and shuts down all GEM views then forcibly terminates the shared
- * Process object associated with this class and all its children. This
- * prevents destroying a process after it has finished, but before the
- * termination buttons have been deactivated.
- *
- * @param none
- * @return void
- */
- public static void terminateOperation() {
- if (taskStatus != TaskStatus.IDLE) {
- taskStatus = TaskStatus.ABORTED;
- analyzer.clear();
- browser.clear();
- console.cancel();
- console.writeStdErr(Messages.GemConsole_11 + "\n"); //$NON-NLS-1$
- killProcesses();
- }
- }
-
- /*
- * Starts the updateGemConsoleThread which writes STDOUT and STDERR to the
- * GEM Console.
- */
- private static void updateConsole(boolean verbose, boolean showConsole) {
- if (verbose && showConsole) {
- try {
- Display.getDefault().syncExec(updateGemConsoleThread);
- } catch (final Exception e) {
- logExceptionDetail(e);
- }
- }
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/InternalIssueOrderSorter.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/InternalIssueOrderSorter.java
deleted file mode 100644
index 205c669..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/InternalIssueOrderSorter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.util;
-
-import java.util.Comparator;
-
-/**
- * java.lang.Comparator: int compare(Envelope env1, env2)
- *
- * This method compares two Envelopes (env1 and env2) by internal issue order.
- * (Integer) casts are made to use the Integer class autobox/unbox feature as
- * well as its compareTo() method.
- *
- * Returned int value has the following meanings:
- *
- * 1. positive: env1 is greater than env2 2. zero: env1 equals to env2 3.
- * negative: env1 is less than env2
- */
-public class InternalIssueOrderSorter implements Comparator<Envelope> {
-
- /**
- * Compares the two Envelopes passed in by Issue Order.
- *
- * @param env1
- * The first Envelope.
- * @param env2
- * The second Envelope.
- * @return int The comparison of the two parameters... positive: env1 is
- * greater than env2, zero: env1 equals to env2 negative: env1 is
- * less than env2
- */
- public int compare(Envelope env1, Envelope env2) {
- if (env1.getIssueIndex() == -1 && env2.getIssueIndex() == -1) {
- return ((Integer) env1.getOrderIndex()).compareTo(env2.getOrderIndex());
- } else if (env1.getIssueIndex() == -1) {
- return 1;
- } else if (env2.getIssueIndex() == -1) {
- return -1;
- } else {
- return ((Integer) env1.getIssueIndex()).compareTo(env2.getIssueIndex());
- }
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/ListElement.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/ListElement.java
deleted file mode 100644
index 736595f..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/ListElement.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.util;
-
-import org.eclipse.core.resources.IFile;
-
-public class ListElement {
-
- private final IFile file;
- private final String listEntry;
- private final int lineNumber;
- private final boolean isCollective;
-
- /**
- * Constructor
- *
- * @param file
- * The file resource for this ListElement.
- * @param listEntry
- * The full String representing this ListElement's data.
- * @param lineNumber
- * The associated line number in this ListElement's file resource
- * @param isCollective
- * Whether or not this ListElement is a collective operation.
- */
- public ListElement(IFile file, String listEntry, int lineNumber, boolean isCollective) {
- this.file = file;
- this.listEntry = listEntry;
- this.lineNumber = lineNumber;
- this.isCollective = isCollective;
- }
-
- /**
- * Checks whether or not this ListElement is equal to the specified element.
- *
- * @param otherListELement
- * The ListItem to compare with this ListItem.
- * @return boolean True if this ListElement is equal to the other, false
- * otherwise.
- */
- public boolean equals(ListElement otherListELement) {
- return (this.file.equals(otherListELement.file)
- && this.listEntry.equals(otherListELement.listEntry) && this.lineNumber == otherListELement.lineNumber);
- }
-
- /**
- * Returns the file resource for this ListElement.
- *
- * @param none
- * @return IFile The file resource.
- */
- public IFile getFile() {
- return this.file;
- }
-
- /**
- * Returns the line number in the associated file resource for this
- * ListElement.
- *
- * @param none
- * @return int The line number.
- */
- public int getLineNumber() {
- return this.lineNumber;
- }
-
- /**
- * Returns the full String representing this ListElement's data.
- *
- * @param none
- * @return String The list entry.
- */
- public String getListEntry() {
- return this.listEntry;
- }
-
- /**
- * Returns whether or not the call associated with the list entry in this
- * ListElement is a collective or not.
- *
- * @param none
- * @return boolean True if the call associated with the list entry in this
- * ListElement is a collective, false otherwise.
- */
- public boolean isCollective() {
- return this.isCollective;
- }
-
- /**
- * Returns the string representation of this ListElement.
- *
- * @param none
- * @return String The string representation of this ListElement.
- */
- @Override
- public String toString() {
- return this.listEntry;
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/NumProcsValidator.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/NumProcsValidator.java
deleted file mode 100644
index 4d1eca8..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/NumProcsValidator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.util;
-
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-
-/**
- * A simple validator for the NumProcs InputDialog.
- */
-public class NumProcsValidator implements IInputValidator {
-
- public String isValid(String newText) {
- int num = -1;
- try {
- num = Integer.parseInt(newText);
-
- } catch (final NumberFormatException nfe) {
- return Messages.NumProcsValidator_0;
- }
- if (num < 1) {
- return Messages.NumProcsValidator_1;
- }
- if (num > 32) {
- return Messages.NumProcsValidator_2;
- }
-
- return null;
- }
-
-}
\ No newline at end of file
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/ProgramOrderSorter.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/ProgramOrderSorter.java
deleted file mode 100644
index dfead48..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/ProgramOrderSorter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.util;
-
-import java.util.Comparator;
-
-/**
- * java.lang.Comparator: int compare(Envelope env1, env2)
- *
- * This method compares two Envelopes (env1 and env2) by program order.
- * (Integer) casts are made to use the Integer class autobox/unbox feature as
- * well as its compareTo() method.
- *
- * Returned int value has the following meanings:
- *
- * 1. positive: env1 is greater than env2 2. zero: env1 equals to env2 3.
- * negative: env1 is less than env2
- */
-public class ProgramOrderSorter implements Comparator<Envelope> {
-
- /**
- * Compares the two Envelopes passed in by Program order.
- *
- * @param env1
- * The first Envelope.
- * @param env2
- * The second Envelope.
- * @return int The comparison of the two parameters... positive: env1 is
- * greater than env2, zero: env1 equals to env2 negative: env1 is
- * less than env2
- */
- public int compare(Envelope env1, Envelope env2) {
- if (env1.getOrderIndex() == env2.getOrderIndex()) {
- if (env1.getRank() != env2.getRank()) {
- return ((Integer) env1.getRank()).compareTo(env2.getRank());
- }
- return ((Integer) env1.getIndex()).compareTo(env2.getIndex());
- }
- return ((Integer) env1.getOrderIndex()).compareTo(env2.getOrderIndex());
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/Transitions.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/Transitions.java
deleted file mode 100644
index f329fbf..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/util/Transitions.java
+++ /dev/null
@@ -1,905 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.util;
-
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Scanner;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.preferences.PreferenceConstants;
-
-/**
- * This class represents all information for each MPI call (transition) in every
- * interleaving explored. This is the central source of information used by all
- * components within GEM.
- */
-public class Transitions {
-
- private final ArrayList<ArrayList<Envelope>> transitionList;
- private final ArrayList<HashMap<String, Envelope>> errorCalls;
- private HashMap<Integer, String> irrelevantBarriers;
- private HashMap<Integer, Envelope> resourceLeaks;
- private HashMap<Integer, String> typeMismatches;
- private ArrayList<Integer> deadlockInterleavings;
- private int numRanks;
- public int currentInterleaving;
- public int currentTransitionIndex;
- private int deadlockIndex;
- private boolean deadlock;
- private boolean assertionViolation;
- private boolean resourceLeak;
- private boolean fib;
-
- /**
- * Constructor
- *
- * @param logFile
- * The Resource representing the log file to parse.
- * @throws ParseException
- */
- public Transitions(IFile logFile) throws ParseException {
- this.transitionList = new ArrayList<ArrayList<Envelope>>();
- this.errorCalls = new ArrayList<HashMap<String, Envelope>>();
- this.irrelevantBarriers = null;
- this.resourceLeaks = null;
- this.typeMismatches = null;
-
- // Add null as padding so we can be one-based later
- this.errorCalls.add(null);
-
- this.numRanks = -1;
- this.deadlock = false;
- this.assertionViolation = false;
- this.resourceLeak = false;
- parseLogFile(logFile);
- }
-
- /**
- * Moves to the deadlock interleaving, or if there are multiple
- * interleavings, it cycles through all.
- *
- * @param none
- * @return boolean True if the operation was successful, false otherwise.
- */
- synchronized public boolean deadlockInterleaving() {
-
- if (!this.deadlock) {
- return false;
- }
-
- this.currentInterleaving = this.deadlockInterleavings.get(this.deadlockIndex) - 1;
- this.currentTransitionIndex = -1;
-
- // This is to cycle through the deadlock interleavings
- this.deadlockIndex++;
- this.deadlockIndex = this.deadlockIndex % this.deadlockInterleavings.size();
- return true;
- }
-
- /**
- * Returns a list of all envelopes involved in the collective call held in
- * the Envelope that is passed in.
- *
- * @param env
- * The Envelope holding the collective call.
- * @return ArrayList<Envelope> A list of all Envelopes involved with that
- * call.
- */
- // TODO This is not currently being used
- public ArrayList<Envelope> getCollectiveTransitions(Envelope env) {
- if (env.getIssueIndex() < 0) {
- return null;
- }
-
- return env.getCommunicator_matches();
- }
-
- /**
- * Returns the interleaving current being displayed.
- *
- * @param none
- * @return int The current interleaving.
- */
- public int getCurrentInterleaving() {
- return this.currentInterleaving + 1;
- }
-
- /**
- * Returns the Envelope involved with the current transition.
- *
- * @param none
- * @return Envelope The current Envelope in the current interleaving.
- */
- synchronized public Envelope getCurrentTransition() {
- if (this.currentInterleaving < 0
- || this.currentInterleaving >= this.transitionList.size()
- || this.currentTransitionIndex < 0
- || this.currentTransitionIndex >= this.transitionList.get(this.currentInterleaving).size()) {
- return null;
- }
-
- return this.transitionList.get(this.currentInterleaving).get(this.currentTransitionIndex);
- }
-
- /**
- * Returns the index of the current transition.
- *
- * @param none
- * @return int The current transition index.
- */
- public int getCurrentTransitionIndex() {
- return this.currentTransitionIndex;
- }
-
- /**
- * Returns the list of deadlock interleavings.
- *
- * @param none
- * @return ArrayList<Integer> The list of deadlock interleavings.
- */
- public ArrayList<Integer> getDeadlockInterleavings() {
- return this.deadlockInterleavings;
- }
-
- /**
- * Returns the list of HashMaps containing Envelopes involved in the error.
- * There may be multiple maps due to multiple errors in separate
- * interleavings.
- *
- * @param none
- * @return ArrayList<HashMap<String, Envelope>> The list of HashMaps
- * containing Envelopes involved in program errors.
- */
- public ArrayList<HashMap<String, Envelope>> getErrorCalls() {
- return this.errorCalls;
- }
-
- /**
- * Walks the appropriate list to the first transition for the specified rank
- * in the current interleaving.
- *
- * @param rank
- * The rank for which to find the first.
- * @return Envelope The first Envelope in the current interleaving for the
- * specified rank.
- */
- synchronized public Envelope getFirstTransition(int rank) {
-
- boolean valid = true;
- if (rank < 0 || rank > this.numRanks) {
- valid = false;
- }
- final int size = this.transitionList.get(this.currentInterleaving).size();
- for (int i = 0; i < size; i++) {
- final Envelope env = this.transitionList.get(this.currentInterleaving).get(i);
- if (!valid || env.getRank() == rank) {
- this.currentTransitionIndex = i;
- return env;
- }
- }
- return null;
-
- }
-
- /**
- * Returns an ArrayList of all envelopes in the interleaving that is passed
- * in.
- *
- * @param interleaving
- * An integer representing the desired interleaving (1-based).
- * @return ArrayList<Envelope> The ArrayList of all envelopes in the
- * specified interleaving.
- */
- public ArrayList<Envelope> getInterleavingEnvelopes(int interleaving) {
- if (interleaving < 1 || interleaving > getTotalInterleavings()) {
- return null;
- }
-
- return this.transitionList.get(interleaving - 1); // 0-based
- }
-
- /**
- * Returns the list of the interleavings listing the calls pertaining to
- * Irrelevant barriers.
- *
- * @param none
- * @return HashMap<Integer, String> The unique set of irrelevant barriers.
- */
- public HashMap<Integer, String> getIrrelevantBarriers() {
- return this.irrelevantBarriers;
- }
-
- /**
- * Walks the appropriate list to the last transition for the specified rank
- * in the current interleaving.
- *
- * @param rank
- * The rank to find the last transition for.
- * @return Envelope The last Envelope in the current interleaving for the
- * specified rank.
- */
- synchronized public Envelope getLastTransition(int rank) {
- boolean valid = true;
- if (rank < 0 || rank > this.numRanks) {
- valid = false;
- }
- final int size = this.transitionList.get(this.currentInterleaving).size() - 1;
- for (int i = size; i >= 0; i--) {
- final Envelope env = this.transitionList.get(this.currentInterleaving).get(i);
- if (!valid || env.getRank() == rank) {
- this.currentTransitionIndex = i;
- return env;
- }
- }
- return null;
- }
-
- /**
- * Returns the envelope that matches with the envelope passed in.
- *
- * @param env
- * The Envelope whose match we are requesting.
- * @return Envelope The Envelope that matches, or null if there is no match.
- */
- public Envelope getMatchingTransition(Envelope env) {
- if (env.getIssueIndex() < 0) {
- return null;
- }
-
- return env.getMatch_envelope();
- }
-
- /**
- * Finds the next transition for the specified rank in the current
- * interleaving.
- *
- * @param rank
- * The rank of the next Envelope to find.
- * @return Envelope The next Envelope in the current interleaving for the
- * specified rank.
- */
- synchronized public Envelope getNextTransition(int rank) {
- if (this.currentTransitionIndex + 1 >= this.transitionList.get(this.currentInterleaving).size()) {
- return null;
- }
-
- // If the rank is invalid, treat it as any rank can advance.
- if (rank < 0 || rank >= this.numRanks) {
- this.currentTransitionIndex++;
- return this.transitionList.get(this.currentInterleaving).get(this.currentTransitionIndex);
- }
-
- final int end = this.transitionList.get(this.currentInterleaving).size();
- for (int i = this.currentTransitionIndex + 1; i < end; i++) {
- final Envelope e = this.transitionList.get(this.currentInterleaving).get(i);
- if (e.getRank() == rank) {
- this.currentTransitionIndex = i;
- return e;
- }
- }
- return null;
- }
-
- /**
- * Returns the number of ranks used.
- *
- * @param none
- * @return int The number of ranks used.
- */
- public int getNumRanks() {
- return this.numRanks;
- }
-
- /**
- * Finds the previous transition for the specified rank in the current
- * interleaving.
- *
- * @param rank
- * The rank to find the previous transition for.
- * @return Envelope The previous Envelope in the current interleaving for
- * the specified rank.
- */
- synchronized public Envelope getPreviousTransition(int rank) {
- if (this.currentTransitionIndex <= 0) {
- return null;
- }
-
- // If the rank is invalid, treat it as if any rank can be changed.
- if (rank < 0 || rank >= this.numRanks) {
- this.currentTransitionIndex--;
- return this.transitionList.get(this.currentInterleaving).get(this.currentTransitionIndex);
- }
-
- for (int i = this.currentTransitionIndex - 1; i >= 0; i--) {
- final Envelope env = this.transitionList.get(this.currentInterleaving).get(i);
- if (env.getRank() == rank) {
- this.currentTransitionIndex = i;
- return env;
- }
- }
- return null;
- }
-
- /**
- * Observes the current envelope and discovers which ranks are involved with
- * it at this moment.
- *
- * @param total
- * The integer array containing all ranks involved.
- * @return String The String representing the ranks of those involved with
- * the current call.
- */
- public String getRanksInvolved(int totalRanksInvolved[]) {
- final Envelope currentEnvelope = this.transitionList.get(this.currentInterleaving).get(this.currentTransitionIndex);
- final int rank = currentEnvelope.getRank();
- String result = Integer.toString(rank);
- final int currentLineNumber = currentEnvelope.getLinenumber();
-
- // We can safely assume that we are currently on the 1st iteration
- int i = this.currentTransitionIndex;
- final int size = this.transitionList.get(this.currentInterleaving).size();
- int numRanksInvloved = 1;
-
- // start at next envelope
- for (i++; i < size; i++) {
- final Envelope env = this.transitionList.get(this.currentInterleaving).get(i);
- if (currentLineNumber == env.getLinenumber()) {
- numRanksInvloved++;
- result += "," + env.getRank(); //$NON-NLS-1$
- } else {
- break;
- }
- }
-
- totalRanksInvolved[0] = numRanksInvloved;
- return result;
- }
-
- /**
- * Returns and HashMap of Envelopes that holds each envelope that contains
- * a resource leak.
- *
- * @param none
- * @return HashMap<Integer, Envelope> The set of resource leaks.
- */
- public HashMap<Integer, Envelope> getResourceLeaks() {
- return this.resourceLeaks;
- }
-
- /**
- * Returns the number of interleavings found for this source file.
- *
- * @param none
- * @return int The total number of interleavings.
- */
- public int getTotalInterleavings() {
- return this.transitionList.size();
- }
-
- /**
- * Returns an ArrayList of ArrayLists of Envelopes. Each ArrayList
- * corresponds to a particular interleaving, and holds envelopes
- * representing individual MPI call transitions.
- *
- * @param none
- * @return ArrayList<ArrayList<Envelope>> List representing each MPI Call in
- * each possible interleaving.
- */
- public ArrayList<ArrayList<Envelope>> getTransitionList() {
- return this.transitionList;
- }
-
- /**
- * Returns the list of the interleavings listing the calls pertaining to MPI
- * type mismatches.
- *
- * @param none
- * @return HashMap<Integer, String>The unique set of MPI type mismatches.
- */
- public HashMap<Integer, String> getTypeMismatches() {
- return this.typeMismatches;
- }
-
- /**
- * Returns a boolean representing whether or not there is an assertion.
- * violation.
- *
- * @param none
- * @return boolean True if there was an assertion violation, false
- * otherwise.
- */
- public boolean hasAssertion() {
- return this.assertionViolation;
- }
-
- /**
- * Returns a boolean representing whether or not there is a deadlock.
- *
- * @param none
- * @return boolean True if there was a deadlock, false otherwise.
- */
- public boolean hasDeadlock() {
- return this.deadlock;
- }
-
- /**
- * Returns whether or not the transition list contains an error.
- *
- * @param none
- * @return boolean True for an error, false otherwise.
- */
- public boolean hasError() {
- if (this.assertionViolation || this.deadlock) {
- return true;
- }
- final Iterator<HashMap<String, Envelope>> itr = this.errorCalls.iterator();
- while (itr.hasNext()) {
- final HashMap<String, Envelope> currentHash = itr.next();
- if (currentHash != null && !currentHash.isEmpty()) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Returns whether or not a functionally irrelevant barrier was detected.
- *
- * @param none
- * @return boolean True if a functionally irrelevant barrier was detected, false otherwise.
- */
- public boolean hasFIB() {
- return this.fib;
- }
-
- /**
- * Returns a boolean representing whether or not there is a next
- * interleaving from the currentInterleaving.
- *
- * @param none
- * @return boolean True if there is a next interleaving, false otherwise.
- */
- synchronized public boolean hasNextInterleaving() {
- return this.currentInterleaving + 1 < this.transitionList.size();
- }
-
- /**
- * Returns true if there is a next transition, false otherwise.
- *
- * @param none
- * @return boolean True if the current interleaving has a next transition,
- * false otherwise.
- */
- synchronized public boolean hasNextTransition() {
- return this.currentTransitionIndex + 1 < this.transitionList.get(
- this.currentInterleaving).size();
- }
-
- /**
- * Returns a boolean representing whether or not there is a previous
- * interleaving from the currentInterleaving.
- *
- * @param none
- * @return boolean True if there is a previous interleaving, false
- * otherwise.
- */
- synchronized public boolean hasPreviousInterleaving() {
- return this.currentInterleaving != 0;
- }
-
- /**
- * Returns true if there is a previous transition, false otherwise.
- *
- * @param none
- * @return boolean True if the current interleaving has a previous
- * transition, false otherwise.
- */
- // TODO This is not currently being used
- public boolean hasPreviousTransition() {
- return this.currentTransitionIndex > 0;
- }
-
- /**
- * Returns a boolean representing whether or not a resource leak was detected.
- *
- * @param none
- * @return boolean True if a resource leak was detected, false otherwise.
- */
- public boolean hasResourceLeak() {
- return this.resourceLeak;
- }
-
- /**
- * Returns true if there is a next non-repetitive transition, false
- * otherwise.
- *
- * @param none
- * @return boolean True if the current interleaving has a valid next
- * transition, false otherwise.
- */
- synchronized public boolean hasValidNextTransition(int rank) {
- if (this.currentTransitionIndex == -1) {
- try {
- this.transitionList.get(this.currentInterleaving).get(this.currentTransitionIndex + 1);
- return true;
- } catch (final Exception e) {
- return false;
- }
- }
- int tempIndex = this.currentTransitionIndex;
- while (tempIndex < this.transitionList.get(this.currentInterleaving).size()) {
- final int line1 = this.transitionList.get(this.currentInterleaving).get(this.currentTransitionIndex).getLinenumber();
- final int line2 = this.transitionList.get(this.currentInterleaving).get(tempIndex).getLinenumber();
- if (line1 == line2) {
- tempIndex++;
- continue;
- } else if (rank == -1 || this.transitionList.get(this.currentInterleaving).get(tempIndex).getRank() == rank) {
- return true;
- }
- tempIndex++;
- }
- return false;
- }
-
- /**
- * Returns true if there is a non-repetitive previous transition, false
- * otherwise.
- *
- * @param none
- * @return boolean True if the current interleaving has a valid previous
- * transition, false otherwise.
- */
- public boolean hasValidPreviousTransition(int rank) {
- int tempIndex = this.currentTransitionIndex - 1;
- while (tempIndex >= 0) {
- final int line1 = this.transitionList.get(this.currentInterleaving).get(this.currentTransitionIndex).getLinenumber();
- final int line2 = this.transitionList.get(this.currentInterleaving).get(tempIndex).getLinenumber();
- final boolean collective = this.transitionList.get(this.currentInterleaving).get(this.currentTransitionIndex)
- .isCollective();
- if (line1 == line2 && rank == -1 && collective) {
- tempIndex--;
- continue;
- } else if (rank == -1 || this.transitionList.get(this.currentInterleaving).get(tempIndex).getRank() == rank) {
- return true;
- }
- tempIndex--;
- }
- return false;
- }
-
- /*
- * This is where the bulk of the p2p and collective matching gets done.
- */
- private void parseLogFile(IFile logFile) {
- final HashMap<String, Envelope> p2pMatches = new HashMap<String, Envelope>();
- final HashMap<String, ArrayList<Envelope>> collectiveMatches = new HashMap<String, ArrayList<Envelope>>();
- final HashMap<Integer, Integer> issueOrders = new HashMap<Integer, Integer>();
- final ArrayList<HashMap<String, Integer>> collectiveCount = new ArrayList<HashMap<String, Integer>>();
- Scanner scanner = null;
- String line = null;
- int interleaving = -1;
- boolean fileReadSuccess = false;
-
- try {
- scanner = new Scanner(logFile.getContents());
-
- // Check for empty log file
- if (!scanner.hasNextLine()) {
- return;
- }
-
- line = scanner.nextLine();
-
- try {
- this.numRanks = Integer.parseInt(line);
- fileReadSuccess = true;
- } catch (final NumberFormatException e) {
- GemUtilities.logExceptionDetail(e);
- }
- if (fileReadSuccess) {
- for (int i = 0; i < this.numRanks; i++) {
- collectiveCount.add(new HashMap<String, Integer>());
- }
- }
-
- while (scanner.hasNext()) {
- // If the analysis has been aborted then stop parsing
- if (GemUtilities.isAborted()) {
- return;
- }
-
- // Check if we're processing warnings at the end of the log file
- if (!line.startsWith("[")) { //$NON-NLS-1$
- line = scanner.nextLine();
- }
-
- // identify the deadlock interleavings
- if (line.endsWith("DEADLOCK")) { //$NON-NLS-1$
- if (this.deadlockInterleavings == null) {
- this.deadlock = true;
- this.deadlockInterleavings = new ArrayList<Integer>();
- this.deadlockIndex = 0;
- }
- final StringTokenizer st = new StringTokenizer(line);
- this.deadlockInterleavings.add(Integer.parseInt(st.nextToken()));
- continue;
- }
-
- // If this line indicates FIB, process all of them
- if (line.equalsIgnoreCase("[FIB]")) { //$NON-NLS-1$
- this.fib = true;
- this.irrelevantBarriers = new HashMap<Integer, String>();
- line = scanner.nextLine();
-
- // Marks end of FIB list
- while (!line.equals("") && !line.startsWith("[")) { //$NON-NLS-1$ //$NON-NLS-2$
- final StringTokenizer st = new StringTokenizer(line);
- st.nextToken();
- final int lineNumber = Integer.parseInt(st.nextToken());
- this.irrelevantBarriers.put(lineNumber, line);
-
- // See if this is the end of the log file.
- if (!scanner.hasNextLine()) {
- break;
- }
- line = scanner.nextLine();
- }
- continue;
- }
-
- // If this line indicates TYPE MISMATCH, process all of them
- if (line.equalsIgnoreCase("[TYPEMISMATCH]")) { //$NON-NLS-1$
- this.typeMismatches = new HashMap<Integer, String>();
- line = scanner.nextLine();
-
- // Marks end of FIB list
- while (!line.equals("") && !line.startsWith("[")) { //$NON-NLS-1$ //$NON-NLS-2$
- final StringTokenizer st = new StringTokenizer(line);
- st.nextToken();
- final int lineNumber = Integer.parseInt(st.nextToken());
- this.typeMismatches.put(lineNumber, line);
-
- // See if this is the end of the log file.
- if (!scanner.hasNextLine()) {
- break;
- }
- line = scanner.nextLine();
- }
- continue;
- }
-
- final Envelope env = Envelope.parse(line);
- if (env == null) {
- throw new ParseException(line, interleaving);
- // continue;
- } else if (env.isAssertion()) {
- this.assertionViolation = true;
- env.setInterleaving((interleaving < 0) ? 1 : interleaving);
- } else if (env.getFunctionName() == "MPI_assert") { //$NON-NLS-1$
- if (scanner.hasNext()) {
- scanner.nextLine();
- }
- } else if (env.isLeak()) {
- if (this.resourceLeaks == null) {
- this.resourceLeak = true;
- this.resourceLeaks = new HashMap<Integer, Envelope>();
- }
- this.resourceLeaks.put(env.getLinenumber(), env);
- }
-
- // Advance to the next interleaving if needed. Also need to
- // clear all the data structures.
- if (env.getInterleaving() != interleaving) {
- // add a transition list for the interleaving
- this.transitionList.add(new ArrayList<Envelope>());
- interleaving = env.getInterleaving();
- this.errorCalls.add(interleaving, null);
- for (int j = 0; j < this.numRanks; j++) {
- collectiveCount.get(j).clear();
- }
- p2pMatches.clear();
- collectiveMatches.clear();
- }
-
- /*
- * Check for calls that were not issued and add them to the
- * interleaving's HashMap in the error list. However, leaks
- * should not be added!
- */
- if (env.getIssueIndex() == -1 && !env.isLeak()) {
- if (this.errorCalls.get(interleaving) == null) {
- this.errorCalls.add(interleaving, new HashMap<String, Envelope>());
- }
- final String key = env.getFunctionName() + env.getFilePath() + env.getLinenumber();
- this.errorCalls.get(interleaving).put(key, env);
- }
-
- /*
- * If we have already seen the issue orders, set to -1, meaning
- * not issued.
- */
- if (issueOrders.containsKey(env.getIssueIndex())) {
- env.setIssueIndex(-1);
- } else {
- issueOrders.put(env.getIssueIndex(), 0);
- }
-
- /*
- * See if there is a P2P match - the HashMap contains the
- * Envelope's interleaving, rank, and index. If there is a
- * match, then store it in the envelope. This is so we don't
- * have to search through everything later when we need the
- * match.
- */
- if (env.getMatch_index() >= 0 && env.getMatch_rank() >= 0) {
- final String p2pMatchString = env.getInterleaving() + "_" + env.getMatch_rank() + "_" + env.getMatch_index(); //$NON-NLS-1$ //$NON-NLS-2$
- if (p2pMatches.containsKey(p2pMatchString)) {
- final Envelope match = p2pMatches.get(p2pMatchString);
- env.pairWithEnvelope(match);
- if (env.getFunctionName() != "MPI_Probe" && env.getFunctionName() != "MPI_Iprobe") { //$NON-NLS-1$ //$NON-NLS-2$
- p2pMatches.remove(p2pMatchString);
- }
- } else {
- p2pMatches.put(env.getInterleaving() + "_" + env.getRank() + "_" + env.getIndex(), env); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /*
- * Next, see if there is a collective match. Also, don't want to
- * match for communicators of size one, since there will be
- * nothing to add.
- */
- if (env.isCommunicator_set() && env.getCommunicator_ranks().size() > 1
- && env.getCommunicator_ranks_string() != null) {
- int count;
- String collective = env.getFunctionName() + " " + env.isCommunicator_set(); //$NON-NLS-1$
- if (collectiveCount.get(env.getRank()).containsKey(collective)) {
- count = collectiveCount.get(env.getRank()).get(collective);
- } else {
- count = 0;
- }
- collectiveCount.get(env.getRank()).put(collective, count + 1);
-
- // Now see if there are others with the same collective.
- collective = env.getFunctionName() + " " + count + " " + env.getCommunicator_ranks_string(); //$NON-NLS-1$ //$NON-NLS-2$
- if (collectiveMatches.containsKey(collective)) {
- final ArrayList<Envelope> matches = collectiveMatches.get(collective);
- for (final Envelope e : matches) {
- env.addCollectiveMatch(e);
- }
- matches.add(env);
-
- // See if we have all of the matches, and if so, remove.
- if (matches.size() == env.getCommunicator_ranks()
- .size()) {
- collectiveMatches.remove(collective);
- }
- } else {
- final ArrayList<Envelope> matches = new ArrayList<Envelope>();
- matches.add(env);
- collectiveMatches.put(collective, matches);
- }
- }
-
- // Add to the list, but if this is a resource leak DO NOT
- if (!env.isLeak()) {
- this.transitionList.get(this.transitionList.size() - 1).add(env);
- }
- }
-
- // If no transitions found in the interleaving, add at least one.
- if (this.transitionList.size() == 0) {
- this.transitionList.add(new ArrayList<Envelope>());
- }
-
- // Sort the transitions if the preference is enabled.
- final String str = GemPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.GEM_PREF_STEP_ORDER);
- final int size = this.transitionList.size();
- if (str.equals("issueOrder")) { //$NON-NLS-1$
- // Sort by internal issue order
- for (int k = 0; k < size; k++) {
- Collections.sort(this.transitionList.get(k), new InternalIssueOrderSorter());
- }
- } else {
- // Sort by program order
- for (int l = 0; l < size; l++) {
- Collections.sort(this.transitionList.get(l), new ProgramOrderSorter());
- }
- }
- this.currentInterleaving = 0;
- this.currentTransitionIndex = -1;
-
- } catch (final CoreException ce) {
- GemUtilities.logExceptionDetail(ce);
- } catch (final ParseException pe) {
- GemUtilities.logExceptionDetail(pe);
- } finally {
- if (scanner != null) {
- scanner.close();
- }
- }
- }
-
- /**
- * Sets the envelope involved with the current transition to the one
- * specified.
- *
- * @param none
- * @return Envelope Null if it didn't make sense to place the specified
- * Envelope, the Envelope otherwise.
- */
- // TODO This is not currently being used
- synchronized public Envelope setCurrentTransition(Envelope env) {
- if (env == null) {
- return null;
- }
-
- if (env.getInterleaving() - 1 < 0 || env.getInterleaving() - 1 >= this.transitionList.size()) {
- return null;
- }
-
- for (int i = 0; i < this.transitionList.get(env.getInterleaving() - 1).size(); i++) {
- if (this.transitionList.get(env.getInterleaving() - 1).get(i) == env) {
- this.currentInterleaving = env.getInterleaving() - 1;
- this.currentTransitionIndex = i;
- return env;
- }
- }
- return null;
- }
-
- /**
- * Moves to the next interleaving.
- *
- * @param none
- * @return boolean True if the operation was successful, false otherwise.
- */
- synchronized public boolean setNextInterleaving() {
-
- if (this.currentInterleaving + 1 >= this.transitionList.size()) {
- return false;
- }
-
- this.currentInterleaving++;
- this.currentTransitionIndex = -1;
- return true;
- }
-
- /**
- * Moves to the previous interleaving.
- *
- * @param none
- * @return boolean True if the operation was successful, false otherwise.
- */
- synchronized public boolean setPreviousInterleaving() {
- if (this.currentInterleaving == 0) {
- return false;
- }
-
- this.currentInterleaving--;
- this.currentTransitionIndex = -1;
- return true;
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/views/GemAnalyzer.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/views/GemAnalyzer.java
deleted file mode 100644
index 81c515f..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/views/GemAnalyzer.java
+++ /dev/null
@@ -1,2091 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.views;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Scanner;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.ptp.internal.gem.preferences.PreferenceConstants;
-import org.eclipse.ptp.internal.gem.util.Envelope;
-import org.eclipse.ptp.internal.gem.util.GemUtilities;
-import org.eclipse.ptp.internal.gem.util.InternalIssueOrderSorter;
-import org.eclipse.ptp.internal.gem.util.ListElement;
-import org.eclipse.ptp.internal.gem.util.ProgramOrderSorter;
-import org.eclipse.ptp.internal.gem.util.Transitions;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * The GEM Analyzer View.
- */
-public class GemAnalyzer extends ViewPart {
-
- // Listens for double-clicks and jumps to that line of code in the editor
- private class DoubleClickListener implements IDoubleClickListener {
-
- public void doubleClick(DoubleClickEvent event) {
- final ISelection selection = event.getSelection();
- final StructuredSelection structure = (StructuredSelection) selection;
- final ListElement element = (ListElement) structure.getFirstElement();
- if (element != null) {
- final IFile sourceFile = element.getFile();
- final int lineNumber = element.getLineNumber();
- openEditor(lineNumber, sourceFile);
- }
- }
- }
-
- // The ID for this view
- public static final String ID = "org.eclipse.ptp.gem.views.GemAnalyzer"; //$NON-NLS-1$
-
- // Data structures and more complex members
- private Transitions transitions;
- private LinkedList<Shell> activeShells;
-
- // Container objects and viewers
- private Composite parent;
- private ListViewer leftViewer;
- private ListViewer rightViewer;
- private Action getHelp;
- private Action terminateButton;
-
- // Simple members
- private int numRanks;
- private int lockedRank;
- private IFile currLeftFile;
- private IFile currRightFile;
-
- // SWT Buttons
- private Button firstTransitionButton;
- private Button previousTransitionButton;
- private Button nextTransitionButton;
- private Button lastTransitionButton;
- private Button firstInterleavingButton;
- private Button previousInterleavingButton;
- private Button nextInterleavingButton;
- private Button lastInterleavingButton;
- private Button deadlockInterleavingButton;
- private Button internalIssueOrderButton;
- private Button programOrderButton;
- private Button launchHpvButton;
- private Button browseCallsButton;
- private Button runGemButton;
- private Combo lockRanksComboList;
- private Combo setNumProcsComboList;
-
- // Groups that need to be accessed multiple times
- private Group interleavingsGroup;
- private Group transitionsGroup;
- private Group stepOrderGroup;
-
- // SWT Labels
- private Label errorMessageLabel;
- private Label leftCodeWindowLabel;
- private Label rightCodeWindowLabel;
- private CLabel leftCodeWindowExplenationLabel;
- private CLabel rightCodeWindowExplenationLabel;
-
- // Used for the transition label
- private int transitionLabelIndex;
- private int transitionLabelCount;
-
- // Things for highlighting the appropriate line in the code windows
- private int leftIndex;
- private int rightIndex;
- private int previousLeftIndex;
-
- // Listeners for the code viewers
- private SelectionListener singleListener;
- private DoubleClickListener doubleListener;
-
- // The active file resource needed for various operations
- private IFile activeFile;
-
- // Threads
- private Thread analyzerUpdateThread;
- private Thread clearAnalyzerThread;
- private Thread disableTerminateButtonThread;
-
- // Misc
- private int leftLines;
- private int rightLines;
- private boolean aborted;
-
- /**
- * Constructor.
- *
- * @param none
- */
- public GemAnalyzer() {
- this.lockedRank = -1;
- this.aborted = false;
- }
-
- /**
- * Brings this ViewPart to the front and gives it focus.
- *
- * @param none
- * @return none
- */
- public void activate() {
- final Thread activationThread = new Thread() {
- @Override
- public void run() {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- if (page != null) {
- page.activate(GemAnalyzer.this);
- }
- }
- };
-
- // We need to switch to the thread that is allowed to change the UI
- Display.getDefault().syncExec(activationThread);
- }
-
- /**
- * Runs a thread that clears the Analyzer view.
- *
- * @param none
- * @return void
- */
- public void clear() {
- Display.getDefault().syncExec(this.clearAnalyzerThread);
- this.aborted = false;
- }
-
- /*
- * Calls finer grained methods, populating the view action bar.
- */
- private void contributeToActionBars() {
- final IActionBars bars = getViewSite().getActionBars();
- fillLocalPullDown(bars.getMenuManager());
- fillLocalToolBar(bars.getToolBarManager());
- }
-
- /*
- * Helper method called by createPartControl.
- */
- private void createCodeWindowsGroup(Composite parent) {
- // Get images for buttons from image cache
- final Image sourceCallImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/source-call.gif")); //$NON-NLS-1$
- final Image matchCallImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/match-call.gif")); //$NON-NLS-1$
-
- // Create the layout for the Analyzer windows and call info labels
- final Group codeWindowsGroup = new Group(parent, SWT.NONE | SWT.SHADOW_IN);
- codeWindowsGroup.setText(Messages.GemAnalyzer_0);
- final GridLayout codeWindowsLayout = new GridLayout();
- codeWindowsLayout.numColumns = 2;
- codeWindowsLayout.marginHeight = 10;
- codeWindowsLayout.marginWidth = 10;
- codeWindowsLayout.horizontalSpacing = 15;
- codeWindowsGroup.setLayout(codeWindowsLayout);
- codeWindowsGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
-
- // Create code window labels and their respective layouts, etc.
- final String newline = System.getProperty("line.separator"); //$NON-NLS-1$
- this.leftCodeWindowLabel = new Label(codeWindowsGroup, SWT.WRAP);
- this.leftCodeWindowLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
- final Font leftCodeWindowLabelFont = setFontSize(this.leftCodeWindowLabel.getFont(), 9);
- this.leftCodeWindowLabel.setFont(leftCodeWindowLabelFont);
- this.leftCodeWindowLabel.setText(newline);
- this.rightCodeWindowLabel = new Label(codeWindowsGroup, SWT.WRAP);
- this.rightCodeWindowLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
- final Font rightCodeWindowLabelFont = setFontSize(this.rightCodeWindowLabel.getFont(), 9);
- this.rightCodeWindowLabel.setFont(rightCodeWindowLabelFont);
- this.rightCodeWindowLabel.setText(newline);
-
- // The short explanations of each of the code windows
- this.leftCodeWindowExplenationLabel = new CLabel(codeWindowsGroup, SWT.WRAP | SWT.NULL);
- this.rightCodeWindowExplenationLabel = new CLabel(codeWindowsGroup, SWT.WRAP | SWT.NULL);
- this.leftCodeWindowExplenationLabel.setImage(sourceCallImage);
- this.rightCodeWindowExplenationLabel.setImage(matchCallImage);
- this.leftCodeWindowExplenationLabel.setText(Messages.GemAnalyzer_1);
- this.rightCodeWindowExplenationLabel.setText(Messages.GemAnalyzer_2);
-
- // Create the Analyzer list viewers
- this.leftViewer = new ListViewer(codeWindowsGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- this.rightViewer = new ListViewer(codeWindowsGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- final Font leftViewerFont = setFontSize(this.leftViewer.getControl().getFont(), 8);
- final Font rightViewerFont = setFontSize(this.rightViewer.getControl().getFont(), 8);
- this.leftViewer.getControl().setFont(leftViewerFont);
- this.rightViewer.getControl().setFont(rightViewerFont);
- this.leftViewer.getList().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
- this.rightViewer.getList().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
-
- /*
- * Create two listeners for these viewers. SelectionListener is to
- * prevent user from changing the selected line. DoubleListener maps
- * selected line to the editor view
- */
- this.singleListener = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- final org.eclipse.swt.widgets.List list = (org.eclipse.swt.widgets.List) e.getSource();
- final String entry = list.getItem(0).toString();
-
- // Determine if collective call clicked in the Right Viewer
- if (!entry.contains(Messages.GemAnalyzer_3) || !entry.contains(Messages.GemAnalyzer_4)) {
- updateSelectedLine(false);
- }
- }
- };
-
- // SelectionListener prevents user from changing selected viewer line
- this.doubleListener = new DoubleClickListener();
- this.leftViewer.getList().addSelectionListener(this.singleListener);
- this.rightViewer.getList().addSelectionListener(this.singleListener);
- this.leftViewer.addDoubleClickListener(this.doubleListener);
- this.rightViewer.addDoubleClickListener(this.doubleListener);
- }
-
- /*
- * Helper method called by createPartControl.
- */
- private void createInterleavingsGroup(Composite parent) {
- // Get images for buttons from image cache
- final Image firstItemImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/first-item.gif")); //$NON-NLS-1$
- final Image lastItemImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/last-item.gif")); //$NON-NLS-1$
- final Image prevItemImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/prev-item.gif")); //$NON-NLS-1$
- final Image nextItemImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/next-item.gif")); //$NON-NLS-1$
- final Image deadlockImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/deadlock.gif")); //$NON-NLS-1$
-
- // Group and FormLayout data for interleaving buttons and labels
- this.interleavingsGroup = new Group(parent, SWT.SHADOW_IN);
- this.interleavingsGroup.setText(Messages.GemAnalyzer_5);
- this.interleavingsGroup.setToolTipText(Messages.GemAnalyzer_6);
- final FormData interleavingsFormData = new FormData();
- interleavingsFormData.bottom = new FormAttachment(100, -5);
- interleavingsFormData.left = new FormAttachment(44, 0);
- this.interleavingsGroup.setLayoutData(interleavingsFormData);
- this.interleavingsGroup.setLayout(new FormLayout());
-
- // First interleaving button
- this.firstInterleavingButton = new Button(this.interleavingsGroup, SWT.PUSH);
- this.firstInterleavingButton.setImage(firstItemImage);
- this.firstInterleavingButton.setToolTipText(Messages.GemAnalyzer_7);
- this.firstInterleavingButton.setEnabled(false);
- final FormData ifirstFormData = new FormData();
- ifirstFormData.left = new FormAttachment(0, 5);
- ifirstFormData.bottom = new FormAttachment(100, -5);
- this.firstInterleavingButton.setLayoutData(ifirstFormData);
-
- // Previous interleaving button
- this.previousInterleavingButton = new Button(this.interleavingsGroup, SWT.PUSH);
- this.previousInterleavingButton.setImage(prevItemImage);
- this.previousInterleavingButton.setToolTipText(Messages.GemAnalyzer_8);
- this.previousInterleavingButton.setEnabled(false);
- final FormData iprevFormData = new FormData();
- iprevFormData.left = new FormAttachment(this.firstInterleavingButton, 3);
- iprevFormData.bottom = new FormAttachment(100, -5);
- this.previousInterleavingButton.setLayoutData(iprevFormData);
-
- // Next interleaving button
- this.nextInterleavingButton = new Button(this.interleavingsGroup, SWT.PUSH);
- this.nextInterleavingButton.setImage(nextItemImage);
- this.nextInterleavingButton.setToolTipText(Messages.GemAnalyzer_9);
- this.nextInterleavingButton.setEnabled(false);
- final FormData inextFormData = new FormData();
- inextFormData.left = new FormAttachment(this.previousInterleavingButton, 3);
- inextFormData.bottom = new FormAttachment(100, -5);
- this.nextInterleavingButton.setLayoutData(inextFormData);
-
- // Last interleaving button
- this.lastInterleavingButton = new Button(this.interleavingsGroup, SWT.PUSH);
- this.lastInterleavingButton.setImage(lastItemImage);
- this.lastInterleavingButton.setToolTipText(Messages.GemAnalyzer_10);
- this.lastInterleavingButton.setEnabled(false);
- final FormData ilastFormData = new FormData();
- ilastFormData.left = new FormAttachment(this.nextInterleavingButton, 3);
- ilastFormData.bottom = new FormAttachment(100, -5);
- this.lastInterleavingButton.setLayoutData(ilastFormData);
-
- // Deadlock interleaving button
- this.deadlockInterleavingButton = new Button(this.interleavingsGroup, SWT.PUSH);
- this.deadlockInterleavingButton.setImage(deadlockImage);
- this.deadlockInterleavingButton.setToolTipText(Messages.GemAnalyzer_11);
- this.deadlockInterleavingButton.setEnabled(false);
- final FormData deadlockButtonFormData = new FormData();
- deadlockButtonFormData.left = new FormAttachment(this.lastInterleavingButton, 3);
- deadlockButtonFormData.bottom = new FormAttachment(100, -5);
- deadlockButtonFormData.right = new FormAttachment(100, -5);
- this.deadlockInterleavingButton.setLayoutData(deadlockButtonFormData);
- }
-
- /**
- * Callback that allows us to create the viewer and initialize it.
- *
- * @param parent
- * The parent Composite for this View.
- * @return void
- */
- @Override
- public void createPartControl(Composite parent) {
- this.parent = parent;
-
- // Create layout for the parent Composite
- final GridLayout parentLayout = new GridLayout();
- parentLayout.numColumns = 1;
- parentLayout.marginHeight = 10;
- parentLayout.marginWidth = 10;
- parent.setLayout(parentLayout);
-
- // Create container for transition and interleaving button groups
- final Composite runtimeComposite = new Composite(parent, SWT.NULL);
- runtimeComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
- runtimeComposite.setLayout(new FormLayout());
- final Composite buttonGroupsComposite = new Composite(parent, SWT.NULL);
- buttonGroupsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
- buttonGroupsComposite.setLayout(new FormLayout());
-
- // Create groups and selection listeners
- createRuntimeGroup(runtimeComposite);
- createTransitionsGroup(buttonGroupsComposite);
- createInterleavingsGroup(buttonGroupsComposite);
- createStepOrderGroup(buttonGroupsComposite);
- createCodeWindowsGroup(parent);
- createSelectionListeners();
-
- // create actions & connect to buttons, context menus and pull-downs
- makeActions();
- hookContextMenu();
- contributeToActionBars();
- }
-
- /*
- * Helper method called by createPartControl.
- */
- private void createRuntimeGroup(Composite parent) {
- // Get images for buttons from image cache
- final Image noErrorImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/no-error.gif")); //$NON-NLS-1$
- final Image hbvImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/hbv-trident.gif")); //$NON-NLS-1$
- final Image trident = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/trident.gif")); //$NON-NLS-1$
-
- // Runtime information group
- final Group runtimeInfoGroup = new Group(parent, SWT.SHADOW_IN);
- runtimeInfoGroup.setText(Messages.GemAnalyzer_12);
- final FormData grid = new FormData();
- grid.left = new FormAttachment(0, 0);
- grid.right = new FormAttachment(100, -5);
- grid.bottom = new FormAttachment(100, -5);
- runtimeInfoGroup.setLayoutData(grid);
- runtimeInfoGroup.setLayout(new FormLayout());
-
- // Error message label
- this.errorMessageLabel = new Label(runtimeInfoGroup, SWT.NONE);
- final FormData deadlockMessageFormData = new FormData();
- deadlockMessageFormData.left = new FormAttachment(0, 5);
- deadlockMessageFormData.top = new FormAttachment(0, 5);
- deadlockMessageFormData.width = 300;
- this.errorMessageLabel.setLayoutData(deadlockMessageFormData);
- final Font errorMessageLabelFont = setFontSize(this.errorMessageLabel.getFont(), 10);
- this.errorMessageLabel.setFont(errorMessageLabelFont);
-
- // Browse calls button
- this.browseCallsButton = new Button(runtimeInfoGroup, SWT.PUSH);
- this.browseCallsButton.setImage(noErrorImage);
- this.browseCallsButton.setText(Messages.GemAnalyzer_79);
- this.browseCallsButton.setToolTipText(Messages.GemAnalyzer_14);
- this.browseCallsButton.setEnabled(false);
- final FormData browseCallsFormData = new FormData();
- browseCallsFormData.right = new FormAttachment(100, -5);
- browseCallsFormData.bottom = new FormAttachment(100, -5);
- this.browseCallsButton.setLayoutData(browseCallsFormData);
-
- // Launch ispUI button
- this.launchHpvButton = new Button(runtimeInfoGroup, SWT.PUSH);
- this.launchHpvButton.setImage(hbvImage);
- this.launchHpvButton.setText(Messages.GemAnalyzer_15);
- this.launchHpvButton.setToolTipText(Messages.GemAnalyzer_16);
- this.launchHpvButton.setEnabled(false);
- final FormData launchIspUIFormData = new FormData();
- launchIspUIFormData.right = new FormAttachment(this.browseCallsButton, -5);
- launchIspUIFormData.bottom = new FormAttachment(100, -5);
- this.launchHpvButton.setLayoutData(launchIspUIFormData);
-
- // Run GEM button
- this.runGemButton = new Button(runtimeInfoGroup, SWT.PUSH);
- this.runGemButton.setImage(trident);
- this.runGemButton.setToolTipText(Messages.GemAnalyzer_17);
- final FormData runGemFormData = new FormData();
- runGemFormData.right = new FormAttachment(this.launchHpvButton, -20);
- runGemFormData.bottom = new FormAttachment(100, -5);
- this.runGemButton.setLayoutData(runGemFormData);
- this.runGemButton.setEnabled(true);
-
- // Set number of processes button
- this.setNumProcsComboList = new Combo(runtimeInfoGroup, SWT.DROP_DOWN);
- final Font setRankComboFont = setFontSize(this.setNumProcsComboList.getFont(), 9);
- this.setNumProcsComboList.setFont(setRankComboFont);
- final String[] items = new String[] {};
- this.setNumProcsComboList.setItems(items);
- this.setNumProcsComboList.setText(" "); //$NON-NLS-1$
- this.setNumProcsComboList.setToolTipText(Messages.GemAnalyzer_18);
- final FormData setRankFormData = new FormData();
- setRankFormData.width = 50;
- setRankFormData.right = new FormAttachment(this.runGemButton, -5);
- setRankFormData.bottom = new FormAttachment(100, -5);
- this.setNumProcsComboList.setLayoutData(setRankFormData);
- this.setNumProcsComboList.setEnabled(true);
- setNumProcItems();
- updateDropDown();
-
- // Font for the buttons
- final Font buttonFont = setFontSize(this.errorMessageLabel.getFont(), 8);
- this.launchHpvButton.setFont(buttonFont);
- this.browseCallsButton.setFont(buttonFont);
- this.setNumProcsComboList.setFont(buttonFont);
- }
-
- /*
- * Helper method called by createPartControl.
- */
- private void createSelectionListeners() {
- // SelectionListeners for transitions group buttons
- this.firstTransitionButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateFirstTransition(true);
- }
- });
-
- this.previousTransitionButton
- .addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updatePreviousTransition();
- }
- });
-
- this.nextTransitionButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateNextTransition(true);
- }
- });
-
- this.lastTransitionButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateLastTransition();
- }
- });
-
- this.lockRanksComboList.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- if (GemAnalyzer.this.lockRanksComboList.getText() == null) {
- return;
- }
-
- try {
- final int selectionIndex = GemAnalyzer.this.lockRanksComboList.getSelectionIndex();
- final String selectionText = GemAnalyzer.this.lockRanksComboList.getItems()[selectionIndex];
- final Pattern rankPattern = Pattern.compile("^([a-zA-Z]+?)\\s+([0-9]+?)\\s+([a-zA-Z]+?)$"); //$NON-NLS-1$
- final Matcher rankPatternMatcher = rankPattern.matcher(selectionText);
- if (rankPatternMatcher.matches()) {
- final String rankStr = rankPatternMatcher.group(2);
- GemAnalyzer.this.lockedRank = Integer.parseInt(rankStr);
- } else {
- GemAnalyzer.this.lockedRank = -1;
- }
- updateTransitionLabels(true);
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- GemAnalyzer.this.lockedRank = -1;
- }
- }
- });
-
- // SelectionListeners for interleavings group buttons
- this.firstInterleavingButton
- .addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (GemAnalyzer.this.transitions.hasPreviousInterleaving()) {
- while (GemAnalyzer.this.transitions.setPreviousInterleaving()) {
- // do nothing
- }
- updateTransitionLabels(true);
- } else {
- GemUtilities.showInformationDialog(Messages.GemAnalyzer_19);
- }
- }
- });
-
- this.previousInterleavingButton
- .addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (GemAnalyzer.this.transitions.hasPreviousInterleaving()) {
- GemAnalyzer.this.transitions.setPreviousInterleaving();
- updateTransitionLabels(true);
- } else {
- GemUtilities.showInformationDialog(Messages.GemAnalyzer_20);
- }
- }
- });
-
- this.nextInterleavingButton
- .addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (GemAnalyzer.this.transitions.hasNextInterleaving()) {
- GemAnalyzer.this.transitions.setNextInterleaving();
- updateTransitionLabels(true);
- } else {
- GemUtilities.showInformationDialog(Messages.GemAnalyzer_21);
- }
- }
- });
-
- this.lastInterleavingButton
- .addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- while (GemAnalyzer.this.transitions.hasNextInterleaving()) {
- GemAnalyzer.this.transitions.setNextInterleaving();
- }
- updateTransitionLabels(true);
- }
- });
-
- this.deadlockInterleavingButton
- .addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- GemAnalyzer.this.transitions.deadlockInterleaving();
- updateTransitionLabels(true);
- }
- });
-
- // Selection listeners for step order group
- this.internalIssueOrderButton
- .addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (GemAnalyzer.this.internalIssueOrderButton.getSelection()) {
- if (GemAnalyzer.this.transitions != null) {
- final ArrayList<ArrayList<Envelope>> tlists = GemAnalyzer.this.transitions.getTransitionList();
- // Sort by internal issue order
- final int size = tlists.size();
- for (int i = 0; i < size; i++) {
- Collections.sort(tlists.get(i), new InternalIssueOrderSorter());
- }
- }
-
- // Reset preference store value for this preference
- GemPlugin.getDefault().getPreferenceStore()
- .setValue(PreferenceConstants.GEM_PREF_STEP_ORDER, "issueOrder"); //$NON-NLS-1$
- reset();
- }
- }
- });
-
- this.programOrderButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (GemAnalyzer.this.programOrderButton.getSelection()) {
- // Sort by internal issue order
- if (GemAnalyzer.this.transitions != null) {
- final ArrayList<ArrayList<Envelope>> tlists = GemAnalyzer.this.transitions.getTransitionList();
- final int size = tlists.size();
- for (int i = 0; i < size; i++) {
- Collections.sort(tlists.get(i), new ProgramOrderSorter());
- }
- }
-
- // Reset preference store value for this preference
- GemPlugin.getDefault().getPreferenceStore()
- .setValue(PreferenceConstants.GEM_PREF_STEP_ORDER, "programOrder"); //$NON-NLS-1$
- reset();
- }
- }
- });
-
- // To conveniently run GEM from this view
- this.runGemButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- URI inputLocation = null;
- IPath path = null;
-
- try {
- inputLocation = new URI(pstore.getString(PreferenceConstants.GEM_PREF_MOST_RECENT_FILE));
- } catch (final URISyntaxException e) {
- GemUtilities.logExceptionDetail(e);
- }
- if (inputLocation != null) {
- path = new Path(inputLocation.getPath());
- }
- if (GemAnalyzer.this.activeFile == null) {
- GemUtilities.setTaskStatus(GemUtilities.TaskStatus.ABORTED);
- return;
- }
- final IFile file = GemUtilities.getCurrentProject(GemAnalyzer.this.activeFile).getFile(path.lastSegment());
- path = file.getFullPath();
- final String extension = file.getFileExtension();
- boolean isSourceFile = false;
-
- if (extension != null) {
- // The most common C & C++ source file extensions
- isSourceFile = extension.equals("c") //$NON-NLS-1$
- || extension.equals("cpp") || extension.equals("c++") //$NON-NLS-1$ //$NON-NLS-2$
- || extension.equals("cc") || extension.equals("cp"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // ask for command line arguments
- GemUtilities.setCommandLineArgs();
-
- // Open Analyzer and Browser Views in preference order
- // Find the active editor
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
-
- try {
- final String activeView = pstore.getString(PreferenceConstants.GEM_ACTIVE_VIEW);
- if (activeView.equals("analyzer")) { //$NON-NLS-1$
- page.showView(GemBrowser.ID);
- page.showView(GemAnalyzer.ID);
- } else {
- page.showView(GemAnalyzer.ID);
- page.showView(GemBrowser.ID);
- }
- GemUtilities.initGemViews(file, isSourceFile, true);
- } catch (final PartInitException e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
- });
-
- // Selection listeners for runtime information group buttons
- this.setNumProcsComboList.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- if (GemAnalyzer.this.setNumProcsComboList.getText() == null) {
- return;
- }
-
- final int selectionIndex = GemAnalyzer.this.setNumProcsComboList.getSelectionIndex();
- final String nprocsStr = GemAnalyzer.this.setNumProcsComboList.getItems()[selectionIndex];
- final int newNumProcs = Integer.parseInt(nprocsStr);
-
- // Reset the numProcs value in the preference store
- GemPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.GEM_PREF_NUMPROCS, newNumProcs);
-
- // If the browser is open updates its drop down
- try {
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- final IViewPart browserPart = window.getActivePage().findView(GemBrowser.ID);
- final GemBrowser browser = (GemBrowser) browserPart;
- browser.updateDropDown();
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
- });
-
- this.launchHpvButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- final URI uri = GemUtilities.getMostRecentURI();
- IPath sourceFilePath = null;
- IFile sourceFile = null;
-
- if (uri != null) {
- sourceFilePath = new Path(uri.getPath());
- }
-
- final IProject currentProject = GemUtilities.getProjectLogFile().getProject();
- final String currentProjectPath = currentProject.getLocationURI().getPath();
- if (sourceFilePath != null) {
- sourceFilePath = sourceFilePath.makeRelativeTo(new Path(currentProjectPath));
- sourceFile = currentProject.getFile(sourceFilePath);
- }
-
- if (sourceFile != null) {
- if (GemUtilities.isRemoteProject(GemAnalyzer.this.activeFile)
- || GemUtilities.isSynchronizedProject(GemAnalyzer.this.activeFile)) {
- GemUtilities.showInformationDialog(Messages.GemAnalyzer_23);
- return;
- }
-
- // Otherwise launch the HB viewer
- GemUtilities.doHbv(sourceFile);
- } else {
- // There was a local error while creating the log file.
- final String message = Messages.GemAnalyzer_13;
- // GemUtilities.showErrorDialog(message);
- }
- }
- });
-
- this.browseCallsButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (GemAnalyzer.this.transitions == null) {
- final String message = Messages.GemAnalyzer_24;
- GemUtilities.showErrorDialog(message);
- return;
- }
- final class CallBrowserDisplay implements Runnable {
- public void run() {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final Display display = wb.getDisplay();
- final Shell shell = new Shell();
- shell.setText(Messages.GemAnalyzer_68);
- shell.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/magnified-trident.gif"))); //$NON-NLS-1$
- shell.setLayout(new GridLayout());
- final CLabel fileNameLabel = new CLabel(shell, SWT.BORDER_SOLID);
- fileNameLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- final CLabel numProcsLabel = new CLabel(shell, SWT.BORDER_SOLID);
- numProcsLabel.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/processes.gif"))); //$NON-NLS-1$
- numProcsLabel.setText(Messages.GemAnalyzer_69 + GemAnalyzer.this.numRanks);
- numProcsLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- final Tree tree = new Tree(shell, SWT.BORDER);
- tree.setLinesVisible(true);
- tree.setLayoutData(new GridData(GridData.FILL_BOTH));
- tree.setFont(setFontSize(tree.getFont(), 8));
-
- // Declare everything we'll be working with
- TreeItem interleavingItem = null;
- TreeItem callItem = null;
- final int currentInter = GemAnalyzer.this.transitions.getCurrentInterleaving();
-
- // Loop over all interleavings
- final int numInterleavings = GemAnalyzer.this.transitions.getTotalInterleavings() + 1; // 0-based
- for (int currentInterleaving = 1; currentInterleaving < numInterleavings; currentInterleaving++) {
-
- // Create a root node for each interleaving
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText(Messages.GemAnalyzer_70 + currentInterleaving);
-
- // Loop over all envelopes (transitions) in the current interleaving
- final ArrayList<Envelope> envelopes = GemAnalyzer.this.transitions
- .getInterleavingEnvelopes(currentInterleaving);
- final int listSize = envelopes.size();
- Envelope env = null;
- String functionName = null;
- String fileName = null;
- int lineNumber = -1;
- int envRank = -1;
-
- try {
- for (int envIndex = 0; envIndex < listSize; envIndex++) {
- env = envelopes.get(envIndex);
-
- // Don't display resource leaks
- if (env.isLeak()) {
- continue;
- }
-
- // Create the leaf node representing the call
- callItem = new TreeItem(interleavingItem, SWT.NULL);
- functionName = env.getFunctionName();
- fileName = new Path(env.getFilePath()).lastSegment().toString();
- lineNumber = env.getLinenumber();
- envRank = env.getRank();
-
- // make all calls have same name length
- while (functionName.length() < 12) {
- functionName += " "; //$NON-NLS-1$
- }
-
- final StringBuffer stringBuffer = new StringBuffer();
- stringBuffer.append("Rank: "); //$NON-NLS-1$
- stringBuffer.append(envRank);
- stringBuffer.append("\t\t"); //$NON-NLS-1$
- stringBuffer.append(functionName);
- stringBuffer.append("\t\t"); //$NON-NLS-1$
- stringBuffer.append(fileName);
- stringBuffer.append(":"); //$NON-NLS-1$
- stringBuffer.append(lineNumber);
- final String callItemText = stringBuffer.toString();
- callItem.setText(callItemText);
-
- // Mark the calls with errors red
- if (env.getIssueIndex() == -1) {
- callItem.setForeground(new Color(null, 255, 0, 0));
- }
-
- // Mark the current call(s) blue
- String currentFile = null;
- int currentLine = -1;
- if (GemAnalyzer.this.transitions.getCurrentTransition() != null) {
- currentFile = GemAnalyzer.this.transitions.getCurrentTransition().getFilePath();
- currentLine = GemAnalyzer.this.transitions.getCurrentTransition().getLinenumber();
- }
- if (currentFile != null) {
- if (currentLine == env.getLinenumber() && currentFile.equals(env.getFilePath())
- && currentInter == env.getInterleaving()) {
- callItem.setForeground(new Color(null, 0, 0, 255));
- // Comment this out if you don't want items expanded
- revealTreeItem(callItem);
- }
- }
- }
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
-
- // Open up the Call Browser window with the specified size
- shell.setSize(550, 550);
- shell.open();
-
- if (GemAnalyzer.this.activeShells == null) {
- GemAnalyzer.this.activeShells = new LinkedList<Shell>();
- }
- GemAnalyzer.this.activeShells.add(shell);
-
- // Set up the event loop for disposal
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch()) {
- display.sleep();
- }
- }
- }
- }
- final CallBrowserDisplay browser = new CallBrowserDisplay();
- Display.getDefault().syncExec(browser);
- }
- });
- }
-
- /*
- * Helper method called by createPartControl.
- */
- private void createStepOrderGroup(Composite parent) {
- // Group and FormLayout data for step order radio buttons
- this.stepOrderGroup = new Group(parent, SWT.SHADOW_IN);
- this.stepOrderGroup.setText(Messages.GemAnalyzer_25);
- this.stepOrderGroup.setToolTipText(Messages.GemAnalyzer_26);
- final FormData stepOrderFormData = new FormData();
- // stepOrderFormData.left = new FormAttachment(this.interleavingsGroup,
- // 20);
- stepOrderFormData.right = new FormAttachment(100, -5);
- stepOrderFormData.bottom = new FormAttachment(100, -5);
- this.stepOrderGroup.setLayoutData(stepOrderFormData);
- this.stepOrderGroup.setLayout(new GridLayout(3, false));
-
- // Step order radio buttons
- this.internalIssueOrderButton = new Button(this.stepOrderGroup, SWT.RADIO);
- this.internalIssueOrderButton.setText(Messages.GemAnalyzer_27);
- this.internalIssueOrderButton.setToolTipText(Messages.GemAnalyzer_28);
- this.programOrderButton = new Button(this.stepOrderGroup, SWT.RADIO);
- this.programOrderButton.setText(Messages.GemAnalyzer_29);
- this.programOrderButton.setToolTipText(Messages.GemAnalyzer_30);
-
- // Choose which one is to be enabled from the Preference Store setting
- final String stepOrder = GemPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.GEM_PREF_STEP_ORDER);
- if (stepOrder.equals("issueOrder")) { //$NON-NLS-1$
- this.internalIssueOrderButton.setSelection(true);
- } else {
- this.programOrderButton.setSelection(true);
- }
-
- // Font for the radio buttons
- final Font buttonFont = setFontSize(this.programOrderButton.getFont(), 8);
- this.internalIssueOrderButton.setFont(buttonFont);
- this.programOrderButton.setFont(buttonFont);
- }
-
- /*
- * Helper method called by createPartControl.
- */
- private void createTransitionsGroup(Composite parent) {
- // Get images for buttons from image cache
- final Image firstItemImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/first-item.gif")); //$NON-NLS-1$
- final Image lastItemImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/last-item.gif")); //$NON-NLS-1$
- final Image prevItemImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/prev-item.gif")); //$NON-NLS-1$
- final Image nextItemImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/next-item.gif")); //$NON-NLS-1$
-
- // Group and FormLayout data for transition buttons and labels
- this.transitionsGroup = new Group(parent, SWT.SHADOW_IN);
- this.transitionsGroup.setText(Messages.GemAnalyzer_32);
- this.transitionsGroup.setToolTipText(Messages.GemAnalyzer_33);
- final FormData transitionsFormData = new FormData();
- transitionsFormData.left = new FormAttachment(0, 0);
- transitionsFormData.bottom = new FormAttachment(100, -5);
- this.transitionsGroup.setLayoutData(transitionsFormData);
- this.transitionsGroup.setLayout(new FormLayout());
-
- // First transition button
- this.firstTransitionButton = new Button(this.transitionsGroup, SWT.PUSH);
- this.firstTransitionButton.setImage(firstItemImage);
- this.firstTransitionButton.setToolTipText(Messages.GemAnalyzer_34);
- this.firstTransitionButton.setEnabled(false);
- final FormData tfirstFormData = new FormData();
- tfirstFormData.left = new FormAttachment(0, 5);
- tfirstFormData.bottom = new FormAttachment(100, -5);
- this.firstTransitionButton.setLayoutData(tfirstFormData);
-
- // Previous transition button
- this.previousTransitionButton = new Button(this.transitionsGroup, SWT.PUSH);
- this.previousTransitionButton.setImage(prevItemImage);
- this.previousTransitionButton.setToolTipText(Messages.GemAnalyzer_35);
- this.previousTransitionButton.setEnabled(false);
- final FormData tprevFormData = new FormData();
- tprevFormData.left = new FormAttachment(this.firstTransitionButton, 3);
- tprevFormData.bottom = new FormAttachment(100, -5);
- this.previousTransitionButton.setLayoutData(tprevFormData);
-
- // Next transition buttons
- this.nextTransitionButton = new Button(this.transitionsGroup, SWT.PUSH);
- this.nextTransitionButton.setImage(nextItemImage);
- this.nextTransitionButton.setToolTipText(Messages.GemAnalyzer_36);
- this.nextTransitionButton.setEnabled(false);
- final FormData tnextFormData = new FormData();
- tnextFormData.left = new FormAttachment(this.previousTransitionButton, 3);
- tnextFormData.bottom = new FormAttachment(100, -5);
- this.nextTransitionButton.setLayoutData(tnextFormData);
-
- // Last transition button
- this.lastTransitionButton = new Button(this.transitionsGroup, SWT.PUSH);
- this.lastTransitionButton.setImage(lastItemImage);
- this.lastTransitionButton.setToolTipText(Messages.GemAnalyzer_37);
- this.lastTransitionButton.setEnabled(false);
- final FormData tlastFormData = new FormData();
- tlastFormData.left = new FormAttachment(this.nextTransitionButton, 3);
- tlastFormData.bottom = new FormAttachment(100, -5);
- this.lastTransitionButton.setLayoutData(tlastFormData);
-
- // Lock ranks button
- this.lockRanksComboList = new Combo(this.transitionsGroup, SWT.DROP_DOWN | SWT.READ_ONLY);
- final Font lockRanksComboFont = setFontSize(this.lockRanksComboList.getFont(), 8);
- this.lockRanksComboList.setFont(lockRanksComboFont);
- final String[] items = new String[] { Messages.GemAnalyzer_83 };
- this.lockRanksComboList.setItems(items);
- this.lockRanksComboList.setToolTipText(Messages.GemAnalyzer_39);
- final FormData lockRanksFormData = new FormData();
- lockRanksFormData.left = new FormAttachment(this.lastTransitionButton, 10);
- lockRanksFormData.right = new FormAttachment(100, -5);
- lockRanksFormData.bottom = new FormAttachment(100, -5);
- this.lockRanksComboList.setLayoutData(lockRanksFormData);
- }
-
- /*
- * Uses the right code window to display all calls associated with the
- * collective operation displayed in the left code view window.
- */
- private void displayCollectiveInfo() {
- final Envelope env = this.transitions.getCurrentTransition();
- final ArrayList<Envelope> matches = env.getCommunicator_matches();
-
- if (matches != null) {
- final int listSize = matches.size();
- for (int i = 0; i < listSize; i++) {
- final Envelope currentMatchEnvelope = matches.get(i);
- final String matchFilePathString = currentMatchEnvelope.getFilePath();
- final IFile sourceFile = GemUtilities.getSourceFile(matchFilePathString, this.activeFile);
-
- // Add the match to the right code view window
- this.rightViewer.add(new ListElement(sourceFile, sourceFile.getName() + Messages.GemAnalyzer_40
- + currentMatchEnvelope.getLinenumber()
- + Messages.GemAnalyzer_41
- + currentMatchEnvelope.getRank(), currentMatchEnvelope.getLinenumber(), false));
- }
- }
- }
-
- /*
- * Displays the specified envelope and it's matches if they exist.
- */
- private void displayEnvelopes(Envelope env) {
- // If the envelope is null, it's a new interleaving, start over
- if (env == null) {
- return;
- }
-
- // Set the indexes for the highlighted line updater
- this.leftIndex = env.getLinenumber();
- boolean hasMatch = true;
- try {
- final Envelope match = env.getMatch_envelope();
- if (match != null) {
- this.rightIndex = match.getLinenumber();
- } else {
- hasMatch = false;
- }
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- }
-
- // Set font color for code window labels
- Color textColor = new Color(this.parent.getShell().getDisplay(), new RGB(0, 0, 255));
- this.leftCodeWindowLabel.setForeground(textColor);
- this.rightCodeWindowLabel.setForeground(textColor);
-
- // Build up the Strings for the Label text
- final String leftResult = getCallText(env, true);
- this.leftCodeWindowLabel.setText(leftResult);
-
- // If a match exists update the right side
- if (hasMatch) {
- final Envelope match = env.getMatch_envelope();
- final String rightResult = getCallText(match, false);
- this.rightCodeWindowLabel.setText(rightResult);
- } else {
- this.rightIndex = -1;
- this.rightViewer.getList().deselectAll();
- this.rightCodeWindowLabel.setText(""); //$NON-NLS-1$
- }
-
- if (env.getIssueIndex() == -1) {
- textColor = new Color(this.parent.getShell().getDisplay(), new RGB(255, 0, 0));
- this.rightCodeWindowLabel.setForeground(textColor);
- if (env.getFunctionName().equals("MPI_Abort")) { //$NON-NLS-1$
- this.rightCodeWindowLabel.setText(""); //$NON-NLS-1$
- } else if (this.transitions.hasDeadlock()) {
- this.rightCodeWindowLabel.setText(Messages.GemAnalyzer_46);
- } else {
- this.rightCodeWindowLabel.setText(Messages.GemAnalyzer_47);
- }
- }
- }
-
- /**
- * Disposes of all shell windows when the instance of Eclipse that created
- * them exits.
- *
- * @param none
- * @return void
- */
- @Override
- public void dispose() {
- if (this.activeShells != null) {
- for (final Shell s : this.activeShells) {
- if (s != null) {
- s.dispose();
- }
- }
- }
- super.dispose();
- }
-
- /*
- * Populates the view context menu.
- */
- private void fillContextMenu(IMenuManager manager) {
- manager.add(this.terminateButton);
- this.terminateButton.setText(Messages.GemAnalyzer_48);
- manager.add(this.getHelp);
- this.getHelp.setText(Messages.GemAnalyzer_49);
-
- // Other plug-ins can contribute their actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- /*
- * Populates the view pull-down menu.
- */
- private void fillLocalPullDown(IMenuManager manager) {
- manager.add(this.terminateButton);
- this.terminateButton.setText(Messages.GemAnalyzer_50);
- manager.add(new Separator());
- manager.add(this.getHelp);
- this.getHelp.setText(Messages.GemAnalyzer_51);
- manager.add(new Separator());
-
- // Other plug-ins can contribute their actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- /*
- * Contributes icons and actions to the tool bar.
- */
- private void fillLocalToolBar(IToolBarManager manager) {
- manager.add(this.terminateButton);
- manager.add(this.getHelp);
-
- // Other plug-ins can contribute their actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- /*
- * Returns a String representing all information relative to a particular
- * successful MPI call.
- */
- private String getCallText(Envelope env, boolean isLeft) {
- final String newline = System.getProperty("line.separator"); //$NON-NLS-1$
- final String sourceFilePathString = env.getFilePath();
- final IFile sourceFile = GemUtilities.getSourceFile(sourceFilePathString, this.activeFile);
- final String fileName = sourceFile.getName();
- final StringBuffer stringBuffer = new StringBuffer();
-
- // determine which ranks are involved; by default only call's rank
- String ranks = Messages.GemAnalyzer_53 + env.getRank()
- + (System.getProperty("os.name").contains("Windows") ? "\t" : newline); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (env.isCollective() && this.lockedRank == -1) {
-
- // If it was a group call then discover who else is here
- final int numRanksInvolved[] = new int[1];
- if (this.lockedRank == -1) {
- // Also see if we're looking at a single rank or not
- ranks = this.transitions.getRanksInvolved(numRanksInvolved);
- }
-
- // This is currently the max #processes GEM drop-down boxes allow
- final int MAX = 16;
- if (numRanksInvolved[0] > MAX) {
- // display only first ten ranks
- String tempRanks = ranks;
- int total = 0;
- for (int i = 0; i < MAX; i++) {
- // May be multi-digit numbers, hence this code
- total += tempRanks.indexOf(",") + 1; //$NON-NLS-1$
- tempRanks = tempRanks.substring(tempRanks.indexOf(",") + 1); //$NON-NLS-1$
- }
- stringBuffer.append(Messages.GemAnalyzer_22);
- stringBuffer.append(ranks.substring(0, total - 1));
- stringBuffer.append("..."); //$NON-NLS-1$
- stringBuffer.append(newline);
- } else {
- stringBuffer.append(Messages.GemAnalyzer_55);
- stringBuffer.append(ranks);
- stringBuffer.append(newline);
- }
-
- // count number of ":" to determine how many ranks involved
- int ranksCommunicatedTo = 0;
- String communicator = env.getCommunicator_ranks_string();
- while (communicator != null && communicator.contains(":")) { //$NON-NLS-1$
- communicator = communicator.substring(communicator.indexOf(":") + 1); //$NON-NLS-1$
- ranksCommunicatedTo++;
- }
-
- if (ranksCommunicatedTo != 0 && numRanksInvolved[0] / ranksCommunicatedTo > 1) {
- stringBuffer.append(Messages.GemAnalyzer_56);
- stringBuffer.append(numRanksInvolved[0] / ranksCommunicatedTo);
- stringBuffer.append(Messages.GemAnalyzer_57);
- stringBuffer.append(ranksCommunicatedTo);
- stringBuffer.append(Messages.GemAnalyzer_58);
- }
- }
- if (!env.isCollective()) {
- stringBuffer.append(ranks);
- }
- stringBuffer.append(Messages.GemAnalyzer_60);
- stringBuffer.append(fileName);
- stringBuffer.append("\t"); //$NON-NLS-1$
- stringBuffer.append(Messages.GemAnalyzer_61);
- stringBuffer.append(isLeft ? this.leftIndex : this.rightIndex);
-
- return stringBuffer.toString();
- }
-
- /*
- * Adds MenuListeners to hook selections from the context menu.
- */
- private void hookContextMenu() {
- final MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
- menuMgr.setRemoveAllWhenShown(true);
- menuMgr.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- GemAnalyzer.this.fillContextMenu(manager);
- }
- });
- final Menu leftMenu = menuMgr.createContextMenu(this.leftViewer.getControl());
- this.leftViewer.getControl().setMenu(leftMenu);
- getSite().registerContextMenu(menuMgr, this.leftViewer);
-
- final Menu rightMenu = menuMgr.createContextMenu(this.rightViewer.getControl());
- this.rightViewer.getControl().setMenu(rightMenu);
- getSite().registerContextMenu(menuMgr, this.rightViewer);
- }
-
- /**
- * Initializing everything and creates threads to be used by the main UI
- * thread to do updates.
- *
- * @param resource
- * The resource to initialize this view with.
- * @return void
- */
- public void init(IResource resource) {
-
- this.activeFile = GemUtilities.adaptResource(resource);
-
- this.analyzerUpdateThread = new Thread() {
- @Override
- public void run() {
- // If just aborted then don't fill viewers with incomplete data
- if (GemAnalyzer.this.aborted) {
- Display.getDefault().syncExec(GemAnalyzer.this.disableTerminateButtonThread);
- Display.getDefault().syncExec(GemAnalyzer.this.clearAnalyzerThread);
- GemAnalyzer.this.aborted = false;
- return;
- }
-
- // if the log file contained no MPI calls
- if (GemAnalyzer.this.activeFile == null) {
- Display.getDefault().syncExec(GemAnalyzer.this.disableTerminateButtonThread);
- clear();
- return;
- }
-
- reset();
- parseSourceFile(GemAnalyzer.this.activeFile, GemAnalyzer.this.activeFile);
- Display.getDefault().syncExec(GemAnalyzer.this.disableTerminateButtonThread);
- }
- };
-
- this.clearAnalyzerThread = new Thread() {
- @Override
- public void run() {
- final String emptyString = ""; //$NON-NLS-1$
- GemAnalyzer.this.transitionsGroup.setText("Transition:" + " 0/0"); //$NON-NLS-1$ //$NON-NLS-2$
- GemAnalyzer.this.interleavingsGroup.setText("Interleaving:" + " 0/0"); //$NON-NLS-1$ //$NON-NLS-2$
- GemAnalyzer.this.firstTransitionButton.setEnabled(false);
- GemAnalyzer.this.previousTransitionButton.setEnabled(false);
- GemAnalyzer.this.nextTransitionButton.setEnabled(false);
- GemAnalyzer.this.lastTransitionButton.setEnabled(false);
- GemAnalyzer.this.firstInterleavingButton.setEnabled(false);
- GemAnalyzer.this.previousInterleavingButton.setEnabled(false);
- GemAnalyzer.this.nextInterleavingButton.setEnabled(false);
- GemAnalyzer.this.lastInterleavingButton.setEnabled(false);
- GemAnalyzer.this.deadlockInterleavingButton.setEnabled(false);
- GemAnalyzer.this.internalIssueOrderButton.setEnabled(false);
- GemAnalyzer.this.programOrderButton.setEnabled(false);
- GemAnalyzer.this.launchHpvButton.setEnabled(false);
- GemAnalyzer.this.browseCallsButton.setEnabled(false);
- GemAnalyzer.this.terminateButton.setEnabled(false);
- GemAnalyzer.this.errorMessageLabel.setText(emptyString);
- GemAnalyzer.this.transitions = null;
- GemAnalyzer.this.leftViewer.refresh();
- GemAnalyzer.this.rightViewer.refresh();
- GemAnalyzer.this.leftCodeWindowLabel.setText(emptyString);
- GemAnalyzer.this.rightCodeWindowLabel.setText(emptyString);
- final String[] items = new String[] { emptyString };
- GemAnalyzer.this.lockRanksComboList.setItems(items);
- GemUtilities.setTaskStatus(GemUtilities.TaskStatus.IDLE);
- GemAnalyzer.this.runGemButton.setEnabled(true);
- }
- };
-
- this.disableTerminateButtonThread = new Thread() {
- @Override
- public void run() {
- GemAnalyzer.this.terminateButton.setEnabled(false);
- GemAnalyzer.this.runGemButton.setEnabled(true);
- GemAnalyzer.this.internalIssueOrderButton.setEnabled(true);
- GemAnalyzer.this.programOrderButton.setEnabled(true);
- }
- };
-
- // start things up now
- this.terminateButton.setEnabled(true);
- this.runGemButton.setEnabled(false);
- }
-
- /*
- * Launches the call browser as a separate shell window. This will yield a
- * list of MPI calls sorted by interleaving -> rank -> MPI call. Calls are
- * also color coded to distinguish the currently selected line in analyzer
- * code windows (blue), as well as uncompleted calls due to a deadlock in
- * the particular interleaving (red).
- */
-
- /*
- * Creates the actions associated with the action bar buttons and context
- * menu items.
- */
- private void makeActions() {
- this.getHelp = new Action() {
- @Override
- public void run() {
- PlatformUI.getWorkbench().getHelpSystem().displayHelpResource("/org.eclipse.ptp.gem.help/html/analyzerView.html"); //$NON-NLS-1$
- }
- };
- this.getHelp.setToolTipText(Messages.GemAnalyzer_73);
- this.getHelp.setImageDescriptor(GemPlugin.getImageDescriptor("icons/help-contents.gif")); //$NON-NLS-1$
-
- this.terminateButton = new Action() {
- @Override
- public void run() {
- GemAnalyzer.this.aborted = true;
- GemUtilities.terminateOperation();
- }
- };
- this.terminateButton.setImageDescriptor(GemPlugin.getImageDescriptor("icons/progress_stop.gif")); //$NON-NLS-1$
- this.terminateButton.setToolTipText(Messages.GemAnalyzer_74);
- this.terminateButton.setEnabled(false);
- }
-
- /*
- * Opens the editor with the current source file active and jump to the line
- * number that is passed in.
- */
- private void openEditor(int lineNum, IFile sourceFile) {
- try {
- final IEditorPart editor = IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(),
- sourceFile, true);
- final IMarker marker = sourceFile.createMarker(IMarker.MARKER);
- marker.setAttribute(IMarker.LINE_NUMBER, lineNum);
- IDE.gotoMarker(editor, marker);
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
-
- /*
- * Returns whether or not the specified String has a matching number of left
- * and right. parenthesis.
- */
- private boolean parenthesesMatched(String call) {
- int numRightParens = 0;
- int numLeftParens = 0;
-
- call = removeComments(call);
- for (int i = 0; i < call.length(); i++) {
- if (call.charAt(i) == '(') {
- numLeftParens++;
- }
- if (call.charAt(i) == ')') {
- numRightParens++;
- }
- }
- return (numRightParens == numLeftParens);
- }
-
- /**
- * Reads in the contents of the specified file and populates the
- * ListViewers.
- *
- * @param leftSourceFile
- * The handle on the file resource for the left code view window.
- * @param rightSourceFile
- * The handle on the file resource for the right code view
- * window.
- * @return void
- */
- public void parseSourceFile(IFile leftSourceFile, IFile rightSourceFile) {
-
- final Boolean updateLeftFile = this.currLeftFile == null || !this.currLeftFile.equals(leftSourceFile);
- final Boolean updateRightFile = this.currRightFile == null || rightSourceFile == null
- || !this.currRightFile.equals(rightSourceFile);
- this.currLeftFile = leftSourceFile;
- this.currRightFile = rightSourceFile;
-
- // Clear the left viewer list
- if (updateLeftFile) {
- this.leftViewer.getList().removeAll();
- }
-
- boolean isCollective = false;
- if (this.transitions != null && this.transitions.getCurrentTransition() != null) {
- isCollective = this.transitions.getCurrentTransition().isCollective();
- }
-
- // Clear the right viewer list
- if (isCollective || updateRightFile) {
- this.rightViewer.getList().removeAll();
- }
-
- // Populate the viewers with the source file contents
- InputStream leftSourceFileStream = null;
- InputStream rightSourceFileStream = null;
- String line = ""; //$NON-NLS-1$
-
- // Populate the left code window
- try {
- leftSourceFileStream = leftSourceFile.getContents(true);
- final Scanner s = new Scanner(leftSourceFileStream);
- int lineNum = 0;
- while (updateLeftFile && s.hasNext()) {
- lineNum++;
- line = s.nextLine();
- this.leftViewer.add(new ListElement(leftSourceFile, line, lineNum, false));
- }
- } catch (final CoreException e) {
- GemUtilities.logExceptionDetail(e);
- this.leftViewer.add(new ListElement(null, Messages.GemAnalyzer_76, -1, false));
- }
-
- // Populate the right code window
- try {
- if (rightSourceFile != null) {
- rightSourceFileStream = rightSourceFile.getContents();
- final Scanner s = new Scanner(rightSourceFileStream);
- int lineNum = 0;
- while (s.hasNext()) {
- lineNum++;
- line = s.nextLine();
- this.rightViewer.add(new ListElement(rightSourceFile, line, lineNum, false));
- }
- } else {
- final Envelope env = this.transitions.getCurrentTransition();
- if (env.isCollective()) {
- displayCollectiveInfo();
- } else {
- this.rightViewer.add(new ListElement(null, "", -1, false)); //$NON-NLS-1$
- }
- }
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- this.rightViewer.add(new ListElement(null, Messages.GemAnalyzer_78, -1, false));
- }
-
- // Close the open InputStreams
- try {
- if (leftSourceFileStream != null) {
- leftSourceFileStream.close();
- }
- if (rightSourceFileStream != null) {
- rightSourceFileStream.close();
- }
- } catch (final IOException e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
-
- /*
- * Removes comments from the specified call String.
- */
- private String removeComments(String call) {
- // remove any c-style comments
- while (call.contains("/*")) { //$NON-NLS-1$
- if (!call.contains("*/")) { //$NON-NLS-1$
- break;
- }
- call = call.substring(0, call.indexOf("/*")) + call.substring(call.indexOf("*/") + 2); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // remove any c++-style comments
- while (call.contains("//")) { //$NON-NLS-1$
- call = call.substring(0, call.indexOf("//")); //$NON-NLS-1$
- }
- return call;
- }
-
- /*
- * Resets everything to default values. Used when a new file is analyzed.
- */
- private void reset() {
- // By making the current files null we force the code viewers to update
- this.currLeftFile = null;
- this.currRightFile = null;
- this.transitions.currentInterleaving = 0;
- this.transitions.currentTransitionIndex = 0;
-
- // Update labels and combo lists
- setMessageLabelText();
- setLockRankItems();
- setNumProcItems();
-
- // Update global indices
- this.leftIndex = 0;
- this.rightIndex = 0;
- this.lockedRank = -1;
-
- // Runtime group buttons
- this.deadlockInterleavingButton.setEnabled(this.transitions.getDeadlockInterleavings() != null);
- this.browseCallsButton.setEnabled(true);
- this.browseCallsButton.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/browse.gif"))); //$NON-NLS-1$
- this.launchHpvButton.setEnabled(true);
-
- // Update transition related items w/o displaying
- updateTransitionLabels(false);
-
- // TODO Let's clean this up
- // This section is needed since the scroll bars are unresponsive
- // until the view is fully created. For this reason we need to back up
- // to Transition 0 and update the labels.
- this.transitionLabelIndex = 0;
- this.transitionsGroup.setText("Transition " + this.transitionLabelIndex + "/" + this.transitionLabelCount); //$NON-NLS-1$ //$NON-NLS-2$
- this.transitions.currentTransitionIndex = -1;
- this.leftIndex = 0;
- this.rightIndex = 0;
- this.previousLeftIndex = 0;
- setButtonEnabledState();
- updateSelectedLine(true);
- setMessageLabelText();
- GemUtilities.setTaskStatus(GemUtilities.TaskStatus.IDLE);
- }
-
- /*
- * To make an item visible we must expand each of its parents. Sadly the
- * root must be expanded first and work its way down to the goal. So we
- * recursively find parents and then expand once all of the current item's
- * parents has been expanded.
- */
- private void revealTreeItem(TreeItem callItem) {
- if (callItem.getParentItem() == null) {
- callItem.setExpanded(true);
- } else {
- revealTreeItem(callItem.getParentItem());
- callItem.setExpanded(true);
- }
- }
-
- /*
- * Sets the enabled property of all buttons to the appropriate state.
- */
- private void setButtonEnabledState() {
- this.firstTransitionButton.setEnabled(this.transitions.hasValidPreviousTransition(this.lockedRank));
- this.previousTransitionButton.setEnabled(this.transitions.hasValidPreviousTransition(this.lockedRank));
- this.nextTransitionButton.setEnabled(this.transitions.hasValidNextTransition(this.lockedRank));
- this.lastTransitionButton.setEnabled(this.transitions.hasValidNextTransition(this.lockedRank));
- this.firstInterleavingButton.setEnabled(this.transitions.hasPreviousInterleaving());
- this.previousInterleavingButton.setEnabled(this.transitions.hasPreviousInterleaving());
- this.nextInterleavingButton.setEnabled(this.transitions.hasNextInterleaving());
- this.lastInterleavingButton.setEnabled(this.transitions.hasNextInterleaving());
- this.deadlockInterleavingButton.setEnabled(this.transitions.getDeadlockInterleavings() != null);
-
- }
-
- /**
- * see org.eclipse.ui.IWorkbenchPart
- */
- @Override
- public void setFocus() {
- this.runGemButton.setFocus();
- }
-
- /*
- * Given the initial Font, this helper method returns that Font with the new
- * specified size.
- */
- private Font setFontSize(Font font, int size) {
- final FontData[] fontData = font.getFontData();
- for (final FontData element : fontData) {
- element.setHeight(size);
- }
- return new Font(this.parent.getDisplay(), fontData);
- }
-
- /*
- * Populates the lock ranks combo-box with the correct number of entries for
- * the current analyzation.
- */
- private void setLockRankItems() {
- final String[] ranks = new String[this.numRanks + 1];
- ranks[0] = Messages.GemAnalyzer_83;
- for (int i = 1; i <= this.numRanks; i++) {
- final StringBuffer stringBuffer = new StringBuffer();
- stringBuffer.append(Messages.GemAnalyzer_84);
- stringBuffer.append((Integer) (i - 1));
- stringBuffer.append(Messages.GemAnalyzer_85);
- ranks[i] = stringBuffer.toString();
- }
- this.lockRanksComboList.setItems(ranks);
- this.lockRanksComboList.setText(ranks[0]);
- }
-
- /*
- * Sets the label text in the interleavings buttons group.
- */
- private void setMessageLabelText() {
- // This is for foreground coloring
- final Display display = this.parent.getShell().getDisplay();
- final Color RED = new Color(display, new RGB(255, 0, 0));
- final Color GREEN = new Color(display, new RGB(0, 200, 0));
- final Color BLUE = new Color(display, new RGB(0, 0, 255));
-
- // Interleaving label
- this.interleavingsGroup.setText("Interleaving: " + this.transitions.getCurrentInterleaving() + "/" //$NON-NLS-1$ //$NON-NLS-2$
- + this.transitions.getTotalInterleavings());
-
- // Transition Label
- this.transitionsGroup.setText("Transition: " + this.transitionLabelIndex + "/" + this.transitionLabelCount); //$NON-NLS-1$ //$NON-NLS-2$
-
- // Error message label
- if (this.transitions.hasDeadlock()) {
- this.errorMessageLabel.setForeground(RED);
- final ArrayList<Integer> deadlockList = this.transitions.getDeadlockInterleavings();
- String deadlocks = ""; //$NON-NLS-1$
- if (deadlockList.size() == 1) {
- deadlocks = deadlockList.get(0).toString();
- } else {
- for (int i = 0; i < deadlockList.size(); i++) {
- final String num = deadlockList.get(i).toString();
- deadlocks += (i != deadlockList.size() - 1) ? num + ", " : num; //$NON-NLS-1$
- }
- }
- String errorMsg = Messages.GemAnalyzer_89;
- errorMsg += deadlocks.length() == 1 ? " " : "s "; //$NON-NLS-1$ //$NON-NLS-2$
- this.errorMessageLabel.setText(errorMsg + deadlocks);
- } else if (this.transitions.hasAssertion()) {
- this.errorMessageLabel.setForeground(RED);
- this.errorMessageLabel.setText(Messages.GemAnalyzer_91 + this.transitions.getTotalInterleavings());
- } else if (this.transitions.hasError()) {
- this.errorMessageLabel.setForeground(RED);
- this.errorMessageLabel.setText(Messages.GemAnalyzer_92);
- } else {
- if (this.transitions.hasResourceLeak() || this.transitions.hasFIB()) {
- this.errorMessageLabel.setForeground(BLUE);
- this.errorMessageLabel.setText(Messages.GemAnalyzer_93);
- } else {
- this.errorMessageLabel.setForeground(GREEN);
- this.errorMessageLabel.setText(Messages.GemAnalyzer_31);
- }
- }
- }
-
- /*
- * Populates the num-procs combo-box with choices the user can use to set
- * the number of processes for the next analyzer run.
- */
- private void setNumProcItems() {
- final String[] ranks = new String[16];
- for (int i = 1; i <= 16; i++) {
- ranks[i - 1] = ((Integer) i).toString();
- }
- this.setNumProcsComboList.setItems(ranks);
- final Integer nprocs = GemPlugin.getDefault().getPreferenceStore().getInt(PreferenceConstants.GEM_PREF_NUMPROCS);
- this.setNumProcsComboList.setText(nprocs.toString());
- }
-
- /*
- * This method eliminates displaying of redundant collective call
- * information in the Analyzer code windows. If you are moving forward
- * direction should be 1, if backward -1, otherwise the behavior is
- * undefined.
- */
- private Envelope skipRepeats(int direction) {
- Envelope env = this.transitions.getCurrentTransition();
- while (true) {
- if (env == null) {
- return null;
- }
- if (env.getLinenumber() == this.previousLeftIndex) {
- if (direction == 1) {
- env = this.transitions.getNextTransition(this.lockedRank);
- } else {
- env = this.transitions.getPreviousTransition(this.lockedRank);
- }
- } else {
- break;
- }
- }
- return env;
- }
-
- /**
- * Updates the Analyzer view.
- *
- * @param sourceFile
- * The source file resource to display in the Analyzer View's
- * code windows.
- * @param transitions
- * The Transitions object holding holding all transitions per
- * interleaving.
- * @return void
- */
- public void update(IFile sourceFile, Transitions transitions) {
- if (transitions == null) {
- clear();
- return;
- }
- this.transitions = transitions;
- this.numRanks = transitions.getNumRanks();
- this.activeFile = sourceFile;
- Display.getDefault().syncExec(this.analyzerUpdateThread);
- }
-
- /*
- * Only changes the code windows content, does not change the highlighting.
- * First time through, current Envelope is null, no update needed.
- */
- private void updateCodeViewers() {
- final String emptyString = ""; //$NON-NLS-1$
- Envelope env = this.transitions.getCurrentTransition();
- if (env != null) {
- final String nextLeftFileInfo = env.getFilePath();
- String nextRightFileInfo = emptyString;
-
- env = this.transitions.getCurrentTransition().getMatch_envelope();
- if (env != null) {
- nextRightFileInfo = env.getFilePath();
- }
-
- final IPath nextLeftFilePath = new Path(nextLeftFileInfo);
- final String nextLeftFileName = nextLeftFilePath.lastSegment();
- String nextRightFileName = emptyString;
-
- if (nextRightFileInfo.length() != 0) {
- final IPath nextRightFilePath = new Path(nextRightFileInfo);
- nextRightFileName = nextRightFilePath.lastSegment();
- }
-
- final boolean updateWindowContent = this.currLeftFile == null || this.currRightFile == null
- || !nextLeftFileName.equals(this.currLeftFile.getName())
- || !nextRightFileName.equals(this.currRightFile.getName()) || nextRightFileInfo.equals(emptyString);
-
- if (updateWindowContent) {
- final String projectName = this.activeFile.getProject().getName();
- final IProject currentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-
- // Get the next left and right source files for the code viewers
- final IFile nextLeftSourceFile = GemUtilities.getSourceFile(nextLeftFileInfo, this.activeFile);
- if (!nextLeftSourceFile.exists()) {
- GemUtilities.refreshProject(currentProject);
- }
-
- IFile nextRightSourceFile = null;
- final boolean isEmptyPath = nextRightFileInfo.length() == 0;
- if (!isEmptyPath) {
- nextRightSourceFile = GemUtilities.getSourceFile(nextRightFileInfo, this.activeFile);
- if (!nextRightSourceFile.exists()) {
- GemUtilities.refreshProject(currentProject);
- }
- }
-
- // Now parse the files for new code viewer window content
- parseSourceFile(nextLeftSourceFile, (isEmptyPath) ? null : nextRightSourceFile);
- }
- }
- }
-
- /**
- * Calling this method will update the drop down so that it has the correct
- * number of processes displayed. This method is used when another location
- * changes the number of processes preference.
- *
- * @param none
- * @return void
- */
- public void updateDropDown() {
- final Integer nprocs = GemPlugin.getDefault().getPreferenceStore().getInt(PreferenceConstants.GEM_PREF_NUMPROCS);
- this.setNumProcsComboList.setText(nprocs.toString());
- }
-
- /*
- * Goes to the First Transition and updates all relevant data
- */
- private void updateFirstTransition(boolean update) {
- // Goes to null
- Envelope env = this.transitions.getFirstTransition(this.lockedRank);
- env = this.transitions.getCurrentTransition();
-
- if (env != null) {
- this.previousLeftIndex = env.getLinenumber();
- }
-
- if (env == null) {
- GemUtilities.showInformationDialog(Messages.GemAnalyzer_94);
- return;
- }
-
- if (update) {
- setButtonEnabledState();
- updateCodeViewers();
- displayEnvelopes(env);
- updateSelectedLine(true);
- this.transitionLabelIndex = 1;
- setMessageLabelText();
- }
- }
-
- /*
- * Goes to the last transition and updates relevant information
- */
- private void updateLastTransition() {
- Envelope env = this.transitions.getLastTransition(this.lockedRank);
-
- // stepToLastTransition puts us at the last iteration of Finalize
- // other code always assumes we are on the first iteration of
- // each call though, so here we go back to the first iteration
- if (env.getFunctionName().equals("MPI_Finalize")) { //$NON-NLS-1$
- while (true) {
- env = this.transitions.getPreviousTransition(this.lockedRank);
-
- if (env == null) {
- GemUtilities.showInformationDialog(Messages.GemAnalyzer_95);
- return;
- }
- // If there was only one finalize go back to it
- if (!env.getFunctionName().equals("MPI_Finalize")) { //$NON-NLS-1$
- env = this.transitions.getNextTransition(this.lockedRank);
- break;
- }
- }
- }
-
- if (env == null) {
- GemUtilities.showInformationDialog(Messages.GemAnalyzer_96);
- return;
- }
- this.previousLeftIndex = env.getLinenumber();
- setButtonEnabledState();
- updateCodeViewers();
- displayEnvelopes(env);
- updateSelectedLine(true);
- this.transitionLabelIndex = this.transitionLabelCount;
- setMessageLabelText();
- }
-
- /*
- * This method is used to highlight ALL lines involved in a call when the
- * call is spread over multiple lines in the source code file.
- */
- private void updateLineCount() {
- final List leftList = this.leftViewer.getList();
- final List rightList = this.rightViewer.getList();
- final String emptyString = ""; //$NON-NLS-1$
-
- String curr = emptyString;
- this.leftLines = 1;
- if (this.leftIndex <= 0) {
- this.leftLines = 0;
- return;
- }
- while (this.leftLines < this.leftIndex + 1) {
- // Get current string
- curr = emptyString;
- for (int i = this.leftLines; i > 0; i--) {
- curr += leftList.getItem(this.leftIndex - i);
- curr = removeComments(curr);
- }
-
- if (this.parenthesesMatched(curr)) {
- break;
- }
- this.leftLines++;
- }
- // Be sure to include the MPI Call
- curr = curr.substring(0, curr.indexOf("(") - 1); //$NON-NLS-1$
- if (curr.trim().length() == 0) {
- this.leftLines++;
- }
-
- if (this.rightIndex == -1) {
- return;
- }
- this.rightLines = 1;
-
- while (this.rightLines < this.rightIndex + 1) {
- // Get current string
- curr = emptyString;
- for (int i = this.rightLines; i > 0; i--) {
- curr += rightList.getItem(this.rightIndex - i);
- curr = removeComments(curr);
- }
-
- if (this.parenthesesMatched(curr)) {
- break;
- }
- this.rightLines++;
- }
- curr = curr.substring(0, curr.indexOf("(") - 1); //$NON-NLS-1$
- if (curr.trim().length() == 0) {
- this.rightLines++;
- }
- }
-
- /*
- * Go to the next transition. Returns 1 if successful, -1 if there was no
- * where to go.
- */
- private int updateNextTransition(boolean update) {
- int returnValue = 1;
- Envelope env = this.transitions.getNextTransition(this.lockedRank);
-
- if (env.isCollective() && this.lockedRank == -1) {
- env = skipRepeats(1);
- }
-
- if (env == null) {
- returnValue = -1;
- } else {
- this.previousLeftIndex = env.getLinenumber();
- }
-
- if (update) {
- setButtonEnabledState();
- updateCodeViewers();
- displayEnvelopes(env);
- updateSelectedLine(true);
- this.transitionLabelIndex++;
- setMessageLabelText();
- }
- return returnValue;
- }
-
- /*
- * Goes to the previous transition and updates relevant data
- */
- private void updatePreviousTransition() {
- Envelope env = this.transitions.getPreviousTransition(this.lockedRank);
- this.previousLeftIndex = env.getLinenumber();
-
- // Go back until you reach the first call or beginning
- if (env.isCollective() && this.lockedRank == -1) {
- while (true) {
- env = this.transitions.getPreviousTransition(this.lockedRank);
- if (env == null) {
- updateFirstTransition(true);
- return;
- }
- if (env.getLinenumber() != this.previousLeftIndex) {
- env = this.transitions.getNextTransition(this.lockedRank);
- break;
- }
- }
- }
-
- this.previousLeftIndex = env.getLinenumber();
- setButtonEnabledState();
- updateCodeViewers();
- displayEnvelopes(env);
- updateSelectedLine(true);
- this.transitionLabelIndex--;
- setMessageLabelText();
- }
-
- /*
- * Updates the relative position of the scroll bar for the list viewers in
- * the code windows.
- */
- private void updateScrollBars() {
- final List leftList = this.leftViewer.getList();
- final List rightList = this.rightViewer.getList();
-
- try {
- if (leftList != null && leftList.getSelection().length != 0) {
- this.leftViewer.reveal(this.leftViewer.getElementAt(0));
- this.leftViewer.reveal(this.leftViewer.getElementAt(this.leftIndex - 1));
- }
- if (rightList != null && rightList.getSelection().length != 0) {
- this.rightViewer.reveal(this.rightViewer.getElementAt(0));
- this.rightViewer.reveal(this.rightViewer.getElementAt(this.rightIndex - 1));
- }
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
-
- /*
- * Updates which line of the log file that is currently in focus.
- */
- private void updateSelectedLine(Boolean scroll) {
- updateCodeViewers();
-
- // Deselect Everything
- final List leftList = this.leftViewer.getList();
- final List rightList = this.rightViewer.getList();
- leftList.deselectAll();
- rightList.deselectAll();
-
- updateLineCount();
-
- // Update left view (-1, 0-based)
- for (int i = 0; i < this.leftLines; i++) {
- leftList.select((this.leftIndex - i) - 1);
- }
-
- // Update right view (-1, 0-based)
- for (int i = 0; i < this.rightLines; i++) {
- rightList.select((this.rightIndex - i) - 1);
- }
-
- if (scroll) {
- updateScrollBars();
- }
- }
-
- // ONLY CALL WHEN YOU HAVE STARTED A NEW INTERLEAVING!!!
- // As it searches it will never display the envelope
- // displayEnvelope decides whether or not the final destination is displayed
- private void updateTransitionLabels(boolean displayEnvelope) {
- updateFirstTransition(false);
-
- // because only incremented if next transition is also valid
- this.transitionLabelCount = 1;
- final Envelope env = this.transitions.getCurrentTransition();
-
- int test = 1;
- while (test == 1 && env != null) {
- if (this.transitions.hasValidNextTransition(this.lockedRank)) {
- this.transitionLabelCount++;
- test = updateNextTransition(false);
- } else {
- break;
- }
- }
- updateFirstTransition(displayEnvelope);
- }
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/views/GemBrowser.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/views/GemBrowser.java
deleted file mode 100644
index be8b027..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/views/GemBrowser.java
+++ /dev/null
@@ -1,1029 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.views;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.StringTokenizer;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.swing.JFileChooser;
-import javax.swing.JFrame;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.ptp.internal.gem.preferences.PreferenceConstants;
-import org.eclipse.ptp.internal.gem.util.Envelope;
-import org.eclipse.ptp.internal.gem.util.GemUtilities;
-import org.eclipse.ptp.internal.gem.util.Transitions;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * The GEM Analyzer View.
- */
-public class GemBrowser extends ViewPart {
-
- // The ID for this view
- public static final String ID = "org.eclipse.ptp.gem.views.GemBrowser"; //$NON-NLS-1$
-
- // Data structures and more complex members
- private Transitions transitions;
-
- // Container objects and actions
- private Composite parent;
- private Action getHelpAction;
- private Action terminateOperationAction;
- private Action writeToLocalFileAction;
-
- // SWT widgets
- private Button runGemButton;
- private Combo setNumProcsComboList;
- private CTabFolder tabFolder;
- private CLabel summaryLabel;
-
- // Threads
- private Thread browserUpdateThread;
- private Thread clearBrowserThread;
- private Thread disableTerminateButtonThread;
-
- // Misc
- private int errorCount;
- private int warningCount;
-
- // Create a listener to allow "jumps" to the Editor
- SelectionListener listener = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- String eventText = null;
- IFile sourceFile = null;
- Integer lineNumber = null;
-
- final Object o = event.getSource();
- if (o instanceof Tree) {
- final TreeItem selectionItem = (TreeItem) event.item;
-
- // Only child items will have a non-null parent
- // then see if child item text matches regex
- if (selectionItem.getParentItem() != null) {
- eventText = selectionItem.toString();
- final Pattern browserLinePattern = Pattern.compile("^(.+?)\\s+(.+?)\\s+(.+?)\\s+(.+?)\\s+(.+?)"); //$NON-NLS-1$
- final Matcher browserLineMatcher = browserLinePattern.matcher(eventText);
-
- if (browserLineMatcher.matches()) {
- final String filePathString = browserLineMatcher.group(3);
- String lineNumStr = browserLineMatcher.group(5);
-
- final Pattern lineNumberPattern = Pattern.compile("(^[0-9]+)?+(.+?)"); //$NON-NLS-1$
- final Matcher lineNumberMatcher = lineNumberPattern.matcher(lineNumStr);
-
- if (lineNumberMatcher.matches()) {
- lineNumStr = lineNumberMatcher.group(1);
- lineNumber = Integer.parseInt(lineNumStr);
- sourceFile = GemUtilities.getSourceFile(filePathString, GemUtilities.getProjectLogFile());
- if (sourceFile != null) {
- openEditor(lineNumber, sourceFile);
- } else {
- final String message = Messages.GemBrowser_0 + filePathString;
- GemUtilities.showErrorDialog(message);
- return;
- }
- }
- }
- }
- }
- }
- };
-
- /**
- * Constructor.
- *
- * @param none
- */
- public GemBrowser() {
- super();
- }
-
- /**
- * Brings this ViewPart to the front and gives it focus.
- *
- * @param none
- * @return none
- */
- public void activate() {
- final Thread activationThread = new Thread() {
- @Override
- public void run() {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- if (page != null) {
- page.activate(GemBrowser.this);
- }
- }
- };
-
- // We need to switch to the thread that is allowed to change the UI
- Display.getDefault().syncExec(activationThread);
- }
-
- /**
- * Runs a thread that clears the Browser view.
- *
- * @param none
- * @return void
- */
- public void clear() {
- Display.getDefault().syncExec(this.clearBrowserThread);
- }
-
- /*
- * Calls finer grained methods, populating the view action bar.
- */
- private void contributeToActionBars() {
- final IActionBars bars = getViewSite().getActionBars();
- fillLocalPullDown(bars.getMenuManager());
- fillLocalToolBar(bars.getToolBarManager());
- }
-
- /*
- * Creates a single string containing all information on the issues found.
- * This string is formatted for easy parsing/reading
- */
- private String createBrowserSummary() {
- String result = ""; //$NON-NLS-1$
- final String newline = System.getProperty("line.separator"); //$NON-NLS-1$
- try {
- final int tabCount = this.tabFolder.getItemCount();
- for (int tabIndex = 0; tabIndex < tabCount; tabIndex++) {
- final CTabItem currentTab = this.tabFolder.getItem(tabIndex);
- final String tabTitle = currentTab.getText();
- final Tree tree = (Tree) currentTab.getControl();
- result += tabTitle + newline;
-
- final int numInterleavings = tree.getItemCount();
- for (int interIndex = 0; interIndex < numInterleavings; interIndex++) {
- final TreeItem currInter = tree.getItem(interIndex);
- final String interleavingName = "\t" + currInter.getText() + newline; //$NON-NLS-1$
-
- result += interleavingName;
- final int itemCount = currInter.getItemCount();
- for (int itemIndex = 0; itemIndex < itemCount; itemIndex++) {
- final TreeItem item = currInter.getItem(itemIndex);
- String line = item.getText() + newline;
- line = "\t\t" + line; //$NON-NLS-1$
- result += line;
- }
- }
- result += newline;
- }
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- result = Messages.GemBrowser_6;
- }
- return result;
- }
-
- /**
- * Callback that allows us to create the viewer and initialize it.
- *
- * @param parent
- * The parent Composite for this View.
- * @return void
- */
- @Override
- public void createPartControl(Composite parent) {
- this.parent = parent;
-
- // Create layout for the parent Composite
- final GridLayout parentLayout = new GridLayout();
- parentLayout.numColumns = 1;
- parentLayout.marginHeight = 10;
- parentLayout.marginWidth = 10;
- parent.setLayout(parentLayout);
-
- // Creates groups and selection listeners
- createRuntimeComposite(parent);
-
- // create actions & connect to buttons, context menus and pull-downs
- createSelectionListeners();
- makeActions();
- contributeToActionBars();
-
- // Create the Tab Folder
- this.tabFolder = new CTabFolder(parent, SWT.TOP);
- this.tabFolder.setSimple(false);
- this.tabFolder.setSingle(false);
- this.tabFolder.setBorderVisible(true);
- this.tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
- }
-
- /*
- * Helper method called by createPartControl.
- */
- private void createRuntimeComposite(Composite parent) {
- final Image trident = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/trident.gif")); //$NON-NLS-1$
- final Composite runtimeComposite = new Composite(parent, SWT.NULL);
- runtimeComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
- runtimeComposite.setLayout(new FormLayout());
-
- // Call ISP button
- this.runGemButton = new Button(runtimeComposite, SWT.PUSH);
- this.runGemButton.setImage(trident);
- this.runGemButton.setToolTipText(Messages.GemBrowser_7);
- this.runGemButton.setEnabled(true);
- final FormData launchIspUIFormData = new FormData();
- launchIspUIFormData.right = new FormAttachment(100, -5);
- launchIspUIFormData.bottom = new FormAttachment(100, -5);
- this.runGemButton.setLayoutData(launchIspUIFormData);
-
- // Set number of processes button
- this.setNumProcsComboList = new Combo(runtimeComposite, SWT.DROP_DOWN);
- final Font setRankComboFont = setFontSize(this.setNumProcsComboList.getFont(), 9);
- this.setNumProcsComboList.setFont(setRankComboFont);
- final String[] items = new String[] {};
- this.setNumProcsComboList.setItems(items);
- this.setNumProcsComboList.setText(" "); //$NON-NLS-1$
- this.setNumProcsComboList.setToolTipText(Messages.GemBrowser_8);
- final FormData setRankFormData = new FormData();
- setRankFormData.width = 50;
- setRankFormData.right = new FormAttachment(this.runGemButton, -5);
- setRankFormData.bottom = new FormAttachment(100, -5);
- this.setNumProcsComboList.setLayoutData(setRankFormData);
- this.setNumProcsComboList.setEnabled(true);
- setNumProcItems();
- updateDropDown();
-
- // Add a label explaining how to use this view
- this.summaryLabel = new CLabel(runtimeComposite, SWT.BORDER_SOLID);
- this.summaryLabel.setRightMargin(275);
- final FormData labelData = new FormData();
- labelData.width = 200;
- labelData.right = new FormAttachment(this.setNumProcsComboList, -5);
- labelData.bottom = new FormAttachment(0, 0);
- this.setNumProcsComboList.setLayoutData(setRankFormData);
- }
-
- /*
- * Helper method called by createPartControl.
- */
- private void createSelectionListeners() {
- // To conveniently run GEM from this view
- this.runGemButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- final IPreferenceStore pstore = GemPlugin.getDefault().getPreferenceStore();
- URI inputLocation = null;
- IPath path = null;
-
- try {
- inputLocation = new URI(pstore.getString(PreferenceConstants.GEM_PREF_MOST_RECENT_FILE));
- } catch (final URISyntaxException e) {
- GemUtilities.logExceptionDetail(e);
- }
- if (inputLocation != null) {
- path = new Path(inputLocation.getPath());
- }
- if (!GemUtilities.isProjectActive()) {
- GemUtilities.setTaskStatus(GemUtilities.TaskStatus.ABORTED);
- return;
- }
- final IFile file = GemUtilities.getCurrentProject().getFile(path.lastSegment());
- path = file.getFullPath();
- final String extension = file.getFileExtension();
- boolean isSourceFile = false;
-
- if (extension != null) {
- // The most common C & C++ source file extensions
- isSourceFile = extension.equals("c") //$NON-NLS-1$
- || extension.equals("cpp") || extension.equals("c++") //$NON-NLS-1$ //$NON-NLS-2$
- || extension.equals("cc") || extension.equals("cp"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // ask for command line arguments
- GemUtilities.setCommandLineArgs();
-
- // Open Analyzer and Browser Views in preference order
- // Find the active editor
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
-
- try {
- final String activeView = pstore.getString(PreferenceConstants.GEM_ACTIVE_VIEW);
- if (activeView.equals("analyzer")) { //$NON-NLS-1$
- page.showView(GemBrowser.ID);
- page.showView(GemAnalyzer.ID);
- } else {
- page.showView(GemAnalyzer.ID);
- page.showView(GemBrowser.ID);
- }
- GemUtilities.initGemViews(file, isSourceFile, true);
- } catch (final PartInitException e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
- });
-
- this.setNumProcsComboList.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- if (GemBrowser.this.setNumProcsComboList.getText() == null) {
- return;
- }
-
- final String nprocsStr = GemBrowser.this.setNumProcsComboList.getItems()[GemBrowser.this.setNumProcsComboList
- .getSelectionIndex()];
- final int newNumProcs = Integer.parseInt(nprocsStr);
-
- // Reset the numProcs value in the preference store
- GemPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.GEM_PREF_NUMPROCS, newNumProcs);
-
- // If the analyzer is open updates its drop down
- try {
- final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- final IViewPart gemViewPart = window.getActivePage().findView(GemAnalyzer.ID);
- final GemAnalyzer analyzer = (GemAnalyzer) gemViewPart;
- analyzer.updateDropDown();
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
- });
- }
-
- /*
- * Creates a tab in the specified folder at the specified index which is
- * filled with all assertion violations that were found or by a message
- * indicating that none are present.
- */
- private void fillAssertionViolationTab(CTabFolder tabFolder, int tabIndex) {
-
- // Create the tab and the tree it holds
- new CTabItem(tabFolder, SWT.NONE, tabIndex).setText(Messages.GemBrowser_11);
- final CTabItem assertTab = tabFolder.getItem(tabIndex);
- assertTab.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/magnified-trident.gif")));//$NON-NLS-1$
- assertTab.setToolTipText(Messages.GemBrowser_12);
- final Tree tree = new Tree(tabFolder, SWT.BORDER);
- assertTab.setControl(tree);
- tree.setLinesVisible(true);
- tree.setLayoutData(new GridData(GridData.FILL_BOTH));
- tree.setFont(setFontSize(tree.getFont(), 8));
- TreeItem interleavingItem = null;
- TreeItem fileItem = null;
-
- // Parse the resource leak list and populate tree.
- final int totalInterleavings = this.transitions.getTotalInterleavings();
- boolean errorFound = false;
- for (int j = 0; j <= totalInterleavings; j++) {
- if (this.transitions.getErrorCalls() == null || this.transitions.getErrorCalls().get(j) == null) {
- continue;
- }
-
- final int listSize = this.transitions.getErrorCalls().get(j).size();
- final HashMap<String, Envelope> map = this.transitions.getErrorCalls().get(j);
- if (map == null) {
- continue;
- }
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText("Interleaving: " + j); //$NON-NLS-1$
- for (int i = 0; i < listSize; i++) {
- final Collection<Envelope> collection = map.values();
- Object[] calls = new Object[collection.size()];
- calls = collection.toArray();
- final Envelope env = (Envelope) calls[i];
-
- // If it is not an assertion violation move on
- if (!env.getFunctionName().equalsIgnoreCase("mpi_assert")) { //$NON-NLS-1$
- continue;
- }
-
- errorFound = true;
-
- final IFile sourceFile = GemUtilities.getSourceFile(env.getFilePath(), GemUtilities.getProjectLogFile());
- if (sourceFile != null) {
- final String basePath = sourceFile.getFullPath().toPortableString();
- fileItem = new TreeItem(interleavingItem, SWT.NULL);
- fileItem.setText(env.getFunctionName() + "\t" + basePath + "\tLine: " + env.getLinenumber()); //$NON-NLS-1$ //$NON-NLS-2$
- this.errorCount++;
- } else {
- clear();
- GemUtilities.showErrorDialog(Messages.GemBrowser_1);
- break;
- }
- }
- // If nothing was added for this interleaving remove the item
- if (interleavingItem.getItemCount() < 1) {
- interleavingItem.dispose();
- }
- }
- if (!errorFound) {
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText(Messages.GemBrowser_14);
- final Image noErrorImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/no-error.gif"));//$NON-NLS-1$
- assertTab.setImage(noErrorImage);
- }
-
- // Add a selection listener so a click will open the entry in the editor
- tree.addSelectionListener(this.listener);
- }
-
- /*
- * Populates the this viewer with tabs holding the problems that were found.
- */
- private void fillBrowserTabs() {
- final Boolean FIB = GemPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.GEM_PREF_FIB);
-
- int tabIndex = 0;
- fillDeadlockTab(this.tabFolder, tabIndex++);
- fillAssertionViolationTab(this.tabFolder, tabIndex++);
- fillResourceLeaksTab(this.tabFolder, tabIndex++);
- if (FIB) {
- fillIrrelevantBarrierTab(this.tabFolder, tabIndex++);
- }
- fillTypeMismatchTab(this.tabFolder, tabIndex++);
-
- // Open up the first tab
- this.tabFolder.setSelection(this.tabFolder.getItem(0));
- this.tabFolder.showSelection();
-
- // Set the label's text and icon
- final String errString = (this.errorCount == 1) ? Messages.GemBrowser_15 : Messages.GemBrowser_16;
- final String warnString = (this.warningCount == 1) ? Messages.GemBrowser_17 : Messages.GemBrowser_18;
- this.summaryLabel.setText(this.errorCount + " " + errString + " " + this.warningCount + " " + warnString); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (this.errorCount == 0 && this.warningCount == 0) {
- this.summaryLabel.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/no-error.gif")));//$NON-NLS-1$
- } else {
- this.summaryLabel.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/magnified-trident.gif")));//$NON-NLS-1$
- }
- }
-
- /*
- * Calling this will create a tab filled with the errors found or a message
- * indicating your clean bill of health
- */
- private void fillDeadlockTab(CTabFolder tabFolder, int tabIndex) {
-
- // Create the Tab and the tree it holds
- new CTabItem(tabFolder, SWT.NONE, tabIndex).setText(Messages.GemBrowser_19);
- final CTabItem errorTab = tabFolder.getItem(tabIndex);
- errorTab.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/magnified-trident.gif")));//$NON-NLS-1$
- errorTab.setToolTipText(Messages.GemBrowser_20);
- final Tree tree = new Tree(tabFolder, SWT.BORDER);
- errorTab.setControl(tree);
- tree.setLinesVisible(true);
- tree.setLayoutData(new GridData(GridData.FILL_BOTH));
- tree.setFont(setFontSize(tree.getFont(), 8));
- TreeItem interleavingItem = null;
- TreeItem fileItem = null;
-
- // Parse the resource leak list and populate tree.
- final int totalInterleavings = this.transitions.getTotalInterleavings();
- boolean errorFound = false;
- for (int i = 0; i <= totalInterleavings; i++) {
- if (this.transitions.getErrorCalls() == null || this.transitions.getErrorCalls().get(i) == null) {
- continue;
- }
- final HashMap<String, Envelope> map = this.transitions.getErrorCalls().get(i);
- if (map == null) {
- continue;
- }
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText("Interleaving: " + i); //$NON-NLS-1$
- final Collection<Envelope> collection = map.values();
- final Iterator<Envelope> itr = collection.iterator();
- while (itr.hasNext()) {
- final Envelope env = itr.next();
-
- // If it is an assertion violation move on
- if (env.getFunctionName().equalsIgnoreCase("mpi_assert")) { //$NON-NLS-1$
- continue;
- }
- errorFound = true;
-
- final IFile sourceFile = GemUtilities.getSourceFile(env.getFilePath(), GemUtilities.getProjectLogFile());
- if (sourceFile != null) {
- final String basePath = sourceFile.getFullPath().toPortableString();
- fileItem = new TreeItem(interleavingItem, SWT.NULL);
- fileItem.setText(env.getFunctionName() + "\t" + basePath + "\tLine: " + env.getLinenumber()); //$NON-NLS-1$ //$NON-NLS-2$
- this.errorCount++;
- } else {
- clear();
- GemUtilities.showErrorDialog(Messages.GemBrowser_2);
- break;
- }
- }
-
- // If nothing was added for this interleaving remove the item
- if (interleavingItem.getItemCount() < 1) {
- interleavingItem.dispose();
- }
- }
- if (!errorFound) {
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText(Messages.GemBrowser_22);
- final Image noErrorImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/no-error.gif"));//$NON-NLS-1$
- errorTab.setImage(noErrorImage);
- }
-
- // Add a selection listener so a click will open the entry in the editor
- tree.addSelectionListener(this.listener);
- }
-
- /*
- * Creates a tab in the specified folder at the specified index that is
- * filled with all irrelevant barriers that were found or by a message that
- * either says that there are no irrelevant barriers or that FIB is
- * disabled.
- */
- private void fillIrrelevantBarrierTab(CTabFolder tabFolder, int tabIndex) {
-
- // Create the tab and the tree inside it
- new CTabItem(tabFolder, SWT.NONE, tabIndex).setText(Messages.GemBrowser_23);
- final CTabItem IBTab = tabFolder.getItem(tabIndex);
- IBTab.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/magnified-trident.gif")));//$NON-NLS-1$
- IBTab.setToolTipText(Messages.GemBrowser_24);
- final Tree tree = new Tree(tabFolder, SWT.BORDER);
- IBTab.setControl(tree);
- tree.setLinesVisible(true);
- tree.setLayoutData(new GridData(GridData.FILL_BOTH));
- tree.setFont(setFontSize(tree.getFont(), 8));
- TreeItem interleavingItem = null;
- TreeItem fileItem = null;
-
- /* Populate the tab */
- // If FIB is disabled tell the user
- final Boolean FIB = GemPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.GEM_PREF_FIB);
- if (!FIB) {
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText(Messages.GemBrowser_25);
- final Image noErrorImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/help-contents.gif"));//$NON-NLS-1$
- IBTab.setImage(noErrorImage);
- }
- // If there is a deadlock then FIB does not function properly
- else if (this.transitions.hasDeadlock()) {
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText(Messages.GemBrowser_26);
- final Image noErrorImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/help-contents.gif"));//$NON-NLS-1$
- IBTab.setImage(noErrorImage);
- } else if (this.transitions.getIrrelevantBarriers() == null) {
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText(Messages.GemBrowser_27);
- final Image noErrorImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/no-error.gif"));//$NON-NLS-1$
- IBTab.setImage(noErrorImage);
- }
-
- else {
- final HashMap<Integer, String> fibs = this.transitions.getIrrelevantBarriers();
- TreeItem group = null;
- int groupNumber = 0;
-
- final Collection<String> fibList = fibs.values();
- final Iterator<String> itr = fibList.iterator();
- while (itr.hasNext()) {
- final String line = itr.next();
- if (group == null) {
- group = new TreeItem(tree, SWT.NULL);
- group.setText("Interleaving: " + (++groupNumber)); //$NON-NLS-1$
- }
-
- final StringTokenizer tokenizer = new StringTokenizer(line);
- final String filePathString = tokenizer.nextToken();
- final String lineNumber = tokenizer.nextToken();
-
- final IFile sourceFile = GemUtilities.getSourceFile(filePathString, GemUtilities.getProjectLogFile());
- if (sourceFile != null) {
- final String basePath = sourceFile.getFullPath().toPortableString();
- final String text = "FIB" + "\t" + basePath + "\tLine: " + lineNumber; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- fileItem = new TreeItem(group, SWT.NULL);
- fileItem.setText(text);
- this.warningCount++;
- } else {
- clear();
- GemUtilities.showErrorDialog(Messages.GemBrowser_3);
- break;
- }
- }
-
- // Add selection listener so a click will open entry in the editor
- tree.addSelectionListener(this.listener);
- }
- }
-
- /*
- * Populates the view pull-down menu.
- */
- private void fillLocalPullDown(IMenuManager manager) {
- manager.add(this.terminateOperationAction);
- this.terminateOperationAction.setText(Messages.GemBrowser_29);
- manager.add(new Separator());
- manager.add(this.writeToLocalFileAction);
- this.writeToLocalFileAction.setText(Messages.GemBrowser_30);
- manager.add(new Separator());
- manager.add(this.getHelpAction);
- manager.add(new Separator());
-
- // Other plug-ins can contribute their actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- /*
- * Contributes icons and actions to the tool bar.
- */
- private void fillLocalToolBar(IToolBarManager manager) {
- manager.add(this.terminateOperationAction);
- manager.add(this.writeToLocalFileAction);
- manager.add(this.getHelpAction);
-
- // Other plug-ins can contribute their actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- /*
- * Creates a tab in the specified folder at the specified index filled with
- * all leaks that were found or by a message indicating that there are none.
- */
- private void fillResourceLeaksTab(CTabFolder tabFolder, int tabIndex) {
-
- // Create the tab and the tree
- new CTabItem(tabFolder, SWT.NONE, tabIndex).setText(Messages.GemBrowser_31);
- final CTabItem leakTab = tabFolder.getItem(tabIndex);
- leakTab.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/magnified-trident.gif"))); //$NON-NLS-1$
- leakTab.setToolTipText(Messages.GemBrowser_32);
- final Tree tree = new Tree(tabFolder, SWT.BORDER);
- leakTab.setControl(tree);
- tree.setLinesVisible(true);
- tree.setLayoutData(new GridData(GridData.FILL_BOTH));
- tree.setFont(setFontSize(tree.getFont(), 8));
- TreeItem interleavingItem = null;
- TreeItem fileItem = null;
-
- // Parse the resource leak list and populate tree.
- int prevInterleaving = -1;
- final HashMap<Integer, Envelope> leaks = this.transitions.getResourceLeaks();
-
- if (leaks == null) {
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText(Messages.GemBrowser_33);
- final Image noErrorImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/no-error.gif")); //$NON-NLS-1$
- leakTab.setImage(noErrorImage);
- } else {
- final Collection<Envelope> leakList = leaks.values();
- final Iterator<Envelope> itr = leakList.iterator();
- while (itr.hasNext()) {
- final Envelope env = itr.next();
- if (prevInterleaving != env.getInterleaving()) {
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText("Interleaving: " + env.getInterleaving()); //$NON-NLS-1$
- prevInterleaving = env.getInterleaving();
- }
-
- final IFile sourceFile = GemUtilities.getSourceFile(env.getFilePath(), GemUtilities.getProjectLogFile());
- if (sourceFile != null) {
- final String basePath = sourceFile.getFullPath().toPortableString();
- final String text = env.getLeakResource() + "\t" + basePath + "\tLine: " + env.getLinenumber(); //$NON-NLS-1$ //$NON-NLS-2$
- fileItem = new TreeItem(interleavingItem, SWT.NULL);
- fileItem.setText(text);
- this.warningCount++;
- } else {
- clear();
- GemUtilities.showErrorDialog(Messages.GemBrowser_4);
- break;
- }
- }
- }
-
- // Add a selection listener so a click will open the entry in the editor
- tree.addSelectionListener(this.listener);
- }
-
- /*
- * Creates a tab in the specified folder at the specified index that is
- * filled with all MPI type mismatches that were found.
- */
- private void fillTypeMismatchTab(CTabFolder tabFolder, int tabIndex) {
-
- // Create the tab and the tree inside it
- new CTabItem(tabFolder, SWT.NONE, tabIndex).setText("Type Mismatches"); //$NON-NLS-1$
- final CTabItem IBTab = tabFolder.getItem(tabIndex);
- IBTab.setImage(GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/magnified-trident.gif")));//$NON-NLS-1$
- IBTab.setToolTipText("Browse Type Mismatches"); //$NON-NLS-1$
- final Tree tree = new Tree(tabFolder, SWT.BORDER);
- IBTab.setControl(tree);
- tree.setLinesVisible(true);
- tree.setLayoutData(new GridData(GridData.FILL_BOTH));
- tree.setFont(setFontSize(tree.getFont(), 8));
- TreeItem interleavingItem = null;
- TreeItem fileItem = null;
-
- /* Populate the tab */
- if (this.transitions.getTypeMismatches() == null) {
- interleavingItem = new TreeItem(tree, SWT.NULL);
- interleavingItem.setText("No Type Mismatches Found"); //$NON-NLS-1$
- final Image noErrorImage = GemPlugin.getImage(GemPlugin.getImageDescriptor("icons/no-error.gif"));//$NON-NLS-1$
- IBTab.setImage(noErrorImage);
- } else {
- final HashMap<Integer, String> mismatches = this.transitions.getTypeMismatches();
- TreeItem group = null;
- int groupNumber = 0;
-
- final Collection<String> mismatchList = mismatches.values();
- final Iterator<String> itr = mismatchList.iterator();
- while (itr.hasNext()) {
- final String line = itr.next();
- if (group == null) {
- group = new TreeItem(tree, SWT.NULL);
- group.setText("Interleaving: " + (++groupNumber)); //$NON-NLS-1$
- }
-
- final StringTokenizer tokenizer = new StringTokenizer(line);
- final String filePathString = tokenizer.nextToken();
- final String lineNumber = tokenizer.nextToken();
-
- final IFile sourceFile = GemUtilities.getSourceFile(filePathString, GemUtilities.getProjectLogFile());
- if (sourceFile != null) {
- final String basePath = sourceFile.getFullPath().toPortableString();
- final String text = "Type_Mismatch" + "\t" + basePath + "\tLine: " + lineNumber; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- fileItem = new TreeItem(group, SWT.NULL);
- fileItem.setText(text);
- this.warningCount++;
- } else {
- clear();
- GemUtilities.showErrorDialog(Messages.GemBrowser_5);
- break;
- }
- }
-
- // Add selection listener so a click will open entry in the editor
- tree.addSelectionListener(this.listener);
- }
- }
-
- /**
- * Initializing everything for this view and creates threads to be used by
- * the main UI thread to do updates.
- *
- * @param none
- * @return void
- */
- public void init() {
-
- this.browserUpdateThread = new Thread() {
- @Override
- public void run() {
- reset();
- fillBrowserTabs();
- Display.getDefault().syncExec(GemBrowser.this.disableTerminateButtonThread);
- }
- };
-
- this.clearBrowserThread = new Thread() {
- @Override
- public void run() {
- GemBrowser.this.terminateOperationAction.setEnabled(false);
- GemBrowser.this.writeToLocalFileAction.setEnabled(false);
- GemBrowser.this.runGemButton.setEnabled(true);
- GemBrowser.this.transitions = null;
- GemBrowser.this.errorCount = 0;
- GemBrowser.this.warningCount = 0;
- GemBrowser.this.summaryLabel.setText(""); //$NON-NLS-1$
- GemBrowser.this.summaryLabel.setImage(null);
- removeTabs();
- GemUtilities.setTaskStatus(GemUtilities.TaskStatus.IDLE);
- }
- };
-
- this.disableTerminateButtonThread = new Thread() {
- @Override
- public void run() {
- GemBrowser.this.terminateOperationAction.setEnabled(false);
- GemBrowser.this.writeToLocalFileAction.setEnabled(true);
- GemBrowser.this.runGemButton.setEnabled(true);
- }
- };
-
- // start things up now
- this.writeToLocalFileAction.setEnabled(false);
- this.terminateOperationAction.setEnabled(true);
- this.runGemButton.setEnabled(false);
- }
-
- /*
- * Creates the actions associated with the action bar buttons and context
- * menu items.
- */
- private void makeActions() {
- // Get Help Action
- this.getHelpAction = new Action() {
- @Override
- public void run() {
- PlatformUI.getWorkbench().getHelpSystem().displayHelpResource("/org.eclipse.ptp.gem.help/html/browserView.html"); //$NON-NLS-1$
- }
- };
- this.getHelpAction.setToolTipText(Messages.GemBrowser_39);
- this.getHelpAction.setImageDescriptor(GemPlugin.getImageDescriptor("icons/help-contents.gif")); //$NON-NLS-1$
-
- // Terminate Process Action
- this.terminateOperationAction = new Action() {
- @Override
- public void run() {
- GemUtilities.terminateOperation();
- }
- };
- this.terminateOperationAction.setImageDescriptor(GemPlugin.getImageDescriptor("icons/progress_stop.gif")); //$NON-NLS-1$
- this.terminateOperationAction.setToolTipText(Messages.GemBrowser_40);
- this.terminateOperationAction.setEnabled(false);
-
- // Save Browser summary to local file
- this.writeToLocalFileAction = new Action() {
- @Override
- public void run() {
-
- // Let the user indicate where to save local file
- final JFileChooser fc = new JFileChooser();
- final JFrame frame = new JFrame();
- int result = fc.showSaveDialog(frame);
-
- if (result == JFileChooser.APPROVE_OPTION) {
- final File file = fc.getSelectedFile();
- if (file.exists()) {
- result = fc.showDialog(frame, Messages.GemBrowser_41);
- }
- if (result == JFileChooser.APPROVE_OPTION) {
- GemUtilities.saveToLocalFile(file, createBrowserSummary());
- }
- } else if (result == JFileChooser.ERROR_OPTION) {
- GemUtilities.showErrorDialog(Messages.GemBrowser_42);
- }
- }
- };
- this.writeToLocalFileAction.setToolTipText(Messages.GemBrowser_43);
- this.writeToLocalFileAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
- .getImageDescriptor(ISharedImages.IMG_ETOOL_SAVE_EDIT));
- this.writeToLocalFileAction.setEnabled(false);
- }
-
- /*
- * Opens the editor with the current source file active and jump to the line
- * number that is passed in.
- */
- private void openEditor(int lineNumber, IFile sourceFile) {
- try {
- final IEditorPart editor = org.eclipse.ui.ide.IDE.openEditor(PlatformUI
- .getWorkbench().getActiveWorkbenchWindow().getActivePage(),
- sourceFile, true);
- final IMarker marker = sourceFile.createMarker(IMarker.MARKER);
- marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
- org.eclipse.ui.ide.IDE.gotoMarker(editor, marker);
- } catch (final Exception e) {
- GemUtilities.logExceptionDetail(e);
- }
- }
-
- /*
- * Removes all tabs, used when clearing the browser or in preparation for
- * the next analysis.
- */
- private void removeTabs() {
- final CTabItem[] items = this.tabFolder.getItems();
- final int numItems = items.length;
- for (int i = 0; i < numItems; i++) {
- items[i].dispose();
- }
- }
-
- /*
- * Resets everything to default values. Used when a new file is analyzed or
- * when an exception or some other error occurs that interrupts the current
- * GEM operation.
- */
- private void reset() {
- setNumProcItems();
- removeTabs();
- GemUtilities.setTaskStatus(GemUtilities.TaskStatus.IDLE);
- Display.getDefault().syncExec(GemBrowser.this.disableTerminateButtonThread);
- }
-
- /**
- * see org.eclipse.ui.IWorkbenchPart
- */
- @Override
- public void setFocus() {
- this.runGemButton.setFocus();
- }
-
- /*
- * Given the initial Font, this helper method returns that Font with the new
- * specified size.
- */
- private Font setFontSize(Font font, int size) {
- final FontData[] fontData = font.getFontData();
- for (final FontData element : fontData) {
- element.setHeight(size);
- }
- return new Font(this.parent.getDisplay(), fontData);
- }
-
- /*
- * Populates the num-procs combo-box with choices the user can use to set
- * the number of processes for the next analyzer run.
- */
- private void setNumProcItems() {
- final String[] ranks = new String[16];
- for (int i = 1; i <= 16; i++) {
- ranks[i - 1] = ((Integer) i).toString();
- }
- this.setNumProcsComboList.setItems(ranks);
- final Integer numProcs = GemPlugin.getDefault().getPreferenceStore().getInt(PreferenceConstants.GEM_PREF_NUMPROCS);
- this.setNumProcsComboList.setText(numProcs.toString());
- }
-
- /**
- * Called on each new GEM analysis This method resets the transitions object
- * along with warning/error counters and invokes the BrowserUppdate thread.
- *
- * @param transitions
- * The Transitions object associated with this GEM update.
- * @return void
- */
- public void update(Transitions transitions) {
- this.transitions = transitions;
- this.errorCount = 0;
- this.warningCount = 0;
-
- // Create a thread to perform the update
- Display.getDefault().syncExec(this.browserUpdateThread);
- }
-
- /**
- * This method is used when another location changes the number of processes
- * preference. Calling this method will update the drop down so that it has
- * the correct number of processes displayed.
- *
- * @param none
- * @return void
- */
- public void updateDropDown() {
- final Integer nprocs = GemPlugin.getDefault().getPreferenceStore().getInt(PreferenceConstants.GEM_PREF_NUMPROCS);
- this.setNumProcsComboList.setText(nprocs.toString());
- }
-
-}
diff --git a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/views/GemConsole.java b/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/views/GemConsole.java
deleted file mode 100644
index 2bfc13f..0000000
--- a/tools/gem/org.eclipse.ptp.gem/src/org/eclipse/ptp/internal/gem/views/GemConsole.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2013 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
-package org.eclipse.ptp.internal.gem.views;
-
-import java.io.File;
-
-import javax.swing.JFileChooser;
-import javax.swing.JFrame;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ptp.internal.gem.GemPlugin;
-import org.eclipse.ptp.internal.gem.messages.Messages;
-import org.eclipse.ptp.internal.gem.util.GemUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.MessageConsole;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * The GEM Console View.
- */
-public class GemConsole extends ViewPart {
-
- // The ID for this view
- public static final String ID = "org.eclipse.ptp.gem.views.GemConsole"; //$NON-NLS-1$
-
- private Action clearConsoleAction;
- private Action writeToLocalFileAction;
- private Action getHelpAction;
- private Action terminateOperationAction;
- private MessageConsole msgConsole;
- private StyledText txtConViewer;
- private Thread disableTerminateButtonThread;
- private Thread clearConsoleThread;
-
- /**
- * Constructor.
- *
- * @param none
- */
- public GemConsole() {
- super();
- }
-
- /**
- * Brings this ViewPart to the front and gives it focus.
- *
- * @param none
- * @return none
- */
- public void activate() {
- final Thread activationThread = new Thread() {
- @Override
- public void run() {
- final IWorkbench wb = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- if (page != null) {
- page.activate(GemConsole.this);
- }
- }
- };
-
- // We need to switch to the thread that is allowed to change the UI
- Display.getDefault().syncExec(activationThread);
- }
-
- /**
- * Changes status of the terminate process button (Action) to disabled.
- *
- * @param none
- * @return void
- */
- public void cancel() {
- Display.getDefault().syncExec(this.disableTerminateButtonThread);
- }
-
- /**
- * Clears all text from the Gem Console via the main UI thread.
- *
- * @param none
- * @return void
- */
- public void clear() {
- Display.getDefault().syncExec(this.clearConsoleThread);
- }
-
- /*
- * Calls finer grained methods, populating the view action bar.
- */
- private void contributeToActionBars() {
- final IActionBars bars = getViewSite().getActionBars();
- fillLocalPullDown(bars.getMenuManager());
- fillLocalToolBar(bars.getToolBarManager());
- }
-
- /**
- * Callback that allows us to create the viewer and initialize it.
- *
- * @param parent
- * The parent Composite to this View.
- * @return void
- */
- @Override
- public void createPartControl(Composite parent) {
-
- // Initializations
- this.txtConViewer = new StyledText(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
- this.txtConViewer.setFont(new Font(null, "Courier", 10, SWT.NORMAL)); //$NON-NLS-1$
-
- // Create actions and connect them to buttons
- makeActions();
- contributeToActionBars();
- }
-
- /*
- * Populates the view pull-down menu.
- */
- private void fillLocalPullDown(IMenuManager manager) {
- manager.add(this.clearConsoleAction);
- this.clearConsoleAction.setText(Messages.GemConsole_3);
- manager.add(this.writeToLocalFileAction);
- this.writeToLocalFileAction.setText(Messages.GemConsole_4);
- manager.add(this.getHelpAction);
- this.getHelpAction.setText(Messages.GemConsole_5);
- manager.add(new Separator());
-
- // Other plug-ins can contribute their actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- /*
- * Contributes icons and actions to the tool bar.
- */
- private void fillLocalToolBar(IToolBarManager manager) {
- manager.add(this.terminateOperationAction);
- manager.add(this.clearConsoleAction);
- manager.add(this.writeToLocalFileAction);
- manager.add(this.getHelpAction);
-
- // Other plug-ins can contribute their actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- /**
- * Initializes everything for this view and creates threads to be used by
- * the main UI thread to perform view updates.
- *
- * @param none
- * @return void
- */
- public void init() {
-
- this.disableTerminateButtonThread = new Thread() {
- @Override
- public void run() {
- GemConsole.this.terminateOperationAction.setEnabled(false);
- }
- };
-
- this.clearConsoleThread = new Thread() {
- @Override
- public void run() {
- GemConsole.this.txtConViewer.setText(""); //$NON-NLS-1$
- }
- };
-
- this.terminateOperationAction.setEnabled(true);
- }
-
- /*
- * Creates the actions associated with the action bar buttons and context
- * menu items.
- */
- private void makeActions() {
-
- // terminateOperationAction
- this.terminateOperationAction = new Action() {
- @Override
- public void run() {
- GemUtilities.terminateOperation();
- }
- };
- this.terminateOperationAction.setImageDescriptor(GemPlugin.getImageDescriptor("icons/progress_stop.gif")); //$NON-NLS-1$
- this.terminateOperationAction.setToolTipText(Messages.GemAnalyzer_74);
- this.terminateOperationAction.setEnabled(false);
-
- // clearConsoleAction
- this.clearConsoleAction = new Action() {
- @Override
- public void run() {
- GemConsole.this.txtConViewer.setText(""); //$NON-NLS-1$
- }
- };
- this.clearConsoleAction.setToolTipText(Messages.GemConsole_6);
- this.clearConsoleAction.setImageDescriptor(GemPlugin.getImageDescriptor("icons/clear-console.gif")); //$NON-NLS-1$
-
- // write ToLocalFileAction
- this.writeToLocalFileAction = new Action() {
- @Override
- public void run() {
-
- // Let the user indicate where to save local file
- final JFileChooser fc = new JFileChooser();
- final JFrame frame = new JFrame();
- int result = fc.showSaveDialog(frame);
-
- if (result == JFileChooser.APPROVE_OPTION) {
- final File file = fc.getSelectedFile();
- if (file.exists()) {
- result = fc.showDialog(frame, Messages.GemConsole_7);
- }
- if (result == JFileChooser.APPROVE_OPTION) {
- GemUtilities.saveToLocalFile(file, GemConsole.this.msgConsole.getDocument().get());
- }
- } else if (result == JFileChooser.ERROR_OPTION) {
- GemUtilities.showErrorDialog(Messages.GemConsole_8);
- }
- }
- };
- this.writeToLocalFileAction.setToolTipText(Messages.GemConsole_9);
- this.writeToLocalFileAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
- .getImageDescriptor(ISharedImages.IMG_ETOOL_SAVE_EDIT));
-
- // getHelpAction
- this.getHelpAction = new Action() {
- @Override
- public void run() {
- PlatformUI.getWorkbench().getHelpSystem().displayHelpResource("/org.eclipse.ptp.gem.help/html/consoleView.html"); //$NON-NLS-1$
- }
- };
- this.getHelpAction.setToolTipText(Messages.GemConsole_10);
- this.getHelpAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
- .getImageDescriptor(ISharedImages.IMG_LCL_LINKTO_HELP));
- }
-
- /**
- * see org.eclipse.ui.IWorkbenchPart
- */
- @Override
- public void setFocus() {
- this.txtConViewer.setFocus();
- }
-
- /**
- * Appends the specified message to the TextConsole. If the clear console
- * preference is set, the new message simply replaces the existing console
- * content.
- *
- * @param message
- * The string to append to the existing text in the text console
- * viewer of this view part.
- * @return void
- */
- public void write(String message) {
- // this.txtConViewer.setText(this.txtConViewer.getText()+message);
- this.txtConViewer.append(message);
- this.txtConViewer.setTopIndex(this.txtConViewer.getLineCount() - 1);
- }
-
- /**
- * Writes the string to the console as an error message.
- *
- * @param consoleStdErrMessage
- * The string that represents stderr to write to this Console.
- * @return void
- */
- public void writeStdErr(String consoleStdErrMessage) {
- final int oldLen = this.txtConViewer.getText().length();
- write(consoleStdErrMessage);
-
- if (consoleStdErrMessage.length() > 2) {
- final StyleRange styleRange = new StyleRange();
- final Display display = Display.getDefault();
- styleRange.start = oldLen;
- styleRange.length = consoleStdErrMessage.length();
- styleRange.foreground = display.getSystemColor(SWT.COLOR_RED);
- styleRange.fontStyle = SWT.BOLD;
- // styleRange1.fontStyle = SWT.BOLD | SWT.ITALIC;
- this.txtConViewer.setStyleRange(styleRange);
- }
- }
-
- /**
- * Writes the string to the console as a standard message.
- *
- * @param consoleStdOutMessage
- * The string that represents stdout to write to this Console.
- * @void
- */
- public void writeStdOut(String consoleStdOutMessage) {
- write(consoleStdOutMessage);
- }
-
-}
diff --git a/tools/pldt/pom.xml b/tools/pldt/pom.xml
index a85a496..83d05b2 100644
--- a/tools/pldt/pom.xml
+++ b/tools/pldt/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
diff --git a/tools/pom.xml b/tools/pom.xml
index b8910c9..f3fd7d3 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -6,7 +6,7 @@
<parent>
<groupId>org.eclipse.ptp</groupId>
<artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
+ <version>9.3.1-SNAPSHOT</version>
</parent>
<artifactId>tools-parent</artifactId>
diff --git a/tools/sci/org.eclipse.ptp.sci/.cproject b/tools/sci/org.eclipse.ptp.sci/.cproject
deleted file mode 100644
index 427512f..0000000
--- a/tools/sci/org.eclipse.ptp.sci/.cproject
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.2009535681">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.2009535681" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildProperties="" description="" id="0.2009535681" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.2009535681." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1594998210" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1594998210.2064958559" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.984714857" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1654805868" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.143460927" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.113121391" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.92741190" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1046866184" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.2013909110" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1776969854" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="makefileGenerator">
- <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <scannerConfigBuildInfo instanceId="0.2009535681">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="makefileGenerator">
- <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
- <buildOutputProvider>
- <openAction enabled="true" filePath=""/>
- <parser enabled="true"/>
- </buildOutputProvider>
- <scannerInfoProvider id="specsFile">
- <runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
- <parser enabled="true"/>
- </scannerInfoProvider>
- </profile>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
- <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
- <buildTargets>
- <target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
- <buildCommand>make</buildCommand>
- <buildTarget>all</buildTarget>
- <stopOnError>true</stopOnError>
- <useDefaultCommand>true</useDefaultCommand>
- <runAllBuilders>true</runAllBuilders>
- </target>
- <target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
- <buildCommand>make</buildCommand>
- <buildArguments/>
- <buildTarget>clean</buildTarget>
- <stopOnError>true</stopOnError>
- <useDefaultCommand>true</useDefaultCommand>
- <runAllBuilders>true</runAllBuilders>
- </target>
- </buildTargets>
- </storageModule>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="org.eclipse.ptp.sci.null.763117367" name="org.eclipse.ptp.sci"/>
- </storageModule>
-</cproject>
diff --git a/tools/sci/org.eclipse.ptp.sci/.cvsignore b/tools/sci/org.eclipse.ptp.sci/.cvsignore
deleted file mode 100644
index 5520d05..0000000
--- a/tools/sci/org.eclipse.ptp.sci/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-autom4te.cache
-stamp-h1
-config.status
-config.h
-Makefile
-a.out.dSYM
-libtool
diff --git a/tools/sci/org.eclipse.ptp.sci/.project b/tools/sci/org.eclipse.ptp.sci/.project
deleted file mode 100644
index bda8d41..0000000
--- a/tools/sci/org.eclipse.ptp.sci/.project
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ptp.sci</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
-</projectDescription>
diff --git a/tools/sci/org.eclipse.ptp.sci/AUTHORS b/tools/sci/org.eclipse.ptp.sci/AUTHORS
deleted file mode 100644
index 4f5304e..0000000
--- a/tools/sci/org.eclipse.ptp.sci/AUTHORS
+++ /dev/null
@@ -1,4 +0,0 @@
-Tu Hong Jun Email: tuhongj@cn.ibm.com, Msn: redsand@263.net
-Rong Li Email: ronglli@cn.ibm.com
-Nicole Nie
-Liu Wei
diff --git a/tools/sci/org.eclipse.ptp.sci/COPYING b/tools/sci/org.eclipse.ptp.sci/COPYING
deleted file mode 100644
index 623b625..0000000
--- a/tools/sci/org.eclipse.ptp.sci/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- 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
-this service 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.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. 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.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-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
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the 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.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE 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.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- 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.
-
- 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
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- 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 2 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, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This 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 Library General
-Public License instead of this License.
diff --git a/tools/sci/org.eclipse.ptp.sci/ChangeLog b/tools/sci/org.eclipse.ptp.sci/ChangeLog
deleted file mode 100644
index e69de29..0000000
--- a/tools/sci/org.eclipse.ptp.sci/ChangeLog
+++ /dev/null
diff --git a/tools/sci/org.eclipse.ptp.sci/INSTALL b/tools/sci/org.eclipse.ptp.sci/INSTALL
deleted file mode 100644
index 23e5f25..0000000
--- a/tools/sci/org.eclipse.ptp.sci/INSTALL
+++ /dev/null
@@ -1,236 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
-Software Foundation, Inc.
-
-This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
-These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. (Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.)
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
-Some systems require unusual options for compilation or linking that the
-`configure' script does not know about. Run `./configure --help' for
-details on some of the pertinent environment variables.
-
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
-
- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory. After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
-
-Installation Names
-==================
-
-By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc. You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-There may be some features `configure' cannot figure out automatically,
-but needs to determine by the type of machine the package will run on.
-Usually, assuming the package is built to be run on the _same_
-architectures, `configure' can figure that out, but if it prints a
-message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS KERNEL-OS
-
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script). Here is a another example:
-
- /bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
-configuration-related scripts to be executed by `/bin/bash'.
-
-`configure' Invocation
-======================
-
-`configure' recognizes the following options to control how it operates.
-
-`--help'
-`-h'
- Print a summary of the options to `configure', and exit.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
- disable caching.
-
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
-
diff --git a/tools/sci/org.eclipse.ptp.sci/META-INF/MANIFEST.MF b/tools/sci/org.eclipse.ptp.sci/META-INF/MANIFEST.MF
deleted file mode 100644
index 4ada794..0000000
--- a/tools/sci/org.eclipse.ptp.sci/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ptp.sci
-Bundle-Version: 9.3.0.qualifier
-Bundle-Vendor: %pluginProvider
-Bundle-Localization: plugin
diff --git a/tools/sci/org.eclipse.ptp.sci/Makefile.am b/tools/sci/org.eclipse.ptp.sci/Makefile.am
deleted file mode 100644
index 76727b1..0000000
--- a/tools/sci/org.eclipse.ptp.sci/Makefile.am
+++ /dev/null
@@ -1,4 +0,0 @@
-SUBDIRS = common libsci scid scia usecase
-if OPEN_SSL
- SUBDIRS += secmod
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/Makefile.in b/tools/sci/org.eclipse.ptp.sci/Makefile.in
deleted file mode 100644
index 2897096..0000000
--- a/tools/sci/org.eclipse.ptp.sci/Makefile.in
+++ /dev/null
@@ -1,719 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@OPEN_SSL_TRUE@am__append_1 = secmod
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- missing
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = common libsci scid scia usecase secmod
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d "$(distdir)" \
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr "$(distdir)"; }; }
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = common libsci scid scia usecase $(am__append_1)
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh:
- @:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in: $(am__configure_deps)
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
-
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- test -d $(distdir)/_build || exit 0; \
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
- && cd "$$am__cwd" \
- || exit 1
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @$(am__cd) '$(distuninstallcheck_dir)' \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile config.h
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-generic \
- clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
- dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
- distcheck distclean distclean-generic distclean-hdr \
- distclean-libtool distclean-tags distcleancheck distdir \
- distuninstallcheck dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags tags-recursive uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/NEWS b/tools/sci/org.eclipse.ptp.sci/NEWS
deleted file mode 100644
index e69de29..0000000
--- a/tools/sci/org.eclipse.ptp.sci/NEWS
+++ /dev/null
diff --git a/tools/sci/org.eclipse.ptp.sci/README b/tools/sci/org.eclipse.ptp.sci/README
deleted file mode 100644
index bdf4b2d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/README
+++ /dev/null
@@ -1 +0,0 @@
-under aix, users should install gmake first and type gmake instead of make to do the compiling
diff --git a/tools/sci/org.eclipse.ptp.sci/about.html b/tools/sci/org.eclipse.ptp.sci/about.html
deleted file mode 100644
index 3f81093..0000000
--- a/tools/sci/org.eclipse.ptp.sci/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tools/sci/org.eclipse.ptp.sci/aclocal.m4 b/tools/sci/org.eclipse.ptp.sci/aclocal.m4
deleted file mode 100644
index 77bfcdb..0000000
--- a/tools/sci/org.eclipse.ptp.sci/aclocal.m4
+++ /dev/null
@@ -1,8935 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
-[m4_warning([this file was generated for autoconf 2.63.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-m4_define([_LT_COPYING], [dnl
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool 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 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-])
-
-# serial 56 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
- [m4_default([$3],
- [m4_fatal([Libtool version $1 or higher is required],
- 63)])],
- [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
- *\ * | *\ *)
- AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-_LT_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- _LT_PATH_MAGIC
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
-])# _LT_PROG_LTMAIN
-
-
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
- [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME. Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
- [m4_ifval([$1], [$1], [$2])])
- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
- m4_ifval([$4],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
- lt_dict_add_subkey([lt_decl_dict], [$2],
- [tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
- [0], [m4_fatal([$0: too few arguments: $#])],
- [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
- [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
- m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_if([$2], [],
- m4_quote(lt_decl_varnames),
- m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'. VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly. In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-# # Some comment about what VAR is for.
-# visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
- [description])))[]dnl
-m4_pushdef([_libtool_name],
- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
- [0], [_libtool_name=[$]$1],
- [1], [_libtool_name=$lt_[]$1],
- [2], [_libtool_name=$lt_[]$1],
- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'. Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
- dnl If the libtool generation code has been placed in $CONFIG_LT,
- dnl instead of duplicating it all over again into config.status,
- dnl then we will have config.status run $CONFIG_LT later, so it
- dnl needs to know what name is stored there:
- [AC_CONFIG_COMMANDS([libtool],
- [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
- dnl If the libtool generation code is destined for config.status,
- dnl expand the accumulated commands and init code now:
- [AC_CONFIG_COMMANDS([libtool],
- [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\[$]0 --fallback-echo"')dnl "
- lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
- ;;
-esac
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-cat >"$CONFIG_LT" <<_LTEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate a libtool stub with the current configuration.
-
-lt_cl_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AS_SHELL_SANITIZE
-_AS_PREPARE
-
-exec AS_MESSAGE_FD>&1
-exec AS_MESSAGE_LOG_FD>>config.log
-{
- echo
- AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
-
-Report bugs to <bug-libtool@gnu.org>."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2008 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test $[#] != 0
-do
- case $[1] in
- --version | --v* | -V )
- echo "$lt_cl_version"; exit 0 ;;
- --help | --h* | -h )
- echo "$lt_cl_help"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --quiet | --q* | --silent | --s* | -q )
- lt_cl_silent=: ;;
-
- -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
-
- *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
- esac
- shift
-done
-
-if $lt_cl_silent; then
- exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure. Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-if test "$no_create" != yes; then
- lt_cl_success=:
- test "$silent" = yes &&
- lt_config_lt_args="$lt_config_lt_args --quiet"
- exec AS_MESSAGE_LOG_FD>/dev/null
- $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
- exec AS_MESSAGE_LOG_FD>>config.log
- $lt_cl_success || AS_EXIT(1)
-fi
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars. Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
- m4_if(_LT_TAG, [C], [
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
- _LT_PROG_LTMAIN
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- _LT_PROG_XSI_SHELLFNS
-
- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-# autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
- [C], [_LT_LANG(C)],
- [C++], [_LT_LANG(CXX)],
- [Java], [_LT_LANG(GCJ)],
- [Fortran 77], [_LT_LANG(F77)],
- [Fortran], [_LT_LANG(FC)],
- [Windows Resource], [_LT_LANG(RC)],
- [m4_ifdef([_LT_LANG_]$1[_CONFIG],
- [_LT_LANG($1)],
- [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
- [LT_SUPPORTED_TAG([$1])dnl
- m4_append([_LT_TAGS], [$1 ])dnl
- m4_define([_LT_LANG_]$1[_enabled], [])dnl
- _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [LT_LANG(CXX)],
- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
- [LT_LANG(F77)],
- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
- [LT_LANG(FC)],
- [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
- [LT_LANG(GCJ)],
- [m4_ifdef([AC_PROG_GCJ],
- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([A][M_PROG_GCJ],
- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([LT_PROG_GCJ],
- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
- [LT_LANG(RC)],
- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
- case $host_os in
- rhapsody* | darwin*)
- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
- AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
- AC_CHECK_TOOL([LIPO], [lipo], [:])
- AC_CHECK_TOOL([OTOOL], [otool], [:])
- AC_CHECK_TOOL([OTOOL64], [otool64], [:])
- _LT_DECL([], [DSYMUTIL], [1],
- [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
- _LT_DECL([], [NMEDIT], [1],
- [Tool to change global to local symbols on Mac OS X])
- _LT_DECL([], [LIPO], [1],
- [Tool to manipulate fat objects and archives on Mac OS X])
- _LT_DECL([], [OTOOL], [1],
- [ldd/readelf like tool for Mach-O binaries on Mac OS X])
- _LT_DECL([], [OTOOL64], [1],
- [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
- [lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&AS_MESSAGE_LOG_FD
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi])
- AC_CACHE_CHECK([for -exported_symbols_list linker flag],
- [lt_cv_ld_exported_symbols_list],
- [lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [lt_cv_ld_exported_symbols_list=yes],
- [lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
- ])
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
- m4_require([_LT_REQUIRED_DARWIN_CHECKS])
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_automatic, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=echo
- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- m4_if([$1], [CXX],
-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
- fi
-],[])
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX
-# -----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_SHELL_INIT
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[_LT_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
- ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X[$]1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
- # Yippee, $ECHO works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<_LT_EOF
-[$]*
-_LT_EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
- if test "X${echo_test_string+set}" != Xset; then
- # find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
- then
- break
- fi
- done
- fi
-
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
- else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$ECHO" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- ECHO='print -r'
- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- ECHO='printf %s\n'
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- ECHO=echo
- fi
- fi
- fi
- fi
- fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(lt_ECHO)
-])
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1],
- [An echo program that does not interpret backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AS_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-])# _LT_ENABLE_LOCK
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[AC_CHECK_TOOL(AR, ar, false)
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1])
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
- [Commands used to install an old-style archive])
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
- [Commands used to build an old-style archive])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- fi
- $RM conftest*
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$5], , :, [$5])
-else
- m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$4], , :, [$4])
-else
- m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
- = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
- [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}]
-_LT_EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_dlunknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
- [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
- [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
- [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
- [Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
- [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
- [Define to the sub-directory in which libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
- test -n "$_LT_TAGVAR(runpath_var, $1)" ||
- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
- [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
- [], [
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[[lt_foo]]++; }
- if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[[4-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[[45]]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[[123]]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[[3-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # Some binutils ld are patched to set DT_RUNPATH
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
- [shlibpath_overrides_runpath=yes])])
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Add ABI-specific directories to the system library path.
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-_LT_DECL([], [variables_saved_for_relink], [1],
- [Variables whose values should be saved in libtool wrapper scripts and
- restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
- [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
- [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
- [[List of archive names. First name is the real one, the rest are links.
- The last name is the one that the linker finds with -lNAME]])
-_LT_DECL([], [soname_spec], [1],
- [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [postinstall_cmds], [2],
- [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
- [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
- [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
- [[As "finish_cmds", except a single script fragment to be evaled but
- not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
- [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
- [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
- [Run-time system search path for libraries])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program which can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="m4_if([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
- [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program which can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-
-AC_ARG_WITH([gnu-ld],
- [AS_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-_LT_PATH_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# LT_PATH_LD
-
-# Old names:
-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_LD], [])
-dnl AC_DEFUN([AC_PROG_LD], [])
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-m4_defun([_LT_PATH_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-m4_defun([_LT_CMD_RELOAD],
-[AC_CACHE_CHECK([for $LD option to reload object files],
- lt_cv_ld_reload_flag,
- [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_DECL([], [reload_cmds], [2])dnl
-])# _LT_CMD_RELOAD
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_MAGIC_METHOD],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[[45]]*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[[3-9]]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-_LT_DECL([], [deplibs_check_method], [1],
- [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
- [Command to use when deplibs_check_method == "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi])
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
- AC_SUBST([DUMPBIN])
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
- [lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
- cat conftest.out >&AS_MESSAGE_LOG_FD
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
- ;;
-esac
-AC_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
- [Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris*)
- symcode='[[BDRT]]'
- ;;
-sco3.2v5*)
- symcode='[[DT]]'
- ;;
-sysv4.2uw2*)
- symcode='[[DT]]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[[ABDT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK ['"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx]"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[[]] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- AC_MSG_RESULT(failed)
-else
- AC_MSG_RESULT(ok)
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
- [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
- [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_c_name_address],
- [lt_cv_sys_global_symbol_to_c_name_address], [1],
- [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
- [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
- [Transform the output of nm in a C name address pair when lib prefix is needed])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
-m4_if([$1], [CXX], [
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix[[4-9]]*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- ecpc* )
- # old Intel C++ for x86_64 which still supported -KPIC.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- icpc* )
- # Intel C++, used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xlc* | xlC*)
- # IBM XL 8.0 on PPC
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd*)
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- ccc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xl*)
- # IBM XL C 8.0/Fortran 10.1 on PPC
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- rdos*)
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- solaris*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- unicos*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
-
- uts4*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-])
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
- [How to pass a linker flag through the compiler])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
- [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
- [Additional compiler flags for building library objects])
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
- $lt_tmp_static_flag,
- [],
- [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
- [Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix[[4-9]]*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw* | cegcc*)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- *)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-], [
- runpath_var=
- _LT_TAGVAR(allow_undefined_flag, $1)=
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(archive_cmds, $1)=
- _LT_TAGVAR(archive_expsym_cmds, $1)=
- _LT_TAGVAR(compiler_needs_object, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(hardcode_automatic, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_TAGVAR(hardcode_minus_L, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_TAGVAR(inherit_rpath, $1)=no
- _LT_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_TAGVAR(module_cmds, $1)=
- _LT_TAGVAR(module_expsym_cmds, $1)=
- _LT_TAGVAR(old_archive_from_new_cmds, $1)=
- _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- _LT_TAGVAR(ld_shlibs, $1)=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[[3-9]]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- tmp_sharedflag='--shared' ;;
- xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
- runpath_var=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- bsdi[[45]]*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
-
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- dgux*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- freebsd1*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- AC_LINK_IFELSE(int foo(void) {},
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- )
- LDFLAGS="$save_LDFLAGS"
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- os2*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- solaris*)
- _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
- [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
- _LT_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
- then
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
- ;;
- esac
- fi
- ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
- [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
- [enable_shared_with_static_runtimes], [0],
- [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
- [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
- [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
- [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
- [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
- [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
- [Commands used to build a loadable module if different from building
- a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
- [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
- [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
- [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
- [Flag to hardcode $libdir into a binary during linking.
- This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
- [[If ld is used when linking, flag to hardcode $libdir into a binary
- during linking. This must work even if $libdir does not exist]])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
- [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
- DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
- DIR into the resulting binary and the resulting library dependency is
- "absolute", i.e impossible to change by setting ${shlibpath_var} if the
- library is relocated])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
- [Set to "yes" if building a shared library automatically hardcodes DIR
- into the library and all subsequent libraries and executables linked
- against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
- [Set to yes if linker adds runtime paths of dependent libraries
- to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
- [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [fix_srcfile_path], [1],
- [Fix the shell variable $srcfile for the compiler])
-_LT_TAGDECL([], [always_export_symbols], [0],
- [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
- [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
- [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
- [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
- [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [file_list_spec], [1],
- [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_TAG_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
- LT_SYS_DLOPEN_SELF
- _LT_CMD_STRIPLIB
-
- # Report which library types will actually be built
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_PROG_CXX
-# ------------
-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
-# compiler, we have our own version here.
-m4_defun([_LT_PROG_CXX],
-[
-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
-AC_PROG_CXX
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-else
- _lt_caught_CXX_error=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_CXX
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_CXX], [])
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[AC_REQUIRE([_LT_PROG_CXX])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="int some_variable = 0;"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC=$CC
- lt_save_LD=$LD
- lt_save_GCC=$GCC
- GCC=$GXX
- lt_save_with_gnu_ld=$with_gnu_ld
- lt_save_path_LD=$lt_cv_path_LD
- if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
- else
- $as_unset lt_cv_prog_gnu_ld
- fi
- if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
- else
- $as_unset lt_cv_path_LD
- fi
- test -z "${LDCXX+set}" || LD=$LDCXX
- CC=${CXX-"c++"}
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- # We don't want -fno-exception when compiling C++ code, so set the
- # no_builtin_flag separately
- if test "$GXX" = yes; then
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
- else
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
- fi
-
- if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- LT_PATH_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" |
- $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
- else
- GXX=no
- with_gnu_ld=no
- wlarc=
- fi
-
- # PORTME: fill in a description of your system's C++ link characteristics
- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
- _LT_TAGVAR(ld_shlibs, $1)=yes
- case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to
- # export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty
- # executable.
- _LT_SYS_MODULE_PATH_AIX
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared
- # libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before
- # switch to ELF
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- freebsd-elf*)
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
-
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- gnu*)
- ;;
-
- hpux9*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
- fi
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc* | ecpc* )
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- case `$CC -V` in
- *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
- _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
- _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
- $RANLIB $oldlib'
- _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
- ;;
- *) # Version 6 will use weak symbols
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
- ;;
- xl*)
- # IBM XL 8.0 on PPC, with GNU ld
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
-
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
-
- *nto* | *qnx*)
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd=echo
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- case $host in
- osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
- *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
- esac
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- case $host in
- osf3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- ;;
- *)
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
- $RM $lib.exp'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- case $host in
- osf3*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- psos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
- fi
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
- _LT_TAGVAR(GCC, $1)="$GXX"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- CC=$lt_save_CC
- LDCXX=$LD
- LD=$lt_save_LD
- GCC=$lt_save_GCC
- with_gnu_ld=$lt_save_with_gnu_ld
- lt_cv_path_LDCXX=$lt_cv_path_LD
- lt_cv_path_LD=$lt_save_path_LD
- lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
- lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer a
- a=0
- return
- end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-_LT_EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- for p in `eval "$output_verbose_link_cmd"`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_TAGVAR(postdeps, $1)"; then
- _LT_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
- _LT_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
- _LT_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-m4_if([$1], [CXX],
-[case $host_os in
-interix[[3-9]]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- _LT_TAGVAR(predep_objects,$1)=
- _LT_TAGVAR(postdep_objects,$1)=
- _LT_TAGVAR(postdeps,$1)=
- ;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
-
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
- [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
- [Dependencies to place before and after the objects being linked to
- create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
- [The library search path used internally by the compiler when linking
- a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_PROG_F77
-# ------------
-# Since AC_PROG_F77 is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_F77],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
-AC_PROG_F77
-if test -z "$F77" || test "X$F77" = "Xno"; then
- _lt_disable_F77=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_F77
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_F77], [])
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_REQUIRE([_LT_PROG_F77])dnl
-AC_LANG_PUSH(Fortran 77)
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
- lt_save_GCC=$GCC
- CC=${F77-"f77"}
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
- GCC=$G77
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)="$G77"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC="$lt_save_CC"
-fi # test "$_lt_disable_F77" != yes
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_PROG_FC
-# -----------
-# Since AC_PROG_FC is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_FC],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
-AC_PROG_FC
-if test -z "$FC" || test "X$FC" = "Xno"; then
- _lt_disable_FC=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_FC
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_FC], [])
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_REQUIRE([_LT_PROG_FC])dnl
-AC_LANG_PUSH(Fortran)
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
- lt_save_GCC=$GCC
- CC=${FC-"f95"}
- compiler=$CC
- GCC=$ac_cv_fc_compiler_gnu
-
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC="$lt_save_CC"
-fi # test "$_lt_disable_FC" != yes
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC="$lt_save_CC"
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
- :
- _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
- [AC_CHECK_TOOL(GCJ, gcj,)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
- [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PROG_XSI_SHELLFNS
-# ---------------------
-# Bourne and XSI compatible variants of some useful shell functions.
-m4_defun([_LT_PROG_XSI_SHELLFNS],
-[case $xsi_shell in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
-}
-
-# func_basename file
-func_basename ()
-{
- func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=${1%%=*}
- func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
- func_arith_result=$(( $[*] ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=${#1}
-}
-
-_LT_EOF
- ;;
- *) # Bourne compatible functions.
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
-}
-
-# func_basename file
-func_basename ()
-{
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-dnl func_dirname_and_basename
-dnl A portable version of this function is already defined in general.m4sh
-dnl so there is no need for it here.
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
- esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[[^=]]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
- func_arith_result=`expr "$[@]"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$[1]+=\$[2]"
-}
-_LT_EOF
- ;;
- *)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$[1]=\$$[1]\$[2]"
-}
-
-_LT_EOF
- ;;
- esac
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it. Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
- _LT_MANGLE_DEFUN([$1], [$2]),
- [m4_warning([Unknown $1 option `$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
- [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME. If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
- dnl
- dnl Simply set some default values (i.e off) if boolean options were not
- dnl specified:
- _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
- ])
- _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
- ])
- dnl
- dnl If no reference was made to various pairs of opposing options, then
- dnl we run the default mode handler for the pair. For example, if neither
- dnl `shared' nor `disable-shared' was passed, we enable building of shared
- dnl archives by default:
- _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
- _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
- [_LT_ENABLE_FAST_INSTALL])
- ])
-])# _LT_SET_OPTIONS
-
-
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS], [0], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
- _LT_DECL([build_libtool_libs], [enable_shared], [0],
- [Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
- _LT_DECL([build_old_libs], [enable_static], [0],
- [Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
- [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT options.
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
- [AS_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
- [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
- [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
- [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
- [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
- [m4_define([_LTDL_TYPE], [convenience])])
-
-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
- [$#], [2], [[$2]],
- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
- [$#], 1, [],
- [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
- m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
- [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
- [m4_foreach([_Lt_suffix],
- ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
- [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
- [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
- [lt_append([$1], [$2], [$3])$4],
- [$5])],
- [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
- [$5],
- [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
- [lt_join(m4_quote(m4_default([$4], [[, ]])),
- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
- [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
-
-# ltversion.m4 -- version numbers -*- Autoconf -*-
-#
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# Generated from ltversion.in.
-
-# serial 3017 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.2.6b])
-m4_define([LT_PACKAGE_REVISION], [1.3017])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.6b'
-macro_revision='1.3017'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
-
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
-# Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 4 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else. This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
diff --git a/tools/sci/org.eclipse.ptp.sci/build.properties b/tools/sci/org.eclipse.ptp.sci/build.properties
deleted file mode 100644
index ef8244d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-bin.includes = about.html,\
- META-INF/,\
- common/,\
- libsci/,\
- man/,\
- scia/,\
- plugin.properties,\
- scid/,\
- usecase/,\
- include/
-
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/.cvsignore b/tools/sci/org.eclipse.ptp.sci/common/.cvsignore
deleted file mode 100644
index e55e634..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*.64o
-.deps
-Makefile
-*.a
diff --git a/tools/sci/org.eclipse.ptp.sci/common/Makefile.am b/tools/sci/org.eclipse.ptp.sci/common/Makefile.am
deleted file mode 100644
index c0d883f..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
-if SYSTEM_AIX
-noinst_LIBRARIES = libcmn.a libcmn64.a
-else
-noinst_LIBRARIES = libcmn.a
-endif
-SOURCES = \
- envvar.cpp group.cpp log.cpp range.cpp sshfunc.cpp thread.cpp \
- exception.cpp ipconverter.cpp packer.cpp socket.cpp stream.cpp tools.cpp
-
-ARFLAGS = -rv
-libcmn_a_SOURCES = $(SOURCES)
-libcmn_a_CPPFLAGS = -I../secmod -fPIC
-
-noinst_HEADERS = \
- envvar.hpp group.hpp log.hpp range.hpp sshfunc.hpp thread.hpp \
- exception.hpp ipconverter.hpp packer.hpp socket.hpp stream.hpp tools.hpp
-
-if SYSTEM_AIX
-ARFLAGS += -X32_64
-libcmn64_a_SOURCES = $(SOURCES)
-libcmn64_a_CPPFLAGS = -q64 -I../secmod -fPIC -D__64BIT__
-else
-if BIT64
-libcmn_a_CPPFLAGS += -D__64BIT__
-endif
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/common/Makefile.in b/tools/sci/org.eclipse.ptp.sci/common/Makefile.in
deleted file mode 100644
index 0f0b714..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/Makefile.in
+++ /dev/null
@@ -1,864 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@SYSTEM_AIX_TRUE@am__append_1 = -X32_64
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@am__append_2 = -D__64BIT__
-subdir = common
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-libcmn_a_AR = $(AR) $(ARFLAGS)
-libcmn_a_LIBADD =
-am__objects_1 = libcmn_a-envvar.$(OBJEXT) libcmn_a-group.$(OBJEXT) \
- libcmn_a-log.$(OBJEXT) libcmn_a-range.$(OBJEXT) \
- libcmn_a-sshfunc.$(OBJEXT) libcmn_a-thread.$(OBJEXT) \
- libcmn_a-exception.$(OBJEXT) libcmn_a-ipconverter.$(OBJEXT) \
- libcmn_a-packer.$(OBJEXT) libcmn_a-socket.$(OBJEXT) \
- libcmn_a-stream.$(OBJEXT) libcmn_a-tools.$(OBJEXT)
-am_libcmn_a_OBJECTS = $(am__objects_1)
-libcmn_a_OBJECTS = $(am_libcmn_a_OBJECTS)
-libcmn64_a_AR = $(AR) $(ARFLAGS)
-libcmn64_a_LIBADD =
-am__libcmn64_a_SOURCES_DIST = envvar.cpp group.cpp log.cpp range.cpp \
- sshfunc.cpp thread.cpp exception.cpp ipconverter.cpp \
- packer.cpp socket.cpp stream.cpp tools.cpp
-am__objects_2 = libcmn64_a-envvar.$(OBJEXT) libcmn64_a-group.$(OBJEXT) \
- libcmn64_a-log.$(OBJEXT) libcmn64_a-range.$(OBJEXT) \
- libcmn64_a-sshfunc.$(OBJEXT) libcmn64_a-thread.$(OBJEXT) \
- libcmn64_a-exception.$(OBJEXT) \
- libcmn64_a-ipconverter.$(OBJEXT) libcmn64_a-packer.$(OBJEXT) \
- libcmn64_a-socket.$(OBJEXT) libcmn64_a-stream.$(OBJEXT) \
- libcmn64_a-tools.$(OBJEXT)
-@SYSTEM_AIX_TRUE@am_libcmn64_a_OBJECTS = $(am__objects_2)
-libcmn64_a_OBJECTS = $(am_libcmn64_a_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-DIST_SOURCES = $(libcmn_a_SOURCES) $(am__libcmn64_a_SOURCES_DIST)
-HEADERS = $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-@SYSTEM_AIX_FALSE@noinst_LIBRARIES = libcmn.a
-@SYSTEM_AIX_TRUE@noinst_LIBRARIES = libcmn.a libcmn64.a
-SOURCES = \
- envvar.cpp group.cpp log.cpp range.cpp sshfunc.cpp thread.cpp \
- exception.cpp ipconverter.cpp packer.cpp socket.cpp stream.cpp tools.cpp
-
-ARFLAGS = -rv $(am__append_1)
-libcmn_a_SOURCES = $(SOURCES)
-libcmn_a_CPPFLAGS = -I../secmod -fPIC $(am__append_2)
-noinst_HEADERS = \
- envvar.hpp group.hpp log.hpp range.hpp sshfunc.hpp thread.hpp \
- exception.hpp ipconverter.hpp packer.hpp socket.hpp stream.hpp tools.hpp
-
-@SYSTEM_AIX_TRUE@libcmn64_a_SOURCES = $(SOURCES)
-@SYSTEM_AIX_TRUE@libcmn64_a_CPPFLAGS = -q64 -I../secmod -fPIC -D__64BIT__
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu common/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu common/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libcmn.a: $(libcmn_a_OBJECTS) $(libcmn_a_DEPENDENCIES)
- -rm -f libcmn.a
- $(libcmn_a_AR) libcmn.a $(libcmn_a_OBJECTS) $(libcmn_a_LIBADD)
- $(RANLIB) libcmn.a
-libcmn64.a: $(libcmn64_a_OBJECTS) $(libcmn64_a_DEPENDENCIES)
- -rm -f libcmn64.a
- $(libcmn64_a_AR) libcmn64.a $(libcmn64_a_OBJECTS) $(libcmn64_a_LIBADD)
- $(RANLIB) libcmn64.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-envvar.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-exception.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-group.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-ipconverter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-log.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-packer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-range.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-socket.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-sshfunc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-stream.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-thread.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn64_a-tools.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-envvar.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-exception.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-group.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-ipconverter.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-log.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-packer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-range.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-socket.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-sshfunc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-stream.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-thread.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcmn_a-tools.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-libcmn_a-envvar.o: envvar.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-envvar.o -MD -MP -MF $(DEPDIR)/libcmn_a-envvar.Tpo -c -o libcmn_a-envvar.o `test -f 'envvar.cpp' || echo '$(srcdir)/'`envvar.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-envvar.Tpo $(DEPDIR)/libcmn_a-envvar.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='envvar.cpp' object='libcmn_a-envvar.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-envvar.o `test -f 'envvar.cpp' || echo '$(srcdir)/'`envvar.cpp
-
-libcmn_a-envvar.obj: envvar.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-envvar.obj -MD -MP -MF $(DEPDIR)/libcmn_a-envvar.Tpo -c -o libcmn_a-envvar.obj `if test -f 'envvar.cpp'; then $(CYGPATH_W) 'envvar.cpp'; else $(CYGPATH_W) '$(srcdir)/envvar.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-envvar.Tpo $(DEPDIR)/libcmn_a-envvar.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='envvar.cpp' object='libcmn_a-envvar.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-envvar.obj `if test -f 'envvar.cpp'; then $(CYGPATH_W) 'envvar.cpp'; else $(CYGPATH_W) '$(srcdir)/envvar.cpp'; fi`
-
-libcmn_a-group.o: group.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-group.o -MD -MP -MF $(DEPDIR)/libcmn_a-group.Tpo -c -o libcmn_a-group.o `test -f 'group.cpp' || echo '$(srcdir)/'`group.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-group.Tpo $(DEPDIR)/libcmn_a-group.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='group.cpp' object='libcmn_a-group.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-group.o `test -f 'group.cpp' || echo '$(srcdir)/'`group.cpp
-
-libcmn_a-group.obj: group.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-group.obj -MD -MP -MF $(DEPDIR)/libcmn_a-group.Tpo -c -o libcmn_a-group.obj `if test -f 'group.cpp'; then $(CYGPATH_W) 'group.cpp'; else $(CYGPATH_W) '$(srcdir)/group.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-group.Tpo $(DEPDIR)/libcmn_a-group.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='group.cpp' object='libcmn_a-group.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-group.obj `if test -f 'group.cpp'; then $(CYGPATH_W) 'group.cpp'; else $(CYGPATH_W) '$(srcdir)/group.cpp'; fi`
-
-libcmn_a-log.o: log.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-log.o -MD -MP -MF $(DEPDIR)/libcmn_a-log.Tpo -c -o libcmn_a-log.o `test -f 'log.cpp' || echo '$(srcdir)/'`log.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-log.Tpo $(DEPDIR)/libcmn_a-log.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='log.cpp' object='libcmn_a-log.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-log.o `test -f 'log.cpp' || echo '$(srcdir)/'`log.cpp
-
-libcmn_a-log.obj: log.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-log.obj -MD -MP -MF $(DEPDIR)/libcmn_a-log.Tpo -c -o libcmn_a-log.obj `if test -f 'log.cpp'; then $(CYGPATH_W) 'log.cpp'; else $(CYGPATH_W) '$(srcdir)/log.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-log.Tpo $(DEPDIR)/libcmn_a-log.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='log.cpp' object='libcmn_a-log.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-log.obj `if test -f 'log.cpp'; then $(CYGPATH_W) 'log.cpp'; else $(CYGPATH_W) '$(srcdir)/log.cpp'; fi`
-
-libcmn_a-range.o: range.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-range.o -MD -MP -MF $(DEPDIR)/libcmn_a-range.Tpo -c -o libcmn_a-range.o `test -f 'range.cpp' || echo '$(srcdir)/'`range.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-range.Tpo $(DEPDIR)/libcmn_a-range.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='range.cpp' object='libcmn_a-range.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-range.o `test -f 'range.cpp' || echo '$(srcdir)/'`range.cpp
-
-libcmn_a-range.obj: range.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-range.obj -MD -MP -MF $(DEPDIR)/libcmn_a-range.Tpo -c -o libcmn_a-range.obj `if test -f 'range.cpp'; then $(CYGPATH_W) 'range.cpp'; else $(CYGPATH_W) '$(srcdir)/range.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-range.Tpo $(DEPDIR)/libcmn_a-range.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='range.cpp' object='libcmn_a-range.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-range.obj `if test -f 'range.cpp'; then $(CYGPATH_W) 'range.cpp'; else $(CYGPATH_W) '$(srcdir)/range.cpp'; fi`
-
-libcmn_a-sshfunc.o: sshfunc.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-sshfunc.o -MD -MP -MF $(DEPDIR)/libcmn_a-sshfunc.Tpo -c -o libcmn_a-sshfunc.o `test -f 'sshfunc.cpp' || echo '$(srcdir)/'`sshfunc.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-sshfunc.Tpo $(DEPDIR)/libcmn_a-sshfunc.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='sshfunc.cpp' object='libcmn_a-sshfunc.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-sshfunc.o `test -f 'sshfunc.cpp' || echo '$(srcdir)/'`sshfunc.cpp
-
-libcmn_a-sshfunc.obj: sshfunc.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-sshfunc.obj -MD -MP -MF $(DEPDIR)/libcmn_a-sshfunc.Tpo -c -o libcmn_a-sshfunc.obj `if test -f 'sshfunc.cpp'; then $(CYGPATH_W) 'sshfunc.cpp'; else $(CYGPATH_W) '$(srcdir)/sshfunc.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-sshfunc.Tpo $(DEPDIR)/libcmn_a-sshfunc.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='sshfunc.cpp' object='libcmn_a-sshfunc.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-sshfunc.obj `if test -f 'sshfunc.cpp'; then $(CYGPATH_W) 'sshfunc.cpp'; else $(CYGPATH_W) '$(srcdir)/sshfunc.cpp'; fi`
-
-libcmn_a-thread.o: thread.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-thread.o -MD -MP -MF $(DEPDIR)/libcmn_a-thread.Tpo -c -o libcmn_a-thread.o `test -f 'thread.cpp' || echo '$(srcdir)/'`thread.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-thread.Tpo $(DEPDIR)/libcmn_a-thread.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='thread.cpp' object='libcmn_a-thread.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-thread.o `test -f 'thread.cpp' || echo '$(srcdir)/'`thread.cpp
-
-libcmn_a-thread.obj: thread.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-thread.obj -MD -MP -MF $(DEPDIR)/libcmn_a-thread.Tpo -c -o libcmn_a-thread.obj `if test -f 'thread.cpp'; then $(CYGPATH_W) 'thread.cpp'; else $(CYGPATH_W) '$(srcdir)/thread.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-thread.Tpo $(DEPDIR)/libcmn_a-thread.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='thread.cpp' object='libcmn_a-thread.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-thread.obj `if test -f 'thread.cpp'; then $(CYGPATH_W) 'thread.cpp'; else $(CYGPATH_W) '$(srcdir)/thread.cpp'; fi`
-
-libcmn_a-exception.o: exception.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-exception.o -MD -MP -MF $(DEPDIR)/libcmn_a-exception.Tpo -c -o libcmn_a-exception.o `test -f 'exception.cpp' || echo '$(srcdir)/'`exception.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-exception.Tpo $(DEPDIR)/libcmn_a-exception.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='exception.cpp' object='libcmn_a-exception.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-exception.o `test -f 'exception.cpp' || echo '$(srcdir)/'`exception.cpp
-
-libcmn_a-exception.obj: exception.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-exception.obj -MD -MP -MF $(DEPDIR)/libcmn_a-exception.Tpo -c -o libcmn_a-exception.obj `if test -f 'exception.cpp'; then $(CYGPATH_W) 'exception.cpp'; else $(CYGPATH_W) '$(srcdir)/exception.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-exception.Tpo $(DEPDIR)/libcmn_a-exception.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='exception.cpp' object='libcmn_a-exception.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-exception.obj `if test -f 'exception.cpp'; then $(CYGPATH_W) 'exception.cpp'; else $(CYGPATH_W) '$(srcdir)/exception.cpp'; fi`
-
-libcmn_a-ipconverter.o: ipconverter.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-ipconverter.o -MD -MP -MF $(DEPDIR)/libcmn_a-ipconverter.Tpo -c -o libcmn_a-ipconverter.o `test -f 'ipconverter.cpp' || echo '$(srcdir)/'`ipconverter.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-ipconverter.Tpo $(DEPDIR)/libcmn_a-ipconverter.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ipconverter.cpp' object='libcmn_a-ipconverter.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-ipconverter.o `test -f 'ipconverter.cpp' || echo '$(srcdir)/'`ipconverter.cpp
-
-libcmn_a-ipconverter.obj: ipconverter.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-ipconverter.obj -MD -MP -MF $(DEPDIR)/libcmn_a-ipconverter.Tpo -c -o libcmn_a-ipconverter.obj `if test -f 'ipconverter.cpp'; then $(CYGPATH_W) 'ipconverter.cpp'; else $(CYGPATH_W) '$(srcdir)/ipconverter.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-ipconverter.Tpo $(DEPDIR)/libcmn_a-ipconverter.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ipconverter.cpp' object='libcmn_a-ipconverter.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-ipconverter.obj `if test -f 'ipconverter.cpp'; then $(CYGPATH_W) 'ipconverter.cpp'; else $(CYGPATH_W) '$(srcdir)/ipconverter.cpp'; fi`
-
-libcmn_a-packer.o: packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-packer.o -MD -MP -MF $(DEPDIR)/libcmn_a-packer.Tpo -c -o libcmn_a-packer.o `test -f 'packer.cpp' || echo '$(srcdir)/'`packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-packer.Tpo $(DEPDIR)/libcmn_a-packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='packer.cpp' object='libcmn_a-packer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-packer.o `test -f 'packer.cpp' || echo '$(srcdir)/'`packer.cpp
-
-libcmn_a-packer.obj: packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-packer.obj -MD -MP -MF $(DEPDIR)/libcmn_a-packer.Tpo -c -o libcmn_a-packer.obj `if test -f 'packer.cpp'; then $(CYGPATH_W) 'packer.cpp'; else $(CYGPATH_W) '$(srcdir)/packer.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-packer.Tpo $(DEPDIR)/libcmn_a-packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='packer.cpp' object='libcmn_a-packer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-packer.obj `if test -f 'packer.cpp'; then $(CYGPATH_W) 'packer.cpp'; else $(CYGPATH_W) '$(srcdir)/packer.cpp'; fi`
-
-libcmn_a-socket.o: socket.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-socket.o -MD -MP -MF $(DEPDIR)/libcmn_a-socket.Tpo -c -o libcmn_a-socket.o `test -f 'socket.cpp' || echo '$(srcdir)/'`socket.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-socket.Tpo $(DEPDIR)/libcmn_a-socket.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='socket.cpp' object='libcmn_a-socket.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-socket.o `test -f 'socket.cpp' || echo '$(srcdir)/'`socket.cpp
-
-libcmn_a-socket.obj: socket.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-socket.obj -MD -MP -MF $(DEPDIR)/libcmn_a-socket.Tpo -c -o libcmn_a-socket.obj `if test -f 'socket.cpp'; then $(CYGPATH_W) 'socket.cpp'; else $(CYGPATH_W) '$(srcdir)/socket.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-socket.Tpo $(DEPDIR)/libcmn_a-socket.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='socket.cpp' object='libcmn_a-socket.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-socket.obj `if test -f 'socket.cpp'; then $(CYGPATH_W) 'socket.cpp'; else $(CYGPATH_W) '$(srcdir)/socket.cpp'; fi`
-
-libcmn_a-stream.o: stream.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-stream.o -MD -MP -MF $(DEPDIR)/libcmn_a-stream.Tpo -c -o libcmn_a-stream.o `test -f 'stream.cpp' || echo '$(srcdir)/'`stream.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-stream.Tpo $(DEPDIR)/libcmn_a-stream.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='stream.cpp' object='libcmn_a-stream.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-stream.o `test -f 'stream.cpp' || echo '$(srcdir)/'`stream.cpp
-
-libcmn_a-stream.obj: stream.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-stream.obj -MD -MP -MF $(DEPDIR)/libcmn_a-stream.Tpo -c -o libcmn_a-stream.obj `if test -f 'stream.cpp'; then $(CYGPATH_W) 'stream.cpp'; else $(CYGPATH_W) '$(srcdir)/stream.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-stream.Tpo $(DEPDIR)/libcmn_a-stream.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='stream.cpp' object='libcmn_a-stream.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-stream.obj `if test -f 'stream.cpp'; then $(CYGPATH_W) 'stream.cpp'; else $(CYGPATH_W) '$(srcdir)/stream.cpp'; fi`
-
-libcmn_a-tools.o: tools.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-tools.o -MD -MP -MF $(DEPDIR)/libcmn_a-tools.Tpo -c -o libcmn_a-tools.o `test -f 'tools.cpp' || echo '$(srcdir)/'`tools.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-tools.Tpo $(DEPDIR)/libcmn_a-tools.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tools.cpp' object='libcmn_a-tools.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-tools.o `test -f 'tools.cpp' || echo '$(srcdir)/'`tools.cpp
-
-libcmn_a-tools.obj: tools.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn_a-tools.obj -MD -MP -MF $(DEPDIR)/libcmn_a-tools.Tpo -c -o libcmn_a-tools.obj `if test -f 'tools.cpp'; then $(CYGPATH_W) 'tools.cpp'; else $(CYGPATH_W) '$(srcdir)/tools.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn_a-tools.Tpo $(DEPDIR)/libcmn_a-tools.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tools.cpp' object='libcmn_a-tools.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn_a-tools.obj `if test -f 'tools.cpp'; then $(CYGPATH_W) 'tools.cpp'; else $(CYGPATH_W) '$(srcdir)/tools.cpp'; fi`
-
-libcmn64_a-envvar.o: envvar.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-envvar.o -MD -MP -MF $(DEPDIR)/libcmn64_a-envvar.Tpo -c -o libcmn64_a-envvar.o `test -f 'envvar.cpp' || echo '$(srcdir)/'`envvar.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-envvar.Tpo $(DEPDIR)/libcmn64_a-envvar.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='envvar.cpp' object='libcmn64_a-envvar.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-envvar.o `test -f 'envvar.cpp' || echo '$(srcdir)/'`envvar.cpp
-
-libcmn64_a-envvar.obj: envvar.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-envvar.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-envvar.Tpo -c -o libcmn64_a-envvar.obj `if test -f 'envvar.cpp'; then $(CYGPATH_W) 'envvar.cpp'; else $(CYGPATH_W) '$(srcdir)/envvar.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-envvar.Tpo $(DEPDIR)/libcmn64_a-envvar.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='envvar.cpp' object='libcmn64_a-envvar.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-envvar.obj `if test -f 'envvar.cpp'; then $(CYGPATH_W) 'envvar.cpp'; else $(CYGPATH_W) '$(srcdir)/envvar.cpp'; fi`
-
-libcmn64_a-group.o: group.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-group.o -MD -MP -MF $(DEPDIR)/libcmn64_a-group.Tpo -c -o libcmn64_a-group.o `test -f 'group.cpp' || echo '$(srcdir)/'`group.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-group.Tpo $(DEPDIR)/libcmn64_a-group.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='group.cpp' object='libcmn64_a-group.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-group.o `test -f 'group.cpp' || echo '$(srcdir)/'`group.cpp
-
-libcmn64_a-group.obj: group.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-group.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-group.Tpo -c -o libcmn64_a-group.obj `if test -f 'group.cpp'; then $(CYGPATH_W) 'group.cpp'; else $(CYGPATH_W) '$(srcdir)/group.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-group.Tpo $(DEPDIR)/libcmn64_a-group.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='group.cpp' object='libcmn64_a-group.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-group.obj `if test -f 'group.cpp'; then $(CYGPATH_W) 'group.cpp'; else $(CYGPATH_W) '$(srcdir)/group.cpp'; fi`
-
-libcmn64_a-log.o: log.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-log.o -MD -MP -MF $(DEPDIR)/libcmn64_a-log.Tpo -c -o libcmn64_a-log.o `test -f 'log.cpp' || echo '$(srcdir)/'`log.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-log.Tpo $(DEPDIR)/libcmn64_a-log.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='log.cpp' object='libcmn64_a-log.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-log.o `test -f 'log.cpp' || echo '$(srcdir)/'`log.cpp
-
-libcmn64_a-log.obj: log.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-log.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-log.Tpo -c -o libcmn64_a-log.obj `if test -f 'log.cpp'; then $(CYGPATH_W) 'log.cpp'; else $(CYGPATH_W) '$(srcdir)/log.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-log.Tpo $(DEPDIR)/libcmn64_a-log.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='log.cpp' object='libcmn64_a-log.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-log.obj `if test -f 'log.cpp'; then $(CYGPATH_W) 'log.cpp'; else $(CYGPATH_W) '$(srcdir)/log.cpp'; fi`
-
-libcmn64_a-range.o: range.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-range.o -MD -MP -MF $(DEPDIR)/libcmn64_a-range.Tpo -c -o libcmn64_a-range.o `test -f 'range.cpp' || echo '$(srcdir)/'`range.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-range.Tpo $(DEPDIR)/libcmn64_a-range.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='range.cpp' object='libcmn64_a-range.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-range.o `test -f 'range.cpp' || echo '$(srcdir)/'`range.cpp
-
-libcmn64_a-range.obj: range.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-range.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-range.Tpo -c -o libcmn64_a-range.obj `if test -f 'range.cpp'; then $(CYGPATH_W) 'range.cpp'; else $(CYGPATH_W) '$(srcdir)/range.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-range.Tpo $(DEPDIR)/libcmn64_a-range.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='range.cpp' object='libcmn64_a-range.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-range.obj `if test -f 'range.cpp'; then $(CYGPATH_W) 'range.cpp'; else $(CYGPATH_W) '$(srcdir)/range.cpp'; fi`
-
-libcmn64_a-sshfunc.o: sshfunc.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-sshfunc.o -MD -MP -MF $(DEPDIR)/libcmn64_a-sshfunc.Tpo -c -o libcmn64_a-sshfunc.o `test -f 'sshfunc.cpp' || echo '$(srcdir)/'`sshfunc.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-sshfunc.Tpo $(DEPDIR)/libcmn64_a-sshfunc.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='sshfunc.cpp' object='libcmn64_a-sshfunc.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-sshfunc.o `test -f 'sshfunc.cpp' || echo '$(srcdir)/'`sshfunc.cpp
-
-libcmn64_a-sshfunc.obj: sshfunc.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-sshfunc.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-sshfunc.Tpo -c -o libcmn64_a-sshfunc.obj `if test -f 'sshfunc.cpp'; then $(CYGPATH_W) 'sshfunc.cpp'; else $(CYGPATH_W) '$(srcdir)/sshfunc.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-sshfunc.Tpo $(DEPDIR)/libcmn64_a-sshfunc.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='sshfunc.cpp' object='libcmn64_a-sshfunc.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-sshfunc.obj `if test -f 'sshfunc.cpp'; then $(CYGPATH_W) 'sshfunc.cpp'; else $(CYGPATH_W) '$(srcdir)/sshfunc.cpp'; fi`
-
-libcmn64_a-thread.o: thread.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-thread.o -MD -MP -MF $(DEPDIR)/libcmn64_a-thread.Tpo -c -o libcmn64_a-thread.o `test -f 'thread.cpp' || echo '$(srcdir)/'`thread.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-thread.Tpo $(DEPDIR)/libcmn64_a-thread.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='thread.cpp' object='libcmn64_a-thread.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-thread.o `test -f 'thread.cpp' || echo '$(srcdir)/'`thread.cpp
-
-libcmn64_a-thread.obj: thread.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-thread.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-thread.Tpo -c -o libcmn64_a-thread.obj `if test -f 'thread.cpp'; then $(CYGPATH_W) 'thread.cpp'; else $(CYGPATH_W) '$(srcdir)/thread.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-thread.Tpo $(DEPDIR)/libcmn64_a-thread.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='thread.cpp' object='libcmn64_a-thread.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-thread.obj `if test -f 'thread.cpp'; then $(CYGPATH_W) 'thread.cpp'; else $(CYGPATH_W) '$(srcdir)/thread.cpp'; fi`
-
-libcmn64_a-exception.o: exception.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-exception.o -MD -MP -MF $(DEPDIR)/libcmn64_a-exception.Tpo -c -o libcmn64_a-exception.o `test -f 'exception.cpp' || echo '$(srcdir)/'`exception.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-exception.Tpo $(DEPDIR)/libcmn64_a-exception.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='exception.cpp' object='libcmn64_a-exception.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-exception.o `test -f 'exception.cpp' || echo '$(srcdir)/'`exception.cpp
-
-libcmn64_a-exception.obj: exception.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-exception.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-exception.Tpo -c -o libcmn64_a-exception.obj `if test -f 'exception.cpp'; then $(CYGPATH_W) 'exception.cpp'; else $(CYGPATH_W) '$(srcdir)/exception.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-exception.Tpo $(DEPDIR)/libcmn64_a-exception.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='exception.cpp' object='libcmn64_a-exception.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-exception.obj `if test -f 'exception.cpp'; then $(CYGPATH_W) 'exception.cpp'; else $(CYGPATH_W) '$(srcdir)/exception.cpp'; fi`
-
-libcmn64_a-ipconverter.o: ipconverter.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-ipconverter.o -MD -MP -MF $(DEPDIR)/libcmn64_a-ipconverter.Tpo -c -o libcmn64_a-ipconverter.o `test -f 'ipconverter.cpp' || echo '$(srcdir)/'`ipconverter.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-ipconverter.Tpo $(DEPDIR)/libcmn64_a-ipconverter.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ipconverter.cpp' object='libcmn64_a-ipconverter.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-ipconverter.o `test -f 'ipconverter.cpp' || echo '$(srcdir)/'`ipconverter.cpp
-
-libcmn64_a-ipconverter.obj: ipconverter.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-ipconverter.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-ipconverter.Tpo -c -o libcmn64_a-ipconverter.obj `if test -f 'ipconverter.cpp'; then $(CYGPATH_W) 'ipconverter.cpp'; else $(CYGPATH_W) '$(srcdir)/ipconverter.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-ipconverter.Tpo $(DEPDIR)/libcmn64_a-ipconverter.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ipconverter.cpp' object='libcmn64_a-ipconverter.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-ipconverter.obj `if test -f 'ipconverter.cpp'; then $(CYGPATH_W) 'ipconverter.cpp'; else $(CYGPATH_W) '$(srcdir)/ipconverter.cpp'; fi`
-
-libcmn64_a-packer.o: packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-packer.o -MD -MP -MF $(DEPDIR)/libcmn64_a-packer.Tpo -c -o libcmn64_a-packer.o `test -f 'packer.cpp' || echo '$(srcdir)/'`packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-packer.Tpo $(DEPDIR)/libcmn64_a-packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='packer.cpp' object='libcmn64_a-packer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-packer.o `test -f 'packer.cpp' || echo '$(srcdir)/'`packer.cpp
-
-libcmn64_a-packer.obj: packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-packer.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-packer.Tpo -c -o libcmn64_a-packer.obj `if test -f 'packer.cpp'; then $(CYGPATH_W) 'packer.cpp'; else $(CYGPATH_W) '$(srcdir)/packer.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-packer.Tpo $(DEPDIR)/libcmn64_a-packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='packer.cpp' object='libcmn64_a-packer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-packer.obj `if test -f 'packer.cpp'; then $(CYGPATH_W) 'packer.cpp'; else $(CYGPATH_W) '$(srcdir)/packer.cpp'; fi`
-
-libcmn64_a-socket.o: socket.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-socket.o -MD -MP -MF $(DEPDIR)/libcmn64_a-socket.Tpo -c -o libcmn64_a-socket.o `test -f 'socket.cpp' || echo '$(srcdir)/'`socket.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-socket.Tpo $(DEPDIR)/libcmn64_a-socket.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='socket.cpp' object='libcmn64_a-socket.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-socket.o `test -f 'socket.cpp' || echo '$(srcdir)/'`socket.cpp
-
-libcmn64_a-socket.obj: socket.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-socket.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-socket.Tpo -c -o libcmn64_a-socket.obj `if test -f 'socket.cpp'; then $(CYGPATH_W) 'socket.cpp'; else $(CYGPATH_W) '$(srcdir)/socket.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-socket.Tpo $(DEPDIR)/libcmn64_a-socket.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='socket.cpp' object='libcmn64_a-socket.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-socket.obj `if test -f 'socket.cpp'; then $(CYGPATH_W) 'socket.cpp'; else $(CYGPATH_W) '$(srcdir)/socket.cpp'; fi`
-
-libcmn64_a-stream.o: stream.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-stream.o -MD -MP -MF $(DEPDIR)/libcmn64_a-stream.Tpo -c -o libcmn64_a-stream.o `test -f 'stream.cpp' || echo '$(srcdir)/'`stream.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-stream.Tpo $(DEPDIR)/libcmn64_a-stream.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='stream.cpp' object='libcmn64_a-stream.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-stream.o `test -f 'stream.cpp' || echo '$(srcdir)/'`stream.cpp
-
-libcmn64_a-stream.obj: stream.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-stream.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-stream.Tpo -c -o libcmn64_a-stream.obj `if test -f 'stream.cpp'; then $(CYGPATH_W) 'stream.cpp'; else $(CYGPATH_W) '$(srcdir)/stream.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-stream.Tpo $(DEPDIR)/libcmn64_a-stream.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='stream.cpp' object='libcmn64_a-stream.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-stream.obj `if test -f 'stream.cpp'; then $(CYGPATH_W) 'stream.cpp'; else $(CYGPATH_W) '$(srcdir)/stream.cpp'; fi`
-
-libcmn64_a-tools.o: tools.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-tools.o -MD -MP -MF $(DEPDIR)/libcmn64_a-tools.Tpo -c -o libcmn64_a-tools.o `test -f 'tools.cpp' || echo '$(srcdir)/'`tools.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-tools.Tpo $(DEPDIR)/libcmn64_a-tools.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tools.cpp' object='libcmn64_a-tools.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-tools.o `test -f 'tools.cpp' || echo '$(srcdir)/'`tools.cpp
-
-libcmn64_a-tools.obj: tools.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libcmn64_a-tools.obj -MD -MP -MF $(DEPDIR)/libcmn64_a-tools.Tpo -c -o libcmn64_a-tools.obj `if test -f 'tools.cpp'; then $(CYGPATH_W) 'tools.cpp'; else $(CYGPATH_W) '$(srcdir)/tools.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libcmn64_a-tools.Tpo $(DEPDIR)/libcmn64_a-tools.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tools.cpp' object='libcmn64_a-tools.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcmn64_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libcmn64_a-tools.obj `if test -f 'tools.cpp'; then $(CYGPATH_W) 'tools.cpp'; else $(CYGPATH_W) '$(srcdir)/tools.cpp'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES) $(HEADERS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/common/envvar.cpp b/tools/sci/org.eclipse.ptp.sci/common/envvar.cpp
deleted file mode 100644
index 1f1c778..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/envvar.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Envvar
-
- Description: Environment variable manipulation.
-
- Author: Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code
-
-****************************************************************************/
-
-#include <assert.h>
-#include <stdio.h>
-
-#include "envvar.hpp"
-#include "tools.hpp"
-
-EnvVar::EnvVar()
-{
-}
-
-EnvVar::~EnvVar()
-{
- envlist.clear();
-}
-
-void EnvVar::set(string &env, const char *value)
-{
- if (value) {
- envlist[env] = env + "=" + value;
- }
-}
-
-void EnvVar::set(string &env, string &value)
-{
- envlist[env] = env + "=" + value;
-}
-
-void EnvVar::set(string &env, int value)
-{
- envlist[env] = env + "=" + SysUtil::itoa(value);
-}
-
-void EnvVar::set(string &env, long long value)
-{
- envlist[env] = env + "=" + SysUtil::lltoa(value);
-}
-
-void EnvVar::set(const char *env, const char *value)
-{
- assert(env);
- if (value) {
- envlist[env] = string(env) + "=" + value;
- }
-}
-
-void EnvVar::set(const char *env, string &value)
-{
- assert(env);
- envlist[env] = string(env) + "=" + value;
-}
-
-void EnvVar::set(const char *env, int value)
-{
- assert(env);
- envlist[env] = string(env) + "=" + SysUtil::itoa(value);
-}
-
-void EnvVar::set(const char *env, long long value)
-{
- assert(env);
- envlist[env] = string(env) + "=" + SysUtil::lltoa(value);
-}
-
-string & EnvVar::get(string &env)
-{
- retval = "";
-
- if (envlist.find(env) != envlist.end())
- retval = envlist[env];
-
- return retval;
-}
-
-string & EnvVar::get(const char *env)
-{
- retval = "";
-
- if (envlist.find(env) != envlist.end())
- retval = envlist[env];
-
- return retval;
-}
-
-string & EnvVar::getExportcmd()
-{
- retval = "";
-
- map<string, string>::const_iterator p = envlist.begin();
- for(; p != envlist.end(); ++p)
- retval += "export " + p->second + ";";
-
- return retval;
-}
-
-string & EnvVar::getEnvString()
-{
- retval = "";
-
- map<string, string>::const_iterator p = envlist.begin();
- for(; p != envlist.end(); ++p) {
- retval += ";" + p->second;
- }
-
- return retval;
-}
-
-void EnvVar::unsetAll()
-{
- envlist.clear();
-}
-
-void EnvVar::dump()
-{
- map<string, string>::const_iterator p = envlist.begin();
- for(; p != envlist.end(); ++p) {
- printf("%s\n", p->second.c_str());
- }
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/envvar.hpp b/tools/sci/org.eclipse.ptp.sci/common/envvar.hpp
deleted file mode 100644
index efa4a02..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/envvar.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Envvar
-
- Description: Environment variable manipulation.
-
- Author: Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _ENVVAR_HPP
-#define _ENVVAR_HPP
-
-#include <map>
-#include <string>
-
-using namespace std;
-
-class EnvVar
-{
- private:
- map<string, string> envlist;
- string retval;
-
- public:
- EnvVar();
- ~EnvVar();
-
- void set(string &env, const char *val);
- void set(string &env, string &val);
- void set(string &env, int val);
- void set(string &env, long long val);
- void set(const char *env, const char *val);
- void set(const char *env, string &val);
- void set(const char *env, int val);
- void set(const char *env, long long val);
- string & get(string &env);
- string & get(const char *env);
-
- string & getExportcmd();
- string & getEnvString();
-
- void unsetAll();
- void dump();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/exception.cpp b/tools/sci/org.eclipse.ptp.sci/common/exception.cpp
deleted file mode 100644
index 0c37e77..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/exception.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Exception
-
- Description: Wrapper for SCI's exceptions.
-
- Author: Liu Wei, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 lwbjcdl Initial code (D153875)
-
-****************************************************************************/
-
-#include "exception.hpp"
-#include <assert.h>
-
-const char * ErrMsg[] = {
- "Memory allocation failed.",
- "Error occur when call getaddrinfo.",
- "Invalid user credential.",
- "Error occur when call some system call.",
- "Invalid launch action.",
- "Invalid message signature."
-};
-
-Exception::Exception(int code) throw()
- : errCode(code)
-{
-}
-
-const char * Exception::getErrMsg() const throw()
-{
- return ErrMsg[errCode];
-}
-
-int Exception::getErrCode() const throw()
-{
- return errCode;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/exception.hpp b/tools/sci/org.eclipse.ptp.sci/common/exception.hpp
deleted file mode 100644
index 1fce57a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/exception.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Exception
-
- Description: Wrapper for SCI's exceptions.
-
- Author: Liu Wei, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 lwbjcdl Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _EXCEPTION_HPP
-#define _EXCEPTION_HPP
-
-class Exception
-{
- public:
- enum CODE {
- MEM_BAD_ALLOC,
- GET_ADDR_INFO,
- INVALID_USER,
- SYS_CALL,
- INVALID_LAUNCH,
- INVALID_SIGNATURE
- };
-
- private:
- int errCode;
-
- public:
- Exception(int code) throw();
-
- const char * getErrMsg() const throw();
- int getErrCode() const throw();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/group.cpp b/tools/sci/org.eclipse.ptp.sci/common/group.cpp
deleted file mode 100644
index 980c5c9..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/group.cpp
+++ /dev/null
@@ -1,256 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Group
-
- Description: Group manipulation.
-
- Author: Hanhong Xue
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 hxue Initial code (D153875)
-
-****************************************************************************/
-
-#include "group.hpp"
-#include <assert.h>
-#include <ctype.h>
-#include <stdio.h>
-
-Group::Group()
-{
-}
-
-Group::Group(ClientId clientId)
-{
- Add(Range(clientId, clientId+1));
-}
-
-Group::Group(Range r)
-{
- Add(r);
-}
-
-Group::Group(Group &group)
-{
- Add(group);
-}
-
-bool Group::operator == (Group &g)
-{
- if (rangeList.size() != g.rangeList.size())
- return false;
- for (int i = 0; i < (int)rangeList.size(); i++)
- if (rangeList[i] != g.rangeList[i])
- return false;
- return true;
-}
-
-bool Group::HasMember(ClientId clientId)
-{
- range_iterator it;
- for (it=rangeList.begin(); it!=rangeList.end(); ++it) {
- if (clientId >= (*it).end()) {
- continue;
- } else if (clientId >= (*it).begin()) {
- return true;
- }
- }
-
- return false;
-}
-
-bool Group::HasRange(Range & r)
-{
- for(Range::iterator i=r.begin(); i< r.end(); i++ )
- if (this->HasMember(i))
- continue;
- else
- return false;
- return true;
-}
-
-int Group::Index(ClientId clientId)
-{
- int index = 0;
- range_iterator it = rangeList.begin();
- for ( ; it!=rangeList.end(); ++it) {
- if (clientId < (*it).begin()) {
- break;
- } else if (clientId < (*it).end()) {
- return index + clientId - (*it).begin();
- } else {
- index += (*it).end() - (*it).begin();
- }
- }
-
- assert(!"Should have found index");
- return index;
-}
-
-range_iterator Group::Add(ClientId clientId)
-{
- return Add(Range(clientId, clientId+1));
-}
-
-range_iterator Group::Add(Range r)
-{
- return Add(r, rangeList.begin());
-}
-
-range_iterator Group::Add(Range r, range_iterator range)
-{
- // shortcut for a higher range
- if (!rangeList.empty() && !r.Touches(*rangeList.rbegin())
- && !r.IsBefore(*rangeList.rbegin()))
- return rangeList.insert(rangeList.end(), r);
-
- for (; range != rangeList.end(); range++)
- if (r.Touches(*range) || r.IsBefore(*range))
- break;
- if (range == rangeList.end()) {
- return rangeList.insert(range, r);
- } else if (r.Touches(*range)) {
- *range = r.Union(*range);
- while (range + 1 != rangeList.end() && range->Touches(*(range+1))) {
- *range = range->Union(*(range+1));
- rangeList.erase(range+1);
- }
- return range;
- } else {
- return rangeList.insert(range, r);
- }
-}
-
-void Group::Add(Group &group)
-{
- range_iterator pos = rangeList.begin();
- range_iterator it = group.rangeList.begin();
- for ( ; it!=group.rangeList.end(); ++it) {
- pos = Add((*it), pos);
- }
-}
-
-void Group::Delete(ClientId clientId)
-{
- Delete(Range(clientId, clientId+1));
-}
-
-void Group::Delete(Range r)
-{
- Delete(r, rangeList.begin());
-}
-
-range_iterator Group::Delete(Range r, range_iterator range)
-{
- for (; range != rangeList.end(); range++)
- if (r.Intersects(*range) || r.IsBefore(*range))
- break;
- if (range == rangeList.end())
- return range;
- else if (r.Intersects(*range)) {
- range_iterator savedRange = range;
- if (r.Splits(*range)) {
- Range newRange(r.end(), range->end());
- *range = Range(range->begin(), r.begin());
- range = rangeList.insert(range+1, newRange);
- return range;
- } else {
- while (range != rangeList.end()) {
- if (r.Contains(*range)) {
- rangeList.erase(range);
- } else {
- *range = range->Difference(r);
- range++;
- }
- }
- }
- return savedRange;
- } else
- return range;
-}
-
-void Group::Delete(Group &group)
-{
- range_iterator pos = rangeList.begin();
- range_iterator it = group.rangeList.begin();
- for ( ; it!=group.rangeList.end(); ++it) {
- pos = Delete((*it), pos);
- }
-}
-
-void Group::Clear()
-{
- rangeList.clear();
-}
-
-Group::iterator Group::begin()
-{
- return iterator(rangeList.begin(), rangeList.end());
-}
-
-Group::iterator Group::end()
-{
- return iterator(rangeList.end(), rangeList.end());
-}
-
-size_t Group::size()
-{
- int len = 0;
- range_iterator it = rangeList.begin();
- for ( ; it!=rangeList.end(); ++it) {
- len += (*it).end() - (*it).begin();
- }
-
- return len;
-}
-
-/////////////////////////////////////////
-
-Group::iterator::iterator(range_iterator first, range_iterator last)
- : firstRange(first), lastRange(last)
-{
- if (firstRange != lastRange)
- clientId = firstRange->begin();
- else
- clientId = -1;
-}
-
-ClientId & Group::iterator::operator *()
-{
- return clientId;
-}
-
-Group::iterator Group::iterator::operator ++ (int)
-{
- if (++clientId == firstRange->end()) {
- firstRange++;
- if (firstRange != lastRange)
- clientId = firstRange->begin();
- else
- clientId = -1;
- }
- return *this;
-}
-
-bool Group::iterator::operator == (Group::iterator it)
-{
- return firstRange == it.firstRange && clientId == it.clientId;
-}
-
-bool Group::iterator::operator != (Group::iterator it)
-{
- return !(*this == it);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/group.hpp b/tools/sci/org.eclipse.ptp.sci/common/group.hpp
deleted file mode 100644
index 5e3b618..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/group.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Group
-
- Description: Group manipulation.
-
- Author: Hanhong Xue
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 hxue Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _GROUP_HPP
-#define _GROUP_HPP
-
-#include <map>
-#include <string>
-#include <vector>
-
-#include "range.hpp"
-
-using namespace std;
-
-typedef int ClientId;
-typedef int GroupId;
-typedef vector<Range> RangeList;
-typedef RangeList::iterator range_iterator;
-
-class Group
-{
- private:
- RangeList rangeList;
-
- public:
- Group();
- Group(ClientId);
- Group(Range r);
- Group(Group &group);
-
- bool operator == (Group &);
- bool HasMember(ClientId);
- bool HasRange(Range &);
- int Index(ClientId);
-
- range_iterator Add(ClientId);
- range_iterator Add(Range);
- range_iterator Add(Range, range_iterator range);
- void Add(Group &group);
- void Delete(ClientId);
- void Delete(Range);
- range_iterator Delete(Range, range_iterator range);
- void Delete(Group &group);
- void Clear();
-
- class iterator {
- private:
- range_iterator firstRange;
- range_iterator lastRange;
- ClientId clientId;
- public:
- iterator(range_iterator first, range_iterator last);
- iterator operator ++ (int);
- ClientId &operator * ();
- bool operator == (iterator it);
- bool operator != (iterator it);
- };
-
- iterator begin();
- iterator end();
- bool empty() { return rangeList.empty(); }
- size_t size();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/ipconverter.cpp b/tools/sci/org.eclipse.ptp.sci/common/ipconverter.cpp
deleted file mode 100644
index 1f4013c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/ipconverter.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: IPConverter
-
- Description: Convert ifname to ip addresses.
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 12/10/09 nieyy Initial code
-
-****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include "ipconverter.hpp"
-#include <assert.h>
-#include <netinet/in.h>
-#include <string.h>
-
-#include "exception.hpp"
-
-IPConverter::IPConverter()
- : ip_addr("")
-{
- int ret = 0;
-#if defined(_SCI_LINUX) || defined(__APPLE__)
- ret = ::getifaddrs(&ifa);
- if (ret != 0) {
- throw Exception(Exception::SYS_CALL);
- }
-#else
- int fd, ifsize;
- if ((fd = ::socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
- ret = -1;
- }
-
- if (ret == 0 && ::ioctl(fd, SIOCGSIZIFCONF, (caddr_t)&ifsize) < 0) {
- ret = -1;
- }
-
- if (ret == 0 && (ifc.ifc_req = (struct ifreq *)::malloc(ifsize)) == NULL) {
- ret = -1;
- }
-
- ifc.ifc_len = ifsize;
-
- if (ret == 0 && ::ioctl(fd, SIOCGIFCONF, (caddr_t)&ifc) < 0) {
- ret = -1;
- }
- if (ret != 0) {
- throw Exception(Exception::SYS_CALL);
- }
-#endif
-}
-
-IPConverter::~IPConverter()
-{
-#if defined(_SCI_LINUX) || defined(__APPLE__)
- if (ifa) {
- ::freeifaddrs(ifa);
- ifa = NULL;
- }
-#else
- if (ifc.ifc_req) {
- ::free(ifc.ifc_req);
- }
-#endif
-}
-
-int IPConverter::getIP(const string &ifname, bool ipv4, string &addr)
-{
- if (getIP(ifname, ipv4)) {
- return -1;
- }
- addr = ip_addr;
- ip_addr = "";
- return 0;
-}
-
-int IPConverter::getIP(const string &ifname, bool ipv4, struct sockaddr_in *addr)
-{
- if (!ipv4 || getIP(ifname, ipv4)) {
- return -1;
- }
- ::memcpy(addr, &sin, sizeof(struct sockaddr_in));
- return 0;
-}
-
-int IPConverter::getIP(const string &ifname, bool ipv4, struct sockaddr_in6 *addr)
-{
- if (ipv4 || getIP(ifname, ipv4)) {
- return -1;
- }
- ::memcpy(addr, &sin6, sizeof(struct sockaddr_in6));
- return 0;
-}
-
-int IPConverter::getIP(const string &ifname, bool ipv4)
-{
-#if defined(_SCI_LINUX) || defined(__APPLE__)
- return getIPLinux(ifname, ipv4);
-#else
- return getIPAIX(ifname, ipv4);
-#endif
-}
-
-#if defined(_SCI_LINUX) || defined(__APPLE__)
-
-int IPConverter::getIPLinux(const string &ifname, bool ipv4)
-{
- struct ifaddrs *ifa_tmp;
- char addr[INET6_ADDRSTRLEN];
- int ret = -1;
-
- ifa_tmp = ifa;
-
- for (; ifa_tmp; ifa_tmp = ifa_tmp->ifa_next) {
- string name(ifa_tmp->ifa_name);
- if (ifname != name ||
- ifa_tmp->ifa_addr->sa_family != (ipv4 ? AF_INET : AF_INET6)) {
- continue;
- }
-
- if (ifa_tmp->ifa_addr) {
- if (ipv4) {
- ::memcpy(&sin, ifa_tmp->ifa_addr, sizeof(struct sockaddr_in));
- if (::inet_ntop(AF_INET, &sin.sin_addr, addr, sizeof(addr)) == NULL) {
- continue;
- }
- } else {
- ::memcpy(&sin6, ifa_tmp->ifa_addr, sizeof(struct sockaddr_in6));
- if (::inet_ntop(AF_INET6, &sin6.sin6_addr, addr, sizeof(addr)) == NULL) {
- continue;
- }
- }
- ip_addr = addr;
- ret = 0;
- break;
- }
- }
-
- return(ret); //return 0 is okay
-}
-
-#else /* AIX */
-
-#define REAL_SIZE(a) (((a).sa_len) > (sizeof(a)) ? ((a).sa_len) : (sizeof(a)))
-
-int IPConverter::getIPAIX(const string &ifname, bool ipv4)
-{
- char *ifr_ch, addr[INET6_ADDRSTRLEN];
- struct ifreq *ifr = ifc.ifc_req;
- struct sockaddr *sa;
- int ret = -1;
- /*
- * On AIX, actual size of ifr->ifr_addr is possibly larger than
- * size of the structure, real size is in sa_len
- */
- for (ifr_ch = (char *)ifc.ifc_req; ifr_ch < (char *)ifc.ifc_req + ifc.ifc_len;
- ifr_ch += (sizeof(ifr->ifr_name) + REAL_SIZE(ifr->ifr_addr))) {
- ifr = (struct ifreq *)ifr_ch;
- sa = (struct sockaddr *)&(ifr->ifr_addr);
-
- if (::strcasecmp(ifr->ifr_name, ifname.c_str()) ||
- sa->sa_family != (ipv4 ? AF_INET : AF_INET6)) {
- continue;
- }
-
- if (ipv4) {
- ::memcpy((void *)&sin, (void *)sa, sizeof(struct sockaddr_in));
- if (::inet_ntop(AF_INET, (void *)(&sin.sin_addr), addr, sizeof(addr)) == NULL) {
- continue;
- }
- } else {
- ::memcpy((void *)&sin6, (void *)sa, sizeof(struct sockaddr_in6));
- if (::inet_ntop(AF_INET6, (void *)(&sin6.sin6_addr), addr, sizeof(addr)) == NULL) {
- continue;
- }
- }
- ip_addr = addr;
- ret = 0;
-
- break;
- }
-
- return ret; //return 0 is okay
-}
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/ipconverter.hpp b/tools/sci/org.eclipse.ptp.sci/common/ipconverter.hpp
deleted file mode 100644
index 05666d3..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/ipconverter.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: IPConverter
-
- Description: Convert ifname to ip addresses.
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 12/10/09 nieyy Initial code
-
-****************************************************************************/
-
-#ifndef _IPCONVERTER_HPP
-#define _IPCONVERTER_HPP
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#if defined(_SCI_LINUX) || defined(__APPLE__)
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <ifaddrs.h>
-#else /* AIX */
-#include <sys/ioctl.h>
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/netopt.h>
-#include <arpa/inet.h>
-#endif
-
-#include <string>
-using namespace std;
-
-class IPConverter
-{
- private:
- string ip_addr;
- struct sockaddr_in sin;
- struct sockaddr_in6 sin6;
-
-#if defined(_SCI_LINUX) || defined(__APPLE__)
- struct ifaddrs *ifa;
-#else /* AIX */
- struct ifconf ifc;
-#endif
-
- public:
- IPConverter();
- ~IPConverter();
-
- int getIP(const string &ifname, bool ipv4, string &addr);
- int getIP(const string &ifname, bool ipv4, struct sockaddr_in *addr);
- int getIP(const string &ifname, bool ipv4, struct sockaddr_in6 *addr);
-
- private:
- int getIP(const string &ifname, bool ipv4);
-
-#if defined(_SCI_LINUX) || defined(__APPLE__)
- int getIPLinux(const string &ifname, bool ipv4);
-#else /* AIX */
- #define REAL_SIZE(a) (((a).sa_len) > (sizeof(a)) ? ((a).sa_len) : (sizeof(a)))
- int getIPAIX(const string &ifname, bool ipv4);
-#endif
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/log.cpp b/tools/sci/org.eclipse.ptp.sci/common/log.cpp
deleted file mode 100644
index 0380887..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/log.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Envvar
-
- Description: Environment variable manipulation.
-
- Author: Liu Wei, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 lwbjcdl Initial code (D153875)
- 07/19/12 ronglli Fix the log dir update issue
-
-****************************************************************************/
-
-#include "log.hpp"
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <time.h>
-#include <stdarg.h>
-#include <errno.h>
-#include <string.h>
-
-const char *logHeader[] = {
- "[CRIT]",
- "[ERROR]",
- "[WARN]",
- "[INFO]",
- "[DEBUG]",
- "[PERF]",
- "[OTHER]",
-};
-
-Log *Log::logger = NULL;
-
-Log::Log()
-{
-}
-
-Log::~Log()
-{
-}
-
-void Log::init(const char *directory, const char * filename, int level, int m)
-{
- assert(filename);
- assert(directory);
-
- char node[256] = {0};
- gethostname(node, sizeof(node));
-
- logFile = filename;
- logDir = directory;
- sprintf(logPath, "%s/%s.%s.%d" , directory, node, filename, (int)getpid());
- permitLevel = level;
- mode = m;
- unlink(logPath);
-}
-
-void Log::rename(const char *directory, int level, int m)
-{
- int rc = -1;
- char new_logPath[2 * MAX_PATH_LEN];
- char node[256] = {0};
-
- if ((level >= 0) && (permitLevel != level)) {
- permitLevel = level;
- }
- if (m != INVALID)
- mode = m;
-
- if (directory == NULL)
- return;
-
- if (logDir == string(directory))
- return;
-
- gethostname(node, sizeof(node));
- sprintf(new_logPath, "%s/%s.%s.%d" , directory, node, logFile.c_str(), (int)getpid());
- if (::access(logPath, F_OK) == 0) {
- rc = ::rename(logPath, new_logPath);
- if (rc != 0) {
- log_error("Unable to rename log file from %s to %s, rc is %d, errno=%d(%s)",
- logPath, new_logPath, rc, errno, strerror(errno));
- } else {
- sprintf(logPath, "%s", new_logPath);
- log_warn("Move log file from %s to %s", logDir.c_str(), directory);
- logDir = directory;
- }
- } else {
- sprintf(logPath, "%s", new_logPath);
- log_warn("Move log file from %s to %s", logDir.c_str(), directory);
- logDir = directory;
- }
-}
-
-void Log::print(int level, char *srcFile, int srcLine, const char *format, ...)
-{
- if (mode != ENABLE)
- return;
-
- if(level > permitLevel)
- return;
-
- char tmMsg[MAX_LOG_LEN];
- time_t time1;
- struct tm tm1;
- va_list args;
-
- va_start(args, format);
- memset(tmMsg, 0, MAX_LOG_LEN);
- time(&time1);
- localtime_r(&time1, &tm1);
- strftime(tmMsg, MAX_LOG_LEN, "%y%m%d-%H:%M:%S", &tm1);
-
- FILE *fp = fopen(logPath, "a");
- if (fp) {
- fprintf(fp, "%s", tmMsg);
- fprintf(fp, "%s ", (char *)logHeader[level]);
- vfprintf(fp, format, args);
- fprintf(fp, " (%s:%d|%lu)\n", srcFile, srcLine, pthread_self());
- fclose(fp);
- }
-
- va_end(args);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/log.hpp b/tools/sci/org.eclipse.ptp.sci/common/log.hpp
deleted file mode 100644
index 8723b17..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/log.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Envvar
-
- Description: Environment variable manipulation.
-
- Author: Liu Wei, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 lwbjcdl Initial code (D153875)
-
-****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#ifndef _LOG_HPP
-#define _LOG_HPP
-
-#include <pthread.h>
-#include <string>
-
-#define MAX_LOG_LEN 1024
-#define MAX_PATH_LEN 512
-
-using namespace std;
-
-class Log
-{
- public:
- enum LEVEL {
- CRITICAL,
- ERROR,
- WARNING,
- INFORMATION,
- DEBUG,
- PERFORMANCE,
- OTHER
- };
-
- enum MODE {
- INVALID = -1,
- DISABLE = 0,
- ENABLE = 1
- };
-
- private:
- Log();
-
- int mode;
- int permitLevel;
- string logDir;
- string logFile;
- char logPath[2 * MAX_PATH_LEN];
-
- static Log *logger;
-
- public:
- ~Log();
- static Log * getInstance() {
- if(logger == NULL)
- logger = new Log();
- return logger;
- }
-
- void init(const char *directory = "../log", const char * filename = "debug.log", int level = INFORMATION, int m = DISABLE);
- void rename(const char *directory = "../log", int level = INFORMATION, int m = INVALID);
- void print(int level, char * srcFile, int srcLine, const char * format, ...);
-
- string & getLogDir() { return logDir; }
- int getLogLevel() { return permitLevel; }
-};
-
-#ifdef _SCI_DEBUG
-
-#define log_init(a, b, c, d) Log::getInstance()->init(a, b, c, d)
-#define log_rename(a, b, c) Log::getInstance()->rename(a, b, c)
-#define log_crit(...) Log::getInstance()->print(Log::CRITICAL, __FILE__, __LINE__, __VA_ARGS__)
-#define log_error(...) Log::getInstance()->print(Log::ERROR, __FILE__, __LINE__, __VA_ARGS__)
-#define log_warn(...) Log::getInstance()->print(Log::WARNING, __FILE__, __LINE__, __VA_ARGS__)
-#define log_info(...) Log::getInstance()->print(Log::INFORMATION, __FILE__, __LINE__, __VA_ARGS__)
-#define log_debug(...) Log::getInstance()->print(Log::DEBUG, __FILE__, __LINE__, __VA_ARGS__)
-#define log_perf(...) Log::getInstance()->print(Log::PERFORMANCE, __FILE__, __LINE__, __VA_ARGS__)
-
-#else
-
-#define log_init(...)
-#define log_rename(...)
-#define log_crit(...)
-#define log_error(...)
-#define log_warn(...)
-#define log_info(...)
-#define log_debug(...)
-#define log_perf(...)
-
-#endif
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/packer.cpp b/tools/sci/org.eclipse.ptp.sci/common/packer.cpp
deleted file mode 100644
index a8c0f76..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/packer.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Packer
-
- Description: Wrapper for various kind of information.
-
- Author: Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include "packer.hpp"
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <string.h>
-
-const int PACK_SIZE = 256;
-
-Packer::Packer()
- : msgLen(0), bufSize(PACK_SIZE)
-{
- msgBuf = new char[bufSize];
- msgPtr = msgBuf;
-}
-
-Packer::Packer(char *msg)
- : msgLen(0), bufSize(0)
-{
- msgBuf = msg;
- msgPtr = msgBuf;
-}
-
-char * Packer::getPackedMsg()
-{
- return msgBuf;
-}
-
-int Packer::getPackedMsgLen()
-{
- return msgLen;
-}
-
-
-void Packer::packInt(int value)
-{
- int val = htonl(value);
- int len = sizeof(val);
-
- checkBuffer(len);
- memcpy(msgPtr, &val, len);
- msgPtr += len;
- msgLen += len;
-}
-
-void Packer::packStr(const char *value)
-{
- int len = strlen(value) + 1;
- packInt(len);
-
- checkBuffer(len);
- memcpy(msgPtr, value, len);
- msgPtr += len;
- msgLen += len;
-}
-
-void Packer::packStr(const string &value)
-{
- int len = strlen(value.c_str()) + 1;
- packInt(len);
-
- checkBuffer(len);
- memcpy(msgPtr, value.c_str(), len);
- msgPtr += len;
- msgLen += len;
-}
-
-void Packer::setPackedMsg(const void * msg)
-{
- msgBuf = (char *) msg;
- msgPtr = msgBuf;
-}
-
-int Packer::unpackInt()
-{
- int size, value;
- memcpy(&size, msgPtr, sizeof(size));
-
- value = ntohl(size);
- msgPtr += sizeof(size);
-
- return value;
-}
-
-char * Packer::unpackStr()
-{
- int len;
- char *value;
-
- len = unpackInt();
- value = msgPtr;
- msgPtr += len;
-
- return value;
-}
-
-void Packer::checkBuffer(int size)
-{
- char *tmp = NULL;
- int len = msgLen + size;
-
- if (len <= bufSize)
- return;
-
- while (bufSize < len)
- bufSize *= 2;
- tmp = new char[bufSize];
- memcpy(tmp, msgBuf, msgLen);
- msgPtr = tmp + (msgPtr - msgBuf);
- delete []msgBuf;
- msgBuf = tmp;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/packer.hpp b/tools/sci/org.eclipse.ptp.sci/common/packer.hpp
deleted file mode 100644
index 25dc3ce..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/packer.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Packer
-
- Description: Wrapper for various kind of information.
-
- Author: Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _PACKER_HPP
-#define _PACKER_HPP
-
-#include <vector>
-#include <map>
-#include <string>
-
-using namespace std;
-
-class Packer
-{
- private:
- char *msgBuf;
- char *msgPtr;
- int msgLen;
- int bufSize;
-
- public:
- Packer();
- Packer(char *msg);
-
- // for message packing usage
- void packInt(int value);
- void packStr(const char *value);
- void packStr(const string &value);
- char * getPackedMsg();
- int getPackedMsgLen();
-
- // for message unpacking usage
- void setPackedMsg(const void *msg);
- int unpackInt();
- char * unpackStr();
-
- public:
- void checkBuffer(int size);
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/range.cpp b/tools/sci/org.eclipse.ptp.sci/common/range.cpp
deleted file mode 100644
index 40226bd..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/range.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Range
-
- Description: Range manipulation.
-
- Author: Hanhong Xue
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 hxue Initial code (D153875)
-
-****************************************************************************/
-
-#include "range.hpp"
-#include <assert.h>
-#include <stdio.h>
-
-Range::Range()
- : first(0), last(0)
-{
-}
-
-Range::Range(const Range &r)
- : first(r.first), last(r.last)
-{
-}
-
-Range::Range(int _first, int _last)
- : first(_first), last(_last)
-{
-}
-
-bool Range::operator == (Range &r)
-{
- return first == r.first && last == r.last;
-}
-
-bool Range::operator != (Range &r)
-{
- return first != r.first || last != r.last;
-}
-
-bool Range::Intersects(Range r)
-{
- return (((first <= r.first) && (r.first < last))
- || ((first < r.last) && (r.last <= last))
- || this->Contains(r) || r.Contains(*this));
-}
-
-bool Range::Touches(Range r)
-{
- return (((first <= r.first) && (r.first <= last))
- || ((first <= r.last) && (r.last <= last))
- || this->Contains(r) || r.Contains(*this));
-}
-
-bool Range::IsBefore(Range r)
-{
- return last <= r.first;
-}
-
-bool Range::IsAfter(Range r)
-{
- return r.last <= first;
-}
-
-bool Range::Contains(Range r)
-{
- return (first <= r.first && r.last <= last);
-}
-
-bool Range::Splits(Range r)
-{
- return (r.first < first && last < r.last);
-}
-
-Range Range::Union(Range r)
-{
- assert(this->Touches(r));
- return Range(min(first, r.first), max(last, r.last));
-}
-
-Range Range::Difference(Range r)
-{
- assert(!r.Splits(*this));
- if (this->Intersects(r)) {
- if (first < r.first) {
- return Range(first, r.first);
- } else {
- assert(r.last < last);
- return Range(r.last, last);
- }
- } else
- return *this; // unchanged
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/range.hpp b/tools/sci/org.eclipse.ptp.sci/common/range.hpp
deleted file mode 100644
index 1a55c0f..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/range.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Range
-
- Description: Range manipulation.
-
- Author: Hanhong Xue
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 hxue Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _RANGE_HPP
-#define _RANGE_HPP
-
-#include <string>
-
-using namespace std;
-
-#define RANGE_SEPARATOR ":"
-
-class Range
-{
- private:
- int first;
- int last;
- public:
- Range();
- Range(const Range &r);
- Range(int _first, int _last);
-
- typedef int iterator;
- iterator begin() { return first; }
- iterator end() { return last; }
-
- bool operator == (Range &r);
- bool operator != (Range &r);
- bool Intersects(Range r);
- bool Touches(Range r);
- bool Splits(Range r);
- bool Contains(Range r);
- bool IsBefore(Range r);
- bool IsAfter(Range r);
- Range Union(Range r);
- Range Difference(Range r);
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/socket.cpp b/tools/sci/org.eclipse.ptp.sci/common/socket.cpp
deleted file mode 100644
index a982e2d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/socket.cpp
+++ /dev/null
@@ -1,491 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Socket, SocketException
-
- Description: Socket manipulation.
-
- Author: Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#include <assert.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/socket.h>
-#include <netinet/tcp.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <poll.h>
-
-#include "socket.hpp"
-#include "tools.hpp"
-#include "ipconverter.hpp"
-
-
-#define CONNECTING_TIMES 200
-
-int Socket::disableIpv6 = 0;
-int Socket::connTimes = CONNECTING_TIMES;
-
-Socket::Socket(int sockfd)
- : socket(sockfd)
-{
- int i = 0;
-
- numListenfds = 0;
- for (i = 0; i < NELEMS(accSockets); i++) {
- accSockets[i] = -1;
- }
-}
-
-Socket::~Socket()
-{
- int i = 0;
-
- for (i = 0; i < NELEMS(accSockets); i++) {
- ::close(accSockets[i]);
- }
- ::close(socket);
-}
-
-int Socket::setMode(int sockfd, bool mode)
-{
- int flags, newflags;
-
- flags = ::fcntl(sockfd, F_GETFL);
- if (flags < 0)
- throw SocketException(SocketException::NET_ERR_FCNTL, errno);
-
- if (mode)
- newflags = flags & ~O_NONBLOCK;
- else
- newflags = flags | O_NONBLOCK;
-
- if (newflags != flags) {
- if (::fcntl(sockfd, F_SETFL, newflags) < 0) {
- throw SocketException(SocketException::NET_ERR_FCNTL, errno);
- }
- }
-
- return 0;
-}
-
-int Socket::setFd(int fd)
-{
- if (fd < 0) {
- throw SocketException(SocketException::NET_ERR_SOCKET, errno);
- }
- int nodelay = 1;
- ::setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char*)&nodelay, sizeof(nodelay));
- socket = fd;
-
- return 0;
-}
-
-int Socket::listen(int &port, char *hname)
-{
- int sockfd;
- int yes, rc;
- int accCount = 0;
- struct addrinfo hints, *host, *ressave;
- char service[NI_MAXSERV] = {0};
-
- ::memset(&hints, 0, sizeof(struct addrinfo));
- hints.ai_flags = (hname == NULL) ? AI_PASSIVE : 0;
- hints.ai_family = AF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
- ::sprintf(service, "%d", port);
- ::getaddrinfo(hname, service, &hints, &host);
- ressave = host;
-
- while (host && (accCount < NELEMS(accSockets))) {
- if ((host->ai_family != AF_INET) && (host->ai_family != AF_INET6)) {
- host = host->ai_next;
- continue;
- }
-
- if ((host->ai_family == AF_INET6) && (getDisableIPv6() == 1)) {
- host = host->ai_next;
- continue;
- }
-
- sockfd = ::socket(host->ai_family, host->ai_socktype, host->ai_protocol);
- if (sockfd >= 0) {
- yes = 1;
- rc = ::setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes));
- if (host->ai_family == AF_INET6) {
- setsockopt(sockfd, IPPROTO_IPV6, IPV6_V6ONLY, &yes, sizeof(yes));
- sockaddr_in6 *addr6 = (sockaddr_in6 *)host->ai_addr;
- if (port != 0)
- addr6->sin6_port = htons(port);
- } else {
- sockaddr_in *addr4 = (sockaddr_in *)host->ai_addr;
- if (port != 0)
- addr4->sin_port = htons(port);
- }
- setMode(sockfd, false);
- rc = ::bind(sockfd, host->ai_addr, host->ai_addrlen);
- if (rc == 0) {
- struct sockaddr_storage sockaddr;
- socklen_t len = sizeof(sockaddr);
-
- ::getsockname(sockfd, (struct sockaddr *)&sockaddr, &len);
- ::getnameinfo((struct sockaddr *)&sockaddr, len, NULL, 0,
- service, sizeof(service), NI_NUMERICSERV);
- port = ::atoi(service);
- rc = ::listen(sockfd, SOMAXCONN);
- accSockets[accCount] = sockfd;
- accCount++;
- } else {
- ::close(sockfd);
- }
- }
- host = host->ai_next;
- }
-
- if (accCount <= 0) {
- throw SocketException(SocketException::NET_ERR_BIND, errno);
- }
- ::freeaddrinfo(ressave);
-
- numListenfds = accCount;
- return accCount;
-}
-
-int Socket::iflisten(int & port, const string & ifname)
-{
- int accCount = 0;
- char service[NI_MAXSERV] = {0};
- ::sprintf(service, "%d", port);
-
- int sockfd = ::socket(AF_INET, SOCK_STREAM, 0);
- if (sockfd < 0) {
- throw SocketException(SocketException::NET_ERR_SOCKET, errno);
- }
-
- int yes = 1;
- ::setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes));
-
- IPConverter converter;
- struct sockaddr_in addr;
- converter.getIP(ifname, true, &addr);
-
- int rc = ::bind(sockfd, (struct sockaddr *)&addr, sizeof(addr));
- if (rc == 0) {
- struct sockaddr_storage sockaddr;
- socklen_t len = sizeof(sockaddr);
-
- ::getsockname(sockfd, (struct sockaddr *)&sockaddr, &len);
- ::getnameinfo((struct sockaddr *)&sockaddr, len, NULL, 0,
- service, sizeof(service), NI_NUMERICSERV);
- port = ::atoi(service);
- } else {
- throw SocketException(SocketException::NET_ERR_BIND, errno);
- }
-
- ::listen(sockfd, SOMAXCONN);
- accSockets[accCount] = sockfd;
- accCount++;
- numListenfds = accCount;
-
- return sockfd;
-}
-
-int Socket::connect(const char *hostName, in_port_t port)
-{
- int rc = -1;
- int sockfd, nodelay;
- char service[NI_MAXSERV] = {0};
- struct addrinfo *host = NULL, *ressave;
- int count = 0;
- bool connected = false;
-
- while (count < connTimes) {
- struct addrinfo hints = {0};
- ::sprintf(service, "%d", port);
- hints.ai_family = AF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
- hints.ai_flags = AI_NUMERICHOST | AI_NUMERICSERV;
-
- rc = ::getaddrinfo(hostName, service, &hints, &host);
- if (rc == EAI_NONAME) {
- hints.ai_flags = 0;
- rc = ::getaddrinfo(hostName, service, &hints, &host);
- }
- if (!host) {
- throw SocketException(SocketException::NET_ERR_GETADDRINFO, errno);
- }
-
- ressave = host;
- while (host) {
- if ((host->ai_family == AF_INET6) && (getDisableIPv6() == 1)) {
- host = host->ai_next;
- continue;
- }
-
- sockfd = ::socket(host->ai_family, host->ai_socktype, host->ai_protocol);
- if (sockfd < 0) {
- ::freeaddrinfo(host);
- throw SocketException(SocketException::NET_ERR_SOCKET, errno);
- }
- nodelay = 1;
- rc = ::setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char*)&nodelay, sizeof(nodelay));
-
- rc = ::connect(sockfd, host->ai_addr, host->ai_addrlen);
- if (rc == 0) {
- connected = true;
- break;
- }
- host = host->ai_next;
- }
- count++;
- ::freeaddrinfo(ressave);
- if (connected)
- break;
-
- ::close(sockfd);
- ::sleep(1);
- }
- if (rc < 0) {
- throw SocketException(SocketException::NET_ERR_CONNECT, errno);
- }
- socket = sockfd;
-
- return sockfd;
-}
-
-int Socket::stopAccept()
-{
- int i = 0;
-
- for (i = 0; i < NELEMS(accSockets); i++) {
- if (accSockets[i] != -1) {
- ::shutdown(accSockets[i], SHUT_RDWR);
- ::close(accSockets[i]);
- accSockets[i] = -1;
- }
- }
-
- return 0;
-}
-
-int Socket::accept()
-{
- int client = -1;
- int nodelay = 1;
- struct sockaddr_storage sockaddr;
- socklen_t len = sizeof(sockaddr);
- int i = 0;
- int n = 0;
- struct pollfd fds[NELEMS(accSockets)] = {0};
- int accCount = 0;
-
- for (i = 0; i < NELEMS(accSockets); i++){
- if (accSockets[i] == -1) {
- break;
- }
- accCount++;
- fds[i].fd = accSockets[i];
- fds[i].events = POLLIN;
- }
-
- n = poll(fds, accCount, 500);
- if (n > 0) {
- for (i = 0; i < accCount; i++) {
- if (fds[i].revents) {
- client = ::accept(fds[i].fd, (struct sockaddr *)&sockaddr, &len);
- if (client < 0) {
- throw (SocketException(SocketException::NET_ERR_ACCEPT, errno));
- }
- ::setsockopt(client, IPPROTO_TCP, TCP_NODELAY, (char*)&nodelay, sizeof(nodelay));
- setMode(client, true);
- break;
- }
- }
- }
-
- return client;
-}
-
-int Socket::send(const char *buf, int len)
-{
- int n;
- char *pos = NULL;
- int left;
-
- pos = (char *) buf;
- left = len;
-
- while (left > 0) {
- n = ::send(socket, pos, left, 0);
- if (n < 0) {
- if ((errno == EAGAIN) || (errno == EWOULDBLOCK) || (errno == EINTR)) {
- continue;
- }
- throw (SocketException(SocketException::NET_ERR_SEND, errno));
- }
- pos += n;
- left -= n;
- }
-
- return 0;
-}
-
-int Socket::recv(char *buf, int len)
-{
- int n;
- int left;
- char *pos;
-
- pos = buf;
- left = len;
-
- while (left > 0) {
- n = ::recv(socket, pos, left, 0);
- if (n < 0) {
- if (errno == EINTR) {
- continue;
- }
- if ((errno == EAGAIN) || (errno == EWOULDBLOCK)) {
- break;
- }
- throw (SocketException(SocketException::NET_ERR_RECV, errno));
- } else if (n == 0) {
- throw (SocketException(SocketException::NET_ERR_CLOSED));
- }
-
- pos += n;
- left -= n;
- }
-
- return (len - left);
-}
-
-void Socket::close(Socket::DIRECTION how)
-{
- if (socket < 0)
- return;
-
- switch (how) {
- case READ:
- ::shutdown(socket, SHUT_RD);
- break;
- case WRITE:
- ::shutdown(socket, SHUT_WR);
- break;
- case BOTH:
- ::shutdown(socket, SHUT_RDWR);
- ::close(socket);
- default:
- break;
- }
-}
-
-int Socket::getDisableIPv6()
-{
- return disableIpv6;
-}
-
-void Socket::setDisableIPv6(int flag)
-{
- disableIpv6 = flag;
-}
-
-void Socket::setConnTimes(int cnt)
-{
- connTimes = cnt;
-}
-
-int Socket::numOfListenFds()
-{
- return numListenfds;
-}
-
-int Socket::getListenSockfds(int *fds)
-{
- int i = 0;
- for (i = 0; i < numListenfds; i++) {
- fds[i] = accSockets[i];
- }
- return i;
-}
-
-SocketException::SocketException(int code) throw()
- : errCode(code), errNum(0)
-{
-}
-
-SocketException::SocketException(int code, int num) throw()
- : errCode(code), errNum(num)
-{
-}
-
-int SocketException::getErrCode() const throw()
-{
- return errCode;
-}
-
-int SocketException::getErrNum() const throw()
-{
- return errNum;
-}
-
-string & SocketException::getErrMsg() throw()
-{
- switch (errCode) {
- case NET_ERR_SOCKET:
- errMsg = "Function ::socket()";
- break;
- case NET_ERR_CONNECT:
- errMsg = "Function ::connect()";
- break;
- case NET_ERR_GETADDRINFO:
- errMsg = "Function ::getaddrinfo()";
- break;
- case NET_ERR_SEND:
- errMsg = "Function ::send()";
- break;
- case NET_ERR_RECV:
- errMsg = "Function ::recv()";
- break;
- case NET_ERR_FCNTL:
- errMsg = "Function ::fcntl()";
- break;
- case NET_ERR_CLOSED:
- errMsg = "Function ::recv() connection was closed by peer";
- break;
- case NET_ERR_DATA:
- errMsg = "Received unexpected data";
- break;
- case NET_ERR_BIND:
- errMsg = "Function ::bind()";
- default:
- errMsg = "Unknown error";
- break;
- }
-
- if (errNum != 0) {
- errMsg += "; system error: ";
- errMsg += ::strerror(errNum);
- }
-
- return errMsg;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/socket.hpp b/tools/sci/org.eclipse.ptp.sci/common/socket.hpp
deleted file mode 100644
index a72ea1f..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/socket.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Socket, SocketException
-
- Description: Socket manipulation.
-
- Author: Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _SOCKET_HPP
-#define _SOCKET_HPP
-
-#include <netdb.h>
-#include <netinet/in.h>
-#include <string>
-
-using namespace std;
-
-class Socket
-{
- public:
- enum DIRECTION
- {
- READ,
- WRITE,
- BOTH
- };
-
- private:
- int socket;
- int accSockets[32];
- int numListenfds;
- static int disableIpv6;
- static int connTimes;
-
- public:
- Socket(int sockfd = -1);
- ~Socket();
-
- int setMode(int sockfd, bool mode); // blocking or non-blocking
- int setFd(int fd);
- int getFd() { return socket; }
-
- int listen(int &port, char *hname = NULL);
- int iflisten(int &port, const string &ifname);
- int connect(const char *hostName, in_port_t port);
- int accept();
- int stopAccept();
- int send(const char *buf, int len);
- int recv(char *buf, int len);
- void close(DIRECTION how);
-
- static int getDisableIPv6();
- static void setDisableIPv6(int flag);
- static void setConnTimes(int cnt);
- int numOfListenFds();
- int getListenSockfds(int *fds);
-};
-
-class SocketException
-{
- public:
- enum CODE
- {
- NET_ERR_SOCKET = -101,
- NET_ERR_CONNECT = -102,
- NET_ERR_GETADDRINFO = -103,
- NET_ERR_SEND = -104,
- NET_ERR_RECV = -105,
- NET_ERR_CLOSED = -106,
- NET_ERR_INTR = -107,
- NET_ERR_FCNTL = -108,
- NET_ERR_ACCEPT = -109,
- NET_ERR_DATA = -110,
- NET_ERR_BIND = -111
- };
-
- private:
- int errCode;
- int errNum;
- string errMsg;
-
- public:
- SocketException(int code) throw();
- SocketException(int code, int num) throw();
-
- int getErrCode() const throw();
- int getErrNum() const throw();
- string & getErrMsg() throw();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/sshfunc.cpp b/tools/sci/org.eclipse.ptp.sci/common/sshfunc.cpp
deleted file mode 100644
index c1db386..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/sshfunc.cpp
+++ /dev/null
@@ -1,746 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: SshFunc
-
- Description: ssh functions
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D16661)
- 11/26/10 ronglli Modified the ssh functions
-
-****************************************************************************/
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <dlfcn.h>
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <arpa/inet.h>
-
-#include "sshfunc.hpp"
-#include "tools.hpp"
-#include "log.hpp"
-
-SshFunc *SshFunc::instance = NULL;
-
-SshFunc * SshFunc::getInstance()
-{
- if (instance == NULL) {
- instance = new SshFunc();
- int rc = instance->load();
- if (rc != 0) {
- return NULL;
- }
- }
- return instance;
-}
-
-SshFunc::SshFunc()
- : sshAuth(false), dlopen_file(NULL), mdlhndl(0), set_auth_module_hndlr(NULL), get_id_token_hndlr(NULL), verify_id_token_hndlr(NULL), get_id_from_token_hndlr(NULL), free_id_token_hndlr(NULL), get_key_from_token_hndlr(NULL), sign_data_hndlr(NULL), verify_data_hndlr(NULL), free_signature_hndlr(NULL)
-{
- string out_val = "";
- char * envp = NULL;
- int rc;
-
- user_token.iov_base = NULL;
- user_token.iov_len = 0;
-
- rc = SysUtil::read_config("SCI_ENABLE_SSHAUTH", out_val);
- if(rc == 0) {
- if (out_val == "yes") {
- sshAuth = true;
- } else if (out_val == "no") {
- sshAuth = false;
- } else {
- log_warn("Wrong value of \"SCI_ENABLE_SSHAUTH\": %s\n", out_val.c_str());
- }
- }
-
- envp = ::getenv("SCI_ENABLE_SSHAUTH");
- if(envp != NULL) {
- if (strcasecmp(envp, "yes") == 0) {
- sshAuth = true;
- } else if (strcasecmp(envp, "no") == 0) {
- sshAuth = false;
- }
- }
-}
-
-SshFunc::~SshFunc()
-{
- if (dlopen_file) {
- ::dlclose(dlopen_file);
- }
- free_id_token(&user_token);
-}
-
-#ifdef PSEC_OPEN_SSL
-int SshFunc::load(char * libPath)
-{
- int rc = -1;
- string path = "";
- string auth_mod = "";
-
- if (!sshAuth)
- return 0;
-
- if (libPath) {
- path = libPath;
- } else {
-#if defined(_SCI_LINUX) || defined(__APPLE__)
-#ifdef __64BIT__ // 64-bit
-#ifdef INSTALL_PATH
- path = string(INSTALL_PATH) + "/lib/sci64/libpsec.so"; // default library name on Linux
- auth_mod = string(INSTALL_PATH) + "/lib/sci64/libpsec_ossh.so";
-#else
- path = "libpsec.so"; // default library name on Linux
- auth_mod = "/usr/lib64/libpsec_ossh.so";
-#endif
-#else // 32-bit
-#ifdef INSTALL_PATH
- path = string(INSTALL_PATH) + "/lib/sci32/libpsec.so"; // default library name on Linux
- auth_mod = string(INSTALL_PATH) + "/lib/sci32/libpsec_ossh.so";
-#else
- path = "libpsec.so"; // default library name on Linux
- auth_mod = "/usr/lib/libpsec_ossh.so";
-#endif
-#endif
-#else //AIX
-#ifdef __64BIT__
-#ifdef INSTALL_PATH
- path = string(INSTALL_PATH) + "/lib/libpsec.a(shr_64.o)";
- auth_mod = string(INSTALL_PATH) + "/lib/libpsec_ossh64.so";
-#else
- path = "libpsec.a(shr_64.o)";
- auth_mod = "/usr/lib/libpsec_ossh64.so";
-#endif
-#else // 32-bit
-#ifdef INSTALL_PATH
- path = string(INSTALL_PATH) + "/lib/libpsec.a(shr.o)";
- auth_mod = string(INSTALL_PATH) + "/lib/libpsec_ossh.so";
-#else
- path = "libpsec.a(shr.o)";
- auth_mod = "/usr/lib/libpsec_ossh.so";
-#endif
-#endif
-#endif
- }
-
-#if defined(_SCI_LINUX)
- dlopen_file = ::dlopen(path.c_str(), RTLD_NOW | RTLD_LOCAL);
-#elif defined(__APPLE__)
- dlopen_file = ::dlopen(path.c_str(), RTLD_NOW | RTLD_LOCAL);
-#else // aix
- dlopen_file = ::dlopen(path.c_str(), RTLD_NOW | RTLD_LOCAL | RTLD_MEMBER);
-#endif
- if (NULL == dlopen_file) {
- return -1;
- }
-
- set_auth_module_hndlr = (psec_set_auth_module_hndlr *) ::dlsym(dlopen_file, "psec_set_auth_module");
- if (NULL == set_auth_module_hndlr) {
- return -1;
- }
- get_id_token_hndlr = (psec_get_id_token_hndlr *) ::dlsym(dlopen_file, "psec_get_id_token");
- if (NULL == get_id_token_hndlr) {
- return -1;
- }
- verify_id_token_hndlr = (psec_verify_id_token_hndlr *) ::dlsym(dlopen_file, "psec_verify_id_token");
- if (NULL == verify_id_token_hndlr) {
- return -1;
- }
- get_id_from_token_hndlr = (psec_get_id_from_token_hndlr *) ::dlsym(dlopen_file, "psec_get_id_from_token");
- if (NULL == get_id_from_token_hndlr) {
- return -1;
- }
- free_id_token_hndlr = (psec_free_id_token_hndlr *) ::dlsym(dlopen_file, "psec_free_id_token");
- if (NULL == free_id_token_hndlr) {
- return -1;
- }
-
- get_key_from_token_hndlr = (psec_get_key_from_token_hndlr *) ::dlsym(dlopen_file, "psec_get_key_from_token");
- if (NULL == get_key_from_token_hndlr) {
- return -1;
- }
-
- sign_data_hndlr = (psec_sign_data_hndlr *) ::dlsym(dlopen_file, "psec_sign_data");
- if(NULL == sign_data_hndlr) {
- return -1;
- }
-
- verify_data_hndlr = (psec_verify_data_hndlr *) ::dlsym(dlopen_file, "psec_verify_data");
- if(NULL == verify_data_hndlr) {
- return -1;
- }
-
- free_signature_hndlr = (psec_free_signature_hndlr *) ::dlsym(dlopen_file, "psec_free_signature");
- if(NULL == free_signature_hndlr) {
- return -1;
- }
-
- rc = set_auth_module(NULL, (char *)auth_mod.c_str(), "m[t=-1]");
- if (rc == 0) {
- get_id_token(NULL, NULL, &user_token);
- key_len = sizeof(session_key);
- get_key_from_token(NULL, &user_token, session_key, &key_len);
- }
-
- return rc;
-}
-
-int SshFunc::set_auth_module(char *name, char *fpath, char *opts)
-{
- if (!sshAuth)
- return 0;
-
- return set_auth_module_hndlr(name, fpath, opts, &mdlhndl);
-}
-
-int SshFunc::get_id_token(char *tname, char *thost, psec_idbuf_t idtok)
-{
- if (!sshAuth)
- return 0;
-
- return get_id_token_hndlr(mdlhndl, tname, thost, idtok);
-}
-
-int SshFunc::verify_id_token(char *uname, psec_idbuf_t idtok)
-{
- if (!sshAuth)
- return 0;
-
- return verify_id_token_hndlr(mdlhndl, uname, idtok);
-}
-
-int SshFunc::get_id_from_token(psec_idbuf_t idtok, char *usrid, size_t *usridlen)
-{
- if (!sshAuth)
- return 0;
-
- return get_id_from_token_hndlr(mdlhndl, idtok, usrid, usridlen);
-}
-
-int SshFunc::free_id_token(psec_idbuf_t id)
-{
- if (!sshAuth)
- return 0;
-
- return free_id_token_hndlr(mdlhndl, id);
-}
-
-int SshFunc::get_key_from_token(char *uname, psec_idbuf_t idtok , char *key, size_t *keylen)
-{
- if (!sshAuth)
- return 0;
-
- return get_key_from_token_hndlr(mdlhndl, uname, idtok, key, keylen);
-}
-
-int SshFunc::sign_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
-{
- if (!sshAuth)
- return 0;
-
- return sign_data_hndlr(mdlhndl, key, keylen, inbufs, num_bufs, sigbufs);
-}
-
-int SshFunc::verify_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
-{
- if (!sshAuth)
- return 0;
-
- return verify_data_hndlr(mdlhndl, key, keylen, inbufs, num_bufs, sigbufs);
-}
-
-int SshFunc::sign_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
-{
- if (!sshAuth)
- return 0;
-
- return sign_data_hndlr(mdlhndl, session_key, key_len, inbufs, num_bufs, sigbufs);
-}
-
-int SshFunc::verify_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
-{
- if (!sshAuth)
- return 0;
-
- return verify_data_hndlr(mdlhndl, session_key, key_len, inbufs, num_bufs, sigbufs);
-}
-
-int SshFunc::free_signature(struct iovec *sigbufs)
-{
- if (!sshAuth)
- return 0;
-
- return free_signature_hndlr(mdlhndl, sigbufs);
-}
-
-int SshFunc::sign_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
-{
- int i, rc;
- struct iovec *tmp_bufs;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- for (i = 0; i < num_bufs; i++) {
- tmp_bufs[i].iov_base = bufs[i];
- tmp_bufs[i].iov_len = sizes[i];
- }
- rc = sign_data(key, keylen, tmp_bufs, num_bufs, sigbufs);
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::verify_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
-{
- int i, rc;
- struct iovec *tmp_bufs;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- for (i = 0; i < num_bufs; i++) {
- tmp_bufs[i].iov_base = bufs[i];
- tmp_bufs[i].iov_len = sizes[i];
- }
- rc = verify_data(key, keylen, tmp_bufs, num_bufs, sigbufs);
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::sign_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
-{
- int i, rc;
- struct iovec *tmp_bufs;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- for (i = 0; i < num_bufs; i++) {
- tmp_bufs[i].iov_base = bufs[i];
- tmp_bufs[i].iov_len = sizes[i];
- }
- rc = sign_data(session_key, key_len, tmp_bufs, num_bufs, sigbufs);
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::verify_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
-{
- int i, rc;
- struct iovec *tmp_bufs;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- for (i = 0; i < num_bufs; i++) {
- tmp_bufs[i].iov_base = bufs[i];
- tmp_bufs[i].iov_len = sizes[i];
- }
- rc = verify_data(session_key, key_len, tmp_bufs, num_bufs, sigbufs);
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::sign_data(char *key, size_t klen, struct iovec *sigbufs, char *fmt, ...)
-{
- int i, rc;
- va_list argp;
- char *para, *p, *pos;
- size_t para_len;
- int num_bufs = get_sizes(fmt);
- struct iovec *tmp_bufs;
- int *d_nums;
- char *skey = key;
- size_t sklen = klen;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- d_nums = new int[num_bufs];
- if (key == NULL) {
- skey = session_key;
- sklen = key_len;
- }
-
- va_start(argp, fmt);
- pos = p = fmt;
- i = -1;
- while (*p != '\0') {
- switch (*p) {
- case 'd':
- d_nums[i] = va_arg(argp, int);
- d_nums[i] = htonl(d_nums[i]);
- tmp_bufs[i].iov_len = sizeof(int);
- tmp_bufs[i].iov_base = &d_nums[i];
- break;
- case 's':
- tmp_bufs[i].iov_base = va_arg(argp, char *);
- if (*pos != 's') {
- tmp_bufs[i].iov_len = atoi((const char *)pos);
- } else {
- tmp_bufs[i].iov_len = strlen((char *)tmp_bufs[i].iov_base) + 1;
- }
- break;
- case '%':
- pos = p + 1;
- i++;
- break;
- }
- p++;
- }
- va_end(argp);
-
- rc = sign_data(skey, key_len, tmp_bufs, num_bufs, sigbufs);
- delete []d_nums;
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::get_sizes(char *fmt)
-{
- int num_bufs = 0;
- char *p = fmt;
-
- if (!sshAuth)
- return 0;
-
- while (*p != '\0') {
- if (*p == '%') {
- num_bufs++;
- }
- p++;
- }
-
- return num_bufs;
-}
-
-int SshFunc::verify_data(char *key, size_t klen, struct iovec *sigbufs, char *fmt, ...)
-{
- int i, rc;
- va_list argp;
- char *para, *p, *pos;
- size_t para_len;
- int num_bufs = get_sizes(fmt);
- struct iovec *tmp_bufs;
- int *d_nums;
- char *skey = key;
- size_t sklen = klen;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- d_nums = new int[num_bufs];
- if (key == NULL) {
- skey = session_key;
- sklen = key_len;
- }
- va_start(argp, fmt);
- pos = p = fmt;
- i = -1;
- while (*p != '\0') {
- switch (*p) {
- case 'd':
- d_nums[i] = va_arg(argp, int);
- d_nums[i] = ntohl(d_nums[i]);
- tmp_bufs[i].iov_len = sizeof(int);
- tmp_bufs[i].iov_base = &d_nums[i];
- break;
- case 's':
- tmp_bufs[i].iov_base = va_arg(argp, char *);
- if (*pos != 's') {
- tmp_bufs[i].iov_len = atoi((const char *)pos);
- } else {
- tmp_bufs[i].iov_len = strlen((char *)tmp_bufs[i].iov_base) + 1;
- }
- break;
- case '%':
- pos = p + 1;
- i++;
- break;
- }
- p++;
- }
- va_end(argp);
-
- rc = verify_data(skey, sklen, tmp_bufs, num_bufs, sigbufs);
- delete []d_nums;
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::sign_data(struct iovec *sigbufs, int num_bufs, ...)
-{
- int i, rc;
- va_list argp;
- char *para;
- size_t para_len;
- struct iovec *tmp_bufs;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- va_start(argp, num_bufs);
- for (i = 0; i < num_bufs; i++) {
- para = va_arg(argp, char *);
- para_len = va_arg(argp, int);
- tmp_bufs[i].iov_base = para;
- tmp_bufs[i].iov_len = para_len;
- }
- va_end(argp);
- rc = sign_data(session_key, key_len, tmp_bufs, num_bufs, sigbufs);
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::verify_data(struct iovec *sigbufs, int num_bufs, ...)
-{
- int i, rc;
- va_list argp;
- char *para;
- size_t para_len;
- struct iovec *tmp_bufs;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- va_start(argp, num_bufs);
- for (i = 0; i < num_bufs; i++) {
- para = va_arg(argp, char *);
- para_len = va_arg(argp, int);
- tmp_bufs[i].iov_base = para;
- tmp_bufs[i].iov_len = para_len;
- }
- va_end(argp);
- rc = verify_data(session_key, key_len, tmp_bufs, num_bufs, sigbufs);
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::sign_data(char *key, size_t keylen, struct iovec *sigbufs, int num_bufs, ...)
-{
- int i, rc;
- va_list argp;
- char *para;
- size_t para_len;
- struct iovec *tmp_bufs;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- va_start(argp, num_bufs);
- for (i = 0; i < num_bufs; i++) {
- para = va_arg(argp, char *);
- para_len = va_arg(argp, int);
- tmp_bufs[i].iov_base = para;
- tmp_bufs[i].iov_len = para_len;
- }
- va_end(argp);
- rc = sign_data(key, keylen, tmp_bufs, num_bufs, sigbufs);
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::verify_data(char *key, size_t keylen, struct iovec *sigbufs, int num_bufs, ...)
-{
- int i, rc;
- va_list argp;
- char *para;
- size_t para_len;
- struct iovec *tmp_bufs;
-
- if (!sshAuth)
- return 0;
-
- tmp_bufs = new struct iovec[num_bufs];
- va_start(argp, num_bufs);
- for (i = 0; i < num_bufs; i++) {
- para = va_arg(argp, char *);
- para_len = va_arg(argp, int);
- tmp_bufs[i].iov_base = para;
- tmp_bufs[i].iov_len = para_len;
- }
- va_end(argp);
- rc = verify_data(key, keylen, tmp_bufs, num_bufs, sigbufs);
- delete []tmp_bufs;
-
- return rc;
-}
-
-int SshFunc::set_user_token(struct iovec *token)
-{
- if (!sshAuth)
- return 0;
-
- free_id_token(&user_token);
- user_token.iov_len = token->iov_len;
- user_token.iov_base = new char [token->iov_len];
- memcpy(user_token.iov_base, token->iov_base, token->iov_len);
- get_key_from_token(NULL, &user_token, session_key, &key_len);
-
- return 0;
-}
-
-int SshFunc::set_session_key(struct iovec *sskey)
-{
- if (!sshAuth)
- return 0;
-
- key_len = sskey->iov_len;
- memcpy(session_key, sskey->iov_base, key_len);
-
- return 0;
-}
-#else
-int SshFunc::load(char *libPath)
-{
- return 0;
-}
-
-int SshFunc::get_id_token(char *tname, char *thost, psec_idbuf_t idtok)
-{
- return 0;
-}
-
-int SshFunc::verify_id_token(char *uname, psec_idbuf_t idtok)
-{
- return 0;
-}
-
-int SshFunc::get_id_from_token(psec_idbuf_t idtok, char *usrid, size_t *usridlen)
-{
- return 0;
-}
-
-int SshFunc::free_id_token(psec_idbuf_t id)
-{
- return 0;
-}
-
-int SshFunc::get_key_from_token(char *uname, psec_idbuf_t idtok , char *key, size_t *keylen)
-{
- return 0;
-}
-
-int SshFunc::sign_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
-{
- return 0;
-}
-
-int SshFunc::verify_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
-{
- return 0;
-}
-
-int SshFunc::free_signature(struct iovec *sigbufs)
-{
- return 0;
-}
-
-int SshFunc::sign_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
-{
- return 0;
-}
-
-int SshFunc::verify_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
-{
- return 0;
-}
-
-int SshFunc::set_session_key(struct iovec *sskey)
-{
- return 0;
-}
-
-int SshFunc::set_user_token(struct iovec *token)
-{
- return 0;
-}
-
-int SshFunc::sign_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
-{
- return 0;
-}
-
-int SshFunc::verify_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs)
-{
- return 0;
-}
-
-int SshFunc::sign_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
-{
- return 0;
-}
-
-int SshFunc::verify_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs)
-{
- return 0;
-}
-
-int SshFunc::sign_data(struct iovec *sigbufs, int num_bufs, ...)
-{
- return 0;
-}
-
-int SshFunc::verify_data(struct iovec *sigbufs, int num_bufs, ...)
-{
- return 0;
-}
-
-int SshFunc::sign_data(char *key, size_t keylen, struct iovec *sigbufs, int num_bufs, ...)
-{
- return 0;
-}
-
-int SshFunc::verify_data(char *key, size_t keylen, struct iovec *sigbufs, int num_bufs, ...)
-{
- return 0;
-}
-
-int SshFunc::sign_data(char *key, size_t klen, struct iovec *sigbufs, char *fmt, ...)
-{
- return 0;
-}
-
-int SshFunc::verify_data(char *key, size_t klen, struct iovec *sigbufs, char *fmt, ...)
-{
- return 0;
-}
-
-#endif
diff --git a/tools/sci/org.eclipse.ptp.sci/common/sshfunc.hpp b/tools/sci/org.eclipse.ptp.sci/common/sshfunc.hpp
deleted file mode 100644
index 12ee311..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/sshfunc.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: SshFunc
-
- Description: ssh functions
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D16661)
-
-****************************************************************************/
-#ifndef _SSHFUNC_H_
-#define _SSHFUNC_H_
-
-#include <stdlib.h>
-
-#include "psec.h"
-
-class SshFunc
-{
- public:
- typedef int (psec_set_auth_module_hndlr)(char *, char *, char *, unsigned int *);
- typedef int (psec_get_id_token_hndlr)(unsigned int, char *, char *, psec_idbuf_t);
- typedef int (psec_verify_id_token_hndlr)(unsigned int, char *, psec_idbuf_t);
- typedef int (psec_get_id_from_token_hndlr)(unsigned int, psec_idbuf_t, char *, size_t *);
- typedef int (psec_free_id_token_hndlr)(unsigned int, psec_idbuf_t);
- typedef int (psec_get_key_from_token_hndlr)(unsigned int, char *, psec_idbuf_t, char *, size_t *);
- typedef int (psec_sign_data_hndlr)(unsigned int, char *, size_t, struct iovec *, int, struct iovec *);
- typedef int (psec_verify_data_hndlr)(unsigned int, char *, size_t, struct iovec *, int, struct iovec *);
- typedef int (psec_free_signature_hndlr)(unsigned int, struct iovec *);
-
- private:
- void *dlopen_file;
- unsigned int mdlhndl;
- char session_key[64];
- size_t key_len;
- struct iovec user_token;
-
- psec_set_auth_module_hndlr *set_auth_module_hndlr;
- psec_get_id_token_hndlr *get_id_token_hndlr;
- psec_verify_id_token_hndlr *verify_id_token_hndlr;
- psec_get_id_from_token_hndlr *get_id_from_token_hndlr;
- psec_free_id_token_hndlr *free_id_token_hndlr;
- psec_get_key_from_token_hndlr *get_key_from_token_hndlr;
- psec_sign_data_hndlr *sign_data_hndlr;
- psec_verify_data_hndlr *verify_data_hndlr;
- psec_free_signature_hndlr * free_signature_hndlr;
-
- private:
- SshFunc();
- static SshFunc *instance;
- int set_auth_module(char *name, char *fpath, char *opts);
- int get_sizes(char *fmt);
- bool sshAuth;
-
- public:
- ~SshFunc();
- static SshFunc *getInstance();
- int load(char *libPath = NULL);
-
- char *get_session_key() { return session_key; }
- size_t get_key_len() {return key_len; }
- int get_id_token(char *tname, char *thost, psec_idbuf_t idtok);
- int verify_id_token(char *uname, psec_idbuf_t idtok);
- int get_id_from_token(psec_idbuf_t idtok, char *usrid, size_t *usridlen);
- int free_id_token(psec_idbuf_t id);
- int get_key_from_token(char *uname, psec_idbuf_t idtok , char *key, size_t *keylen);
- int sign_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs);
- int verify_data(char *key, size_t keylen, struct iovec *inbufs, int num_bufs, struct iovec *sigbufs);
- int free_signature(struct iovec *sigbufs);
-
- int sign_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs);
- int verify_data(char *key, size_t keylen, char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs);
-
- struct iovec & get_token() { return user_token; }
- int set_session_key(struct iovec *sskey);
- int set_user_token(struct iovec *token);
- int sign_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs);
- int verify_data(struct iovec *inbufs, int num_bufs, struct iovec *sigbufs);
- int sign_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs);
- int verify_data(char *bufs[], int sizes[], int num_bufs, struct iovec *sigbufs);
- int sign_data(struct iovec *sigbufs, int num_bufs, ...);
- int verify_data(struct iovec *sigbufs, int num_bufs, ...);
- int sign_data(char *key, size_t keylen, struct iovec *sigbufs, int num_bufs, ...);
- int verify_data(char *key, size_t keylen, struct iovec *sigbufs, int num_bufs, ...);
- int sign_data(char *key, size_t klen, struct iovec *sigbufs, char *fmt, ...);
- int verify_data(char *key, size_t klen, struct iovec *sigbufs, char *fmt, ...);
-};
-
-#define SSHFUNC SshFunc::getInstance()
-#define psec_sign_data(sigbufs, ...) SSHFUNC->sign_data(SSHFUNC->get_session_key(), SSHFUNC->get_key_len(), sigbufs, __VA_ARGS__)
-#define psec_verify_data(sigbufs, ...) SSHFUNC->verify_data(SSHFUNC->get_session_key(), SSHFUNC->get_key_len(), sigbufs, __VA_ARGS__)
-#define psec_free_signature(sign) SSHFUNC->free_signature(sign)
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/stream.cpp b/tools/sci/org.eclipse.ptp.sci/common/stream.cpp
deleted file mode 100644
index a63b242..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/stream.cpp
+++ /dev/null
@@ -1,365 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Stream
-
- Description: Data stream processing.
-
- Author: Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#include "stream.hpp"
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <arpa/inet.h>
-
-#include "socket.hpp"
-
-const int BUFFER_SIZE = 16384;
-const int MAX_NETWORK_SIZE = 1024 * 1024 * 8; // Max length = 8M
-const char END_OF_LINE = '\n';
-
-void endl() {}
-
-Stream::Stream()
- : socket(NULL)
-{
- buffer = new char[BUFFER_SIZE];
- cursor = buffer;
- *cursor = '\0';
-
- readActive = false;
- writeActive = false;
-}
-
-Stream::~Stream()
-{
- if (socket != NULL)
- delete socket;
- delete [] buffer;
-}
-
-int Stream::init(const char *nodeAddr, in_port_t port)
-{
- if (socket != NULL) {
- socket->close(Socket::BOTH);
- } else {
- socket = new Socket();
- }
-
- if ((nodeAddr == NULL) || (port <= 0))
- return -1;
-
- socket->connect(nodeAddr, port);
-
- readActive = true;
- writeActive = true;
-
- return 0;
-}
-
-int Stream::init(int sockfd)
-{
- if (socket != NULL) {
- socket->close(Socket::BOTH);
- } else {
- socket = new Socket();
- }
- socket->setFd(sockfd);
-
- readActive = true;
- writeActive = true;
-
- return 0;
-}
-
-void Stream::read(char *buf, int size)
-{
- int n = 0;
- int count = size;
- char *p = buf;
-
- while (n < size) {
- count = size - n;
- n += socket->recv(p, count);
- p = buf + n;
- }
-}
-
-void Stream::write(const char *buf, int size)
-{
- int len = size; // including '\0' at the end
- int count = len;
- char *p = (char *) buf;
-
- while (len > 0) {
- checkBuffer(len);
- count = (len - BUFFER_SIZE) > 0 ? BUFFER_SIZE : len;
- memcpy(cursor, p, count);
- cursor += count;
- p += count;
- len -= count;
- }
-}
-
-void Stream::stop()
-{
- stopRead();
- stopWrite();
-}
-
-void Stream::stopRead()
-{
- if (readActive) {
- readActive = false;
- socket->close(Socket::READ);
- }
-}
-
-void Stream::stopWrite()
-{
- if (writeActive) {
- writeActive = false;
- socket->close(Socket::WRITE);
- }
-}
-
-bool Stream::isReadActive()
-{
- return readActive;
-}
-
-bool Stream::isWriteActive()
-{
- return writeActive;
-}
-
-Stream & Stream::flush()
-{
- try {
- socket->send(buffer, cursor - buffer);
- } catch (SocketException &e) {
- cursor = buffer;;
- throw;
- } catch (...) {
- cursor = buffer;
- throw;
- }
- cursor = buffer;
-
- return *this;
-}
-
-Stream & Stream::operator >> (char &value)
-{
- read(&value, sizeof(value));
-
- return *this;
-}
-
-Stream & Stream::operator >> (bool &value)
-{
- read((char *)&value, sizeof(value));
-
- return *this;
-}
-
-Stream & Stream::operator >> (int &value)
-{
- read((char *)&value, sizeof(value));
- value = ntohl(value);
-
- return *this;
-}
-
-Stream & Stream::operator >> (long &value)
-{
- int low = 0;
- int high = 0;
- int nbyte;
-
- *this >> nbyte;
- *this >> low;
- nbyte -= sizeof(int);
- if (nbyte != 0) {
- *this >> high;
- }
- value = high << sizeof(int) | low;
-
- return *this;
-}
-
-Stream & Stream::operator >> (char *value)
-{
- int len;
- *this >> len;
- read(value, len);
-
- return *this;
-}
-
-Stream & Stream::operator >> (string &value)
-{
- int len;
- char *buf = NULL;
- *this >> len;
-
- if ((len < 0) || (len > MAX_NETWORK_SIZE))
- throw SocketException(SocketException::NET_ERR_DATA);
-
- buf = new char[len];
- read(buf, len);
- value = buf;
- delete [] buf;
-
- return *this;
-}
-
-Stream & Stream::operator >> (struct iovec &value)
-{
- *this >> (long &)value.iov_len;
- if (value.iov_len > (int)MAX_NETWORK_SIZE)
- throw SocketException(SocketException::NET_ERR_DATA);
-
- if (value.iov_len > 0) {
- value.iov_base = new char[value.iov_len]; // must free it outside
- read((char *)value.iov_base, value.iov_len);
- }
-
- return *this;
-}
-
-Stream & Stream::operator >> (EndOfLine)
-{
- char value;
- *this >> value;
- if (value != END_OF_LINE)
- throw SocketException(SocketException::NET_ERR_DATA);
-
- return *this;
-}
-
-Stream & Stream::operator << (char value)
-{
- checkBuffer(sizeof(value));
- *cursor = value;
- cursor += sizeof(value);
-
- return *this;
-}
-
-Stream & Stream::operator << (bool value)
-{
- checkBuffer(sizeof(value));
- *(bool *)cursor = value;
- cursor += sizeof(value);
-
- return *this;
-}
-
-Stream & Stream::operator << (int value)
-{
- int tmp = htonl(value);
- checkBuffer(sizeof(value));
- memcpy(cursor, &tmp, sizeof(tmp));
- cursor += sizeof(value);
-
- return *this;
-}
-
-Stream & Stream::operator << (long value)
-{
- *this << (int)sizeof(value);
- if (sizeof(long) > sizeof(int)) {
- int low = value << sizeof(int) >> sizeof(int);
- int high = value >> sizeof(int);
- *this << low << high;
- } else {
- *this << (int)value;
- }
-
- return *this;
-}
-
-Stream & Stream::operator << (const char *value)
-{
- int len = ::strlen(value) + 1; // including '\0' at the end
- *this << len;
-
- int count = len;
- char *p = (char *)value;
- while (len > 0) {
- checkBuffer(len);
- count = (len - BUFFER_SIZE) > 0 ? BUFFER_SIZE : len;
- ::memcpy(cursor, p, count);
- cursor += count;
- p += count;
- len -= count;
- }
-
- return *this;
-}
-
-Stream & Stream::operator << (const string &value)
-{
- *this << value.c_str();
-
- return *this;
-}
-
-Stream & Stream::operator << (struct iovec &value)
-{
- long len = (long)value.iov_len;
- int count = len;
- char *p = (char *)value.iov_base;
-
- *this << len;
- while (len > 0) {
- checkBuffer(len);
- count = (len - BUFFER_SIZE) > 0 ? BUFFER_SIZE : len;
- ::memcpy(cursor, p, count);
- cursor += count;
- p += count;
- len -= count;
- }
-
- return *this;
-}
-
-Stream & Stream::operator << (EndOfLine)
-{
- *this << END_OF_LINE;
-
- return flush();
-}
-
-void Stream::checkBuffer(int size)
-{
- if ((cursor - buffer + size) >= BUFFER_SIZE)
- flush();
-}
-
-int Stream::getSocket()
-{
- if (socket != NULL) {
- return socket->getFd();
- } else {
- return -1;
- }
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/common/stream.hpp b/tools/sci/org.eclipse.ptp.sci/common/stream.hpp
deleted file mode 100644
index 09f64bf..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/stream.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Stream
-
- Description: Data stream processing.
-
- Author: Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _STREAM_HPP
-#define _STREAM_HPP
-
-#include <netdb.h>
-#include <netinet/in.h>
-#include <sys/uio.h>
-#include <string>
-
-#include "socket.hpp"
-
-
-using namespace std;
-
-typedef void (EndOfLine)();
-void endl();
-
-class Stream
-{
- private:
- Socket *socket;
- char *buffer;
- char *cursor;
-
- bool readActive;
- bool writeActive;
-
- public:
- Stream();
- ~Stream();
-
- int init(const char *nodeAddr, in_port_t port);
- int init(int sockfd);
- int getSocket();
-
- void read(char *buf, int size);
- void write(const char *buf, int size);
- void stop();
- void stopRead();
- void stopWrite();
- bool isReadActive();
- bool isWriteActive();
- Stream & flush();
-
- Stream & operator >> (char &value);
- Stream & operator >> (bool &value);
- Stream & operator >> (int &value);
- Stream & operator >> (long &value);
- Stream & operator >> (char *value);
- Stream & operator >> (string &value);
- Stream & operator >> (struct iovec &value);
- Stream & operator >> (EndOfLine);
-
- Stream & operator << (char value);
- Stream & operator << (bool value);
- Stream & operator << (int value);
- Stream & operator << (long value);
- Stream & operator << (const char *value);
- Stream & operator << (const string &value);
- Stream & operator << (struct iovec &value);
- Stream & operator << (EndOfLine);
-
- private:
- void checkBuffer(int size);
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/thread.cpp b/tools/sci/org.eclipse.ptp.sci/common/thread.cpp
deleted file mode 100644
index 3322306..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/thread.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Thread, ThreadException
-
- Description: Thread manipulation.
-
- Author: Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#include <assert.h>
-#include <string.h>
-#include <signal.h>
-
-#include "thread.hpp"
-
-using namespace std;
-
-pthread_key_t Thread::key = 0;
-pthread_once_t Thread::once = PTHREAD_ONCE_INIT;
-
-void makeKey()
-{
- pthread_key_create(&(Thread::key), NULL);
-}
-
-void* init(void * pthis)
-{
- Thread *p = (Thread *) pthis;
- void *data = p->getSpecific();
- pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
- pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
- int rc = pthread_once(&(Thread::once), makeKey);
- if (data != NULL) {
- rc = pthread_setspecific(Thread::key, data);
- }
- p->setState(true);
- p->run();
-
- return 0;
-}
-
-Thread::Thread(int hndl)
- : handle(hndl), launched(false), running(false), data(NULL)
-{
-}
-
-Thread::~Thread()
-{
-}
-
-void Thread::start()
-{
- if (!launched) {
- sigset_t sigs_to_block;
- sigset_t old_sigs;
- sigfillset(&sigs_to_block);
- pthread_sigmask(SIG_SETMASK, &sigs_to_block, &old_sigs);
-
- if (pthread_create(&(thread), NULL, init, this) != 0) {
- running = false;
- pthread_sigmask(SIG_SETMASK, &old_sigs, NULL);
- throw ThreadException(ThreadException::ERR_CREATE);
- }
- pthread_sigmask(SIG_SETMASK, &old_sigs, NULL);
- } else {
- throw ThreadException(ThreadException::ERR_LAUNCH);
- }
-}
-
-void Thread::join()
-{
- if (!launched)
- return;
-
- pthread_join(thread, NULL);
- running = false;
-}
-
-void Thread::detach()
-{
- if (launched) {
- pthread_detach(thread);
- } else {
- throw ThreadException(ThreadException::ERR_DETACH);
- }
-}
-
-void Thread::cancel()
-{
- pthread_cancel(thread);
-}
-
-void Thread::setSpecific(void *dat)
-{
- data = dat;
-}
-
-void * Thread::getSpecific()
-{
- return data;
-}
-
-ThreadException::ThreadException(int code) throw()
- : errCode(code)
-{
-}
-
-int ThreadException::getErrCode() const throw()
-{
- return errCode;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/thread.hpp b/tools/sci/org.eclipse.ptp.sci/common/thread.hpp
deleted file mode 100644
index e161042..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/thread.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Thread, ThreadException
-
- Description: Thread manipulation.
-
- Author: Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _THREAD_HPP
-#define _THREAD_HPP
-
-#include <pthread.h>
-
-#include <string>
-#include <vector>
-
-using namespace std;
-
-class Thread
-{
- private:
-
- protected:
- int handle;
- bool launched;
- bool running;
- pthread_t thread;
- void *data;
-
- public:
- static pthread_key_t key;
- static pthread_once_t once;
- Thread(int hndl = 0);
- virtual ~Thread();
-
- void start();
- void join();
- void detach();
- void cancel();
- virtual void run() = 0;
-
- bool isLaunched() { return launched; }
- bool getState() { return running; }
- void setState(bool state) { running = state; launched = true; }
- void setSpecific(void *data);
- void *getSpecific();
-};
-
-class ThreadException
-{
- public:
- enum CODE
- {
- ERR_CREATE,
- ERR_LAUNCH,
- ERR_END,
- ERR_PRIO,
- ERR_LOCK,
- ERR_UNLOCK,
- ERR_SLEEP,
- ERR_DETACH
- };
-
- private:
- int errCode;
-
- public:
- ThreadException(int code) throw();
-
- int getErrCode() const throw();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/tools.cpp b/tools/sci/org.eclipse.ptp.sci/common/tools.cpp
deleted file mode 100644
index c1c5166..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/tools.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Tool functions.
-
- Author: Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
- 11/26/10 ronglli To add config file reading functions
-
-****************************************************************************/
-
-#include "tools.hpp"
-#include <ctype.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <netdb.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <string.h>
-#include <sys/param.h>
-#include <sys/time.h>
-#include <dlfcn.h>
-
-#include <fstream>
-#include "exception.hpp"
-#include "log.hpp"
-
-string SysUtil::itoa(int value)
-{
- static char buffer[32];
- sprintf(buffer, "%d", value);
- return string(buffer);
-}
-
-string SysUtil::lltoa(long long value)
-{
- static char buffer[128];
- sprintf(buffer, "%lld", value);
- return string(buffer);
-}
-
-double SysUtil::microseconds()
-{
- struct timeval time_v;
- ::gettimeofday(&time_v, NULL);
- return time_v.tv_sec * 1e6 + time_v.tv_usec;
-}
-
-void SysUtil::sleep(int usecs)
-{
- struct timespec req;
- req.tv_sec = usecs / 1000000;
- req.tv_nsec = (usecs % 1000000) * 1000;
- ::nanosleep (&req, NULL);
-}
-
-string SysUtil::get_hostname(const char * name)
-{
- string uniquestring;
-
- struct addrinfo hints, *host = NULL;
- memset(&hints, 0, sizeof(struct addrinfo));
- hints.ai_flags = AI_CANONNAME | AI_NUMERICHOST;
- hints.ai_family = AF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
- int rc = ::getaddrinfo(name, NULL, &hints, &host);
- if (rc == EAI_NONAME) {
- hints.ai_flags = AI_CANONNAME;
- rc = ::getaddrinfo(name, NULL, &hints, &host);
- }
- if (rc < 0)
- throw Exception(Exception::GET_ADDR_INFO);
- uniquestring = host->ai_canonname;
- ::freeaddrinfo(host);
-
- return uniquestring;
-}
-
-char* SysUtil::get_path_name(const char *program)
-{
- static char path[MAXPATHLEN];
- sprintf(path, "which %s", program);
- FILE *fp = popen(path, "r");
- if (!fp)
- return NULL;
- path[0] = '\0';
- fscanf(fp, "%s", path);
- pclose(fp);
- if (!path[0]){
- return NULL;
- }
- if (path[0] == '.' && path[1] == '/') {
- char save_path[MAXPATHLEN];
- strcpy(save_path, path);
- strcpy(path, getenv("PWD"));
- strcat(path, save_path + 1);
- }
- return path;
-}
-
-int SysUtil::read_config(const char* var, string & out_val)
-{
-#define FILE_PATH "/etc/sci.conf"
-#define VAR_PATTERN "^([^= ][^= ]*=[^= ][^= ]*)$"
- int rc = -1;
- ifstream fs;
-
- string line;
- size_t pos = 0;
- string word;
- bool found = false;
- string::iterator it;
-
- if (var == NULL) {
- return -1;
- }
-
- fs.open(FILE_PATH);
- if (!fs) {
- return -1;
- }
-
- while(fs) {
- size_t tmpp = 0;
- getline(fs,line);
- for (it = line.begin(); it != line.end(); ){
- if ((*it == ' ') || *it == '\t')
- it = line.erase(it);
- else
- it++;
- }
- if (line.length() == 0){
- continue;
- } else if (line[0] == '#') {
- continue; //The comments line will start with '#'
- }
-
- tmpp = line.find_first_of('#',0);
- pos = line.find_first_of('=',0);
- if ((pos == 0) || (pos == string::npos) || (pos >= tmpp)) { //Skip unused lines
- continue;
- }
-
- word = line.substr(0, pos);
- if (word.compare(var) == 0) {
- pos += 1;
- out_val = line.substr(pos, tmpp-pos); //The contents after '#' is regarded as comments
- found = true;
- break;
- } else {
- continue;
- }
- }
-
- fs.close();
-
- return (found ? 0 : -1);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/common/tools.hpp b/tools/sci/org.eclipse.ptp.sci/common/tools.hpp
deleted file mode 100644
index 0c9be3c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/common/tools.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Tool functions.
-
- Author: Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
- 11/26/10 ronglli To add config file reading functions
-
-****************************************************************************/
-
-#ifndef _TOOLS_HPP
-#define _TOOLS_HPP
-
-#include <string>
-#include <vector>
-
-using namespace std;
-
-class SysUtil
-{
- public:
- static string itoa(int value);
- static string lltoa(long long value);
- static double microseconds();
- static void sleep(int usecs);
-
- static string get_hostname(const char *name);
- static char * get_path_name(const char *program);
- static int read_config(const char* var, string & out_val);
-};
-
-#define NELEMS(array) (sizeof(array) / sizeof(array[0]))
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/compile b/tools/sci/org.eclipse.ptp.sci/compile
deleted file mode 100755
index 1b1d232..0000000
--- a/tools/sci/org.eclipse.ptp.sci/compile
+++ /dev/null
@@ -1,142 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
-
-scriptversion=2005-05-14.22
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey@cygnus.com>.
-#
-# 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 2, 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "compile $scriptversion"
- exit $?
- ;;
-esac
-
-ofile=
-cfile=
-eat=
-
-for arg
-do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we strip `-o arg' only if arg is an object.
- eat=1
- case $2 in
- *.o | *.obj)
- ofile=$2
- ;;
- *)
- set x "$@" -o "$2"
- shift
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- set x "$@" "$1"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
-while true; do
- if mkdir "$lockdir" >/dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
- mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
- mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/tools/sci/org.eclipse.ptp.sci/config.guess b/tools/sci/org.eclipse.ptp.sci/config.guess
deleted file mode 100755
index b79252d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/config.guess
+++ /dev/null
@@ -1,1558 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright 1992-2013 Free Software Foundation, Inc.
-
-timestamp='2013-06-10'
-
-# This file 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 <http://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program. This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-#
-# Originally written by Per Bothner.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-#
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
-
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-case "${UNAME_SYSTEM}" in
-Linux|GNU|GNU/*)
- # If the system lacks a compiler, then just pick glibc.
- # We could probably try harder.
- LIBC=gnu
-
- eval $set_cc_for_build
- cat <<-EOF > $dummy.c
- #include <features.h>
- #if defined(__UCLIBC__)
- LIBC=uclibc
- #elif defined(__dietlibc__)
- LIBC=dietlibc
- #else
- LIBC=gnu
- #endif
- EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- ;;
-esac
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:Bitrig:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
- exitcode=$?
- trap '' 0
- exit $exitcode ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm*:riscos:*:*|arm*:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
- SUN_ARCH="i386"
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH="x86_64"
- fi
- fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[4567])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- case ${UNAME_PROCESSOR} in
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW64*:*)
- echo ${UNAME_MACHINE}-pc-mingw64
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:MSYS*:*)
- echo ${UNAME_MACHINE}-pc-msys
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- 8664:Windows_NT:*)
- echo x86_64-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- aarch64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- aarch64_be:Linux:*:*)
- UNAME_MACHINE=aarch64_be
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- arc:Linux:*:* | arceb:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- else
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_PCS_VFP
- then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
- else
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
- fi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- cris:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
- exit ;;
- crisv32:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
- exit ;;
- frv:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- hexagon:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- i*86:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
- ;;
- or1k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- or32:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- padre:Linux:*:*)
- echo sparc-unknown-linux-${LIBC}
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-${LIBC}
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
- PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
- *) echo hppa-unknown-linux-${LIBC} ;;
- esac
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-${LIBC}
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-${LIBC}
- exit ;;
- ppc64le:Linux:*:*)
- echo powerpc64le-unknown-linux-${LIBC}
- exit ;;
- ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-${LIBC}
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-${LIBC}
- exit ;;
- x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
- # this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
- OS_REL='.3'
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- x86_64:Haiku:*:*)
- echo x86_64-unknown-haiku
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- eval $set_cc_for_build
- if test "$UNAME_PROCESSOR" = unknown ; then
- UNAME_PROCESSOR=powerpc
- fi
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
- fi
- fi
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NEO-?:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSE-*:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
- exit ;;
- x86_64:VMkernel:*:*)
- echo ${UNAME_MACHINE}-unknown-esx
- exit ;;
-esac
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/tools/sci/org.eclipse.ptp.sci/config.h.in b/tools/sci/org.eclipse.ptp.sci/config.h.in
deleted file mode 100644
index eb6452d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/config.h.in
+++ /dev/null
@@ -1,95 +0,0 @@
-/* config.h.in. Generated from configure.in by autoheader. */
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* 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
-
-/* Define to 1 if you have the <openssl/aes.h> header file. */
-#undef HAVE_OPENSSL_AES_H
-
-/* Define to 1 if you have the <openssl/bio.h> header file. */
-#undef HAVE_OPENSSL_BIO_H
-
-/* Define to 1 if you have the <openssl/md5.h> header file. */
-#undef HAVE_OPENSSL_MD5_H
-
-/* Define to 1 if you have the <openssl/pem.h> header file. */
-#undef HAVE_OPENSSL_PEM_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* "define if x86" */
-#undef INTEL_ARCH
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
-#undef LT_OBJDIR
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* "define if ppc" */
-#undef POWER_ARCH
-
-/* "define if enable openssl support" */
-#undef PSEC_OPEN_SSL
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Version number of package */
-#undef VERSION
-
-/* "define if linux" */
-#undef _AIX
-
-/* "define if linux" */
-#undef _LINUX
-
-/* "for debugging" */
-#undef _SCI_DEBUG
-
-/* "define if linux" */
-#undef _SCI_LINUX
diff --git a/tools/sci/org.eclipse.ptp.sci/config.sub b/tools/sci/org.eclipse.ptp.sci/config.sub
deleted file mode 100755
index 8b612ab..0000000
--- a/tools/sci/org.eclipse.ptp.sci/config.sub
+++ /dev/null
@@ -1,1788 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright 1992-2013 Free Software Foundation, Inc.
-
-timestamp='2013-04-24'
-
-# This file 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 <http://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program. This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-
-
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright 1992-2013 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- android-linux)
- os=-linux-android
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze*)
- os=
- basic_machine=$1
- ;;
- -bluegene*)
- os=-cnk
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*178)
- os=-lynxos178
- ;;
- -lynx*5)
- os=-lynxos5
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | aarch64 | aarch64_be \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arceb \
- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
- | avr | avr32 \
- | be32 | be64 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | epiphany \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | hexagon \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
- | le32 | le64 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipsr5900 | mipsr5900el \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | moxie \
- | mt \
- | msp430 \
- | nds32 | nds32le | nds32be \
- | nios | nios2 | nios2eb | nios2el \
- | ns16k | ns32k \
- | open8 \
- | or1k | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle \
- | pyramid \
- | rl78 | rx \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu \
- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
- | ubicom32 \
- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
- | we32k \
- | x86 | xc16x | xstormy16 | xtensa \
- | z8k | z80)
- basic_machine=$basic_machine-unknown
- ;;
- c54x)
- basic_machine=tic54x-unknown
- ;;
- c55x)
- basic_machine=tic55x-unknown
- ;;
- c6x)
- basic_machine=tic6x-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
- ms1)
- basic_machine=mt-unknown
- ;;
-
- strongarm | thumb | xscale)
- basic_machine=arm-unknown
- ;;
- xgate)
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- xscaleeb)
- basic_machine=armeb-unknown
- ;;
-
- xscaleel)
- basic_machine=armel-unknown
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | aarch64-* | aarch64_be-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
- | be32-* | be64-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | hexagon-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
- | le32-* | le64-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
- | microblaze-* | microblazeel-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64octeon-* | mips64octeonel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64r5900-* | mips64r5900el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mips64vr5900-* | mips64vr5900el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64r2-* | mipsisa64r2el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipsr5900-* | mipsr5900el-* \
- | mipstx39-* | mipstx39el-* \
- | mmix-* \
- | mt-* \
- | msp430-* \
- | nds32-* | nds32le-* | nds32be-* \
- | nios-* | nios2-* | nios2eb-* | nios2el-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | open8-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
- | pyramid-* \
- | rl78-* | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
- | tahoe-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tile*-* \
- | tron-* \
- | ubicom32-* \
- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
- | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* \
- | xstormy16-* | xtensa*-* \
- | ymp-* \
- | z8k-* | z80-*)
- ;;
- # Recognize the basic CPU types without company name, with glob match.
- xtensa*)
- basic_machine=$basic_machine-unknown
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- abacus)
- basic_machine=abacus-unknown
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aros)
- basic_machine=i386-pc
- os=-aros
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
- blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- bluegene*)
- basic_machine=powerpc-ibm
- os=-cnk
- ;;
- c54x-*)
- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c55x-*)
- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c6x-*)
- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- cegcc)
- basic_machine=arm-unknown
- os=-cegcc
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
- ;;
- cr16 | cr16-*)
- basic_machine=cr16-unknown
- os=-elf
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- crisv32 | crisv32-* | etraxfs*)
- basic_machine=crisv32-axis
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- crx)
- basic_machine=crx-unknown
- os=-elf
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- os=-dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
- ;;
- m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- microblaze*)
- basic_machine=microblaze-xilinx
- ;;
- mingw64)
- basic_machine=x86_64-pc
- os=-mingw64
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- msys)
- basic_machine=i386-pc
- os=-msys
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- nacl)
- basic_machine=le32-unknown
- os=-nacl
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- neo-tandem)
- basic_machine=neo-tandem
- ;;
- nse-tandem)
- basic_machine=nse-tandem
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- openrisc | openrisc-*)
- basic_machine=or32-unknown
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
- ;;
- parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pc98)
- basic_machine=i386-pc
- ;;
- pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc | ppcbe) basic_machine=powerpc-unknown
- ;;
- ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos | rdos64)
- basic_machine=x86_64-pc
- os=-rdos
- ;;
- rdos32)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sde)
- basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh5el)
- basic_machine=sh5le-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- strongarm-* | thumb-*)
- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tile*)
- basic_machine=$basic_machine-unknown
- os=-linux-gnu
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- xscale-* | xscalee[bl]-*)
- basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- mmix)
- basic_machine=mmix-knuth
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
- ;;
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* | -plan9* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -bitrig* | -openbsd* | -solidbsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-musl* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux-dietlibc)
- os=-linux-dietlibc
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -os400*)
- os=-os400
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -tpf*)
- os=-tpf
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -dicos*)
- os=-dicos
- ;;
- -nacl*)
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- score-*)
- os=-elf
- ;;
- spu-*)
- os=-elf
- ;;
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- hexagon-*)
- os=-elf
- ;;
- tic54x-*)
- os=-coff
- ;;
- tic55x-*)
- os=-coff
- ;;
- tic6x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mep-*)
- os=-elf
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or1k-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
- ;;
- *-ibm)
- os=-aix
- ;;
- *-knuth)
- os=-mmixware
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -cnk*|-aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -os400*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -tpf*)
- vendor=ibm
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/tools/sci/org.eclipse.ptp.sci/configure b/tools/sci/org.eclipse.ptp.sci/configure
deleted file mode 100755
index deb9778..0000000
--- a/tools/sci/org.eclipse.ptp.sci/configure
+++ /dev/null
Binary files differ
diff --git a/tools/sci/org.eclipse.ptp.sci/configure.in b/tools/sci/org.eclipse.ptp.sci/configure.in
deleted file mode 100644
index fe0d0a6..0000000
--- a/tools/sci/org.eclipse.ptp.sci/configure.in
+++ /dev/null
@@ -1,107 +0,0 @@
-# -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.59)
-AC_INIT(SCI, 2.0, ronglli@cn.ibm.com)
-AC_CONFIG_HEADER([config.h])
-AM_INIT_AUTOMAKE(SCI, 2.0)
-
-# Checks for programs.
-AC_PROG_CXX
-AC_PROG_CC
-AC_PROG_LIBTOOL
-AM_PROG_CC_C_O
-
-AC_PREFIX_DEFAULT("/opt/sci")
-
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_BIT=32
-AC_DEFINE(_SCI_DEBUG, 1, "for debugging")
-case "${UNAME_SYSTEM}" in
- Linux)
- AC_DEFINE(_SCI_LINUX, 1, "define if linux")
- AC_DEFINE(_LINUX, 1, "define if linux")
- ;;
- AIX)
- AC_DEFINE(_AIX, 1, "define if linux")
- AC_DEFINE(POWER_ARCH, 1, "define if ppc")
- UNAME_BIT=64
- CC=xlc_r
- ;;
- Darwin)
- # Nothing required yet
- ;;
-esac
-case "${UNAME_MACHINE}" in
- *86*)
- AC_DEFINE(INTEL_ARCH, 1, "define if x86")
- ;;
- *ppc*)
- AC_DEFINE(POWER_ARCH, 1, "define if ppc")
- ;;
-esac
-case "${UNAME_MACHINE}" in
- *64*)
- libdir="\${exec_prefix}/lib64"
- UNAME_BIT=64
- ;;
-esac
-
-AC_MSG_CHECKING([whether to compile with Open SSL support])
-AC_ARG_ENABLE(openssl,
-[ --enable-openssl enable Open SSL client and server support [default is disabled]], [
- if test "$enableval" = yes ; then
- AC_MSG_RESULT(enabled)
- AC_DEFINE(PSEC_OPEN_SSL, 1, "define if enable openssl support")
- openssl=yes
- AC_CHECK_HEADERS([openssl/pem.h openssl/bio.h openssl/md5.h openssl/aes.h])
- else
- openssl=no
- fi
-],[
- openssl=no
-])
-AM_CONDITIONAL(OPEN_SSL, test $openssl = yes)
-AM_CONDITIONAL(SYSTEM_LINUX, test $UNAME_SYSTEM = Linux)
-AM_CONDITIONAL(SYSTEM_AIX, test $UNAME_SYSTEM = AIX)
-AM_CONDITIONAL(SYSTEM_DARWIN, test $UNAME_SYSTEM = Darwin)
-AM_CONDITIONAL(BIT64, test $UNAME_BIT = 64)
-
-
-# Checks for header files.
-# AC_HEADER_STDC
-# AC_HEADER_SYS_WAIT
-# AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stddef.h stdlib.h string.h strings.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h unistd.h])
-
-# Checks for typedefs, structures, and compiler characteristics.
-# AC_HEADER_STDBOOL
-# AC_C_CONST
-# AC_TYPE_PID_T
-# AC_TYPE_SIZE_T
-# AC_HEADER_TIME
-# AC_STRUCT_TM
-# AC_C_VOLATILE
-
-# Checks for library functions.
-# AC_FUNC_FORK
-# AC_PROG_GCC_TRADITIONAL
-# AC_FUNC_MEMCMP
-# AC_FUNC_SELECT_ARGTYPES
-# AC_FUNC_STAT
-# AC_FUNC_STRFTIME
-# AC_FUNC_VPRINTF
-# AC_CHECK_FUNCS([clock_gettime dup2 getcwd gethostname gettimeofday localtime_r memmove memset pow select setenv socket strcasecmp strchr strdup strerror strrchr strstr strtol])
-
-AC_CONFIG_FILES([Makefile
- common/Makefile
- libsci/Makefile
- scia/Makefile
- scid/Makefile
- secmod/Makefile
- usecase/Makefile
- usecase/dsh/Makefile
- usecase/dsh_2/Makefile
- usecase/dsh_filter/Makefile
- usecase/dsh_filter2/Makefile])
-AC_OUTPUT
diff --git a/tools/sci/org.eclipse.ptp.sci/depcomp b/tools/sci/org.eclipse.ptp.sci/depcomp
deleted file mode 100755
index 04701da..0000000
--- a/tools/sci/org.eclipse.ptp.sci/depcomp
+++ /dev/null
@@ -1,530 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2005-07-09.11
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-
-# 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 2, 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
- depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
- DEPDIR directory where to store dependencies.
- depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
- libtool Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "depcomp $scriptversion"
- exit $?
- ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
- exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
- sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags. We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write. Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
- # HP compiler uses -M and no extra arg.
- gccflag=-M
- depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want. Yay! Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff. Hmm.
- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- mv "$tmpdepfile" "$depfile"
- ;;
-
-gcc)
-## There are various ways to get dependency output from gcc. Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-## up in a subdir. Having to rename by hand is ugly.
-## (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-## than renaming).
- if test -z "$gccflag"; then
- gccflag=-MD,
- fi
- "$@" -Wp,"$gccflag$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
- sed -e 's/^[^:]*: / /' \
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header). We avoid this by adding
-## dummy dependencies for each header file. Too bad gcc doesn't do
-## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
-sgi)
- if test "$libtool" = yes; then
- "$@" "-Wp,-MDupdate,$tmpdepfile"
- else
- "$@" -MDupdate "$tmpdepfile"
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
-
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
- echo "$object : \\" > "$depfile"
-
- # Clip off the initial element (the dependent). Don't try to be
- # clever and replace this with sed code, as IRIX sed won't handle
- # lines with more than a fixed number of characters (4096 in
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
- # dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> $depfile
- echo >> $depfile
-
- # The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-aix)
- # The C for AIX Compiler uses -M and outputs the dependencies
- # in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
- # start of each line; $object doesn't have directory information.
- # Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
- if test "$libtool" = yes; then
- "$@" -Wc,-M
- else
- "$@" -M
- fi
- stat=$?
-
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
- fi
-
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
-
- if test -f "$tmpdepfile"; then
- outname="$stripped.o"
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
- # foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
- # foo.o: sub/foo.c ... \
- # sub/foo.h ... \
- # ...
-
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- # Each line is of the form `foo.o: dependent.h',
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
- # Some versions of the HPUX 10.20 sed can't process this invocation
- # correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mecanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-#nosideeffect)
- # This comment above is used by automake to tell side-effect
- # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
- # in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
- "$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-dashXmstdout)
- # This case only exists to satisfy depend.m4. It is never actually
- # run, as this mode is specially recognized in the preamble.
- exit 1
- ;;
-
-makedepend)
- "$@" || exit $?
- # Remove any Libtool call
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
- # X makedepend
- shift
- cleared=no
- for arg in "$@"; do
- case $cleared in
- no)
- set ""; shift
- cleared=yes ;;
- esac
- case "$arg" in
- -D*|-I*)
- set fnord "$@" "$arg"; shift ;;
- # Strip any option that makedepend may not understand. Remove
- # the object too, otherwise makedepend will parse it as a source file.
- -*|$object)
- ;;
- *)
- set fnord "$@" "$arg"; shift ;;
- esac
- done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
- touch "$tmpdepfile"
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile" "$tmpdepfile".bak
- ;;
-
-cpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- cat < "$tmpdepfile" >> "$depfile"
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvisualcpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
- "$@" || exit $?
- IFS=" "
- for arg
- do
- case "$arg" in
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
- esac
- done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-none)
- exec "$@"
- ;;
-
-*)
- echo "Unknown depmode $depmode" 1>&2
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/tools/sci/org.eclipse.ptp.sci/include/Makefile b/tools/sci/org.eclipse.ptp.sci/include/Makefile
deleted file mode 100644
index 38f65a8..0000000
--- a/tools/sci/org.eclipse.ptp.sci/include/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-include ../makefile.define
-
-install: sci.h
- -mkdir -p $(INC_DIR)
- cp sci.h $(INC_DIR)
- ln -sf $(INC_DIR)/sci.h /usr/include/sci.h
-
-clean:
diff --git a/tools/sci/org.eclipse.ptp.sci/include/sci.h b/tools/sci/org.eclipse.ptp.sci/include/sci.h
deleted file mode 100644
index ad8d1e7..0000000
--- a/tools/sci/org.eclipse.ptp.sci/include/sci.h
+++ /dev/null
@@ -1,277 +0,0 @@
-#ifndef _SCI_H
-#define _SCI_H
-/***************************************************************************
-"%Z% %I% %W% %D% %T%\0"
- Name: sci.h
-
- Description:
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
-***************************************************************************/
-
-/*
-** SCI Version 2.0.0.0
-*/
-#define SCI_VERSION 2000
-
-/*
-** SCI Return/Error Codes
-*/
-#define SCI_SUCCESS (0)
-#define SCI_ERR_INVALID_HOSTFILE (-2001)
-#define SCI_ERR_INVALID_ENDTYPE (-2002)
-#define SCI_ERR_INITIALIZE_FAILED (-2003)
-#define SCI_ERR_INVALID_CALLER (-2004)
-#define SCI_ERR_GROUP_NOTFOUND (-2005)
-#define SCI_ERR_FILTER_NOTFOUND (-2006)
-#define SCI_ERR_INVALID_FILTER (-2007)
-#define SCI_ERR_BACKEND_NOTFOUND (-2008)
-#define SCI_ERR_UNKNOWN_INFO (-2009)
-#define SCI_ERR_UNINTIALIZED (-2010)
-#define SCI_ERR_GROUP_PREDEFINED (-2011)
-#define SCI_ERR_GROUP_EMPTY (-2012)
-#define SCI_ERR_INVALID_OPERATOR (-2013)
-#define SCI_ERR_FILTER_PREDEFINED (-2014)
-#define SCI_ERR_POLL_TIMEOUT (-2015)
-#define SCI_ERR_INVALID_JOBKEY (-2016)
-#define SCI_ERR_MODE (-2017)
-#define SCI_ERR_FILTER_ID (-2018)
-#define SCI_ERR_INVALID_SUCCESSOR (-2019)
-#define SCI_ERR_BACKEND_EXISTED (-2020)
-#define SCI_ERR_NO_MEM (-2021)
-#define SCI_ERR_LAUNCH_FAILED (-2022)
-#define SCI_ERR_POLL_INVALID (-2023)
-#define SCI_ERR_INVALID_USER (-2024)
-#define SCI_ERR_INVALID_MODE (-2025)
-#define SCI_ERR_AGENT_NOTFOUND (-2026)
-#define SCI_ERR_VERSION (-2027)
-#define SCI_ERR_SSHAUTH (-2028)
-#define SCI_ERR_EXCEPTION (-2029)
-#define SCI_ERR_MSG (-2030)
-
-#define SCI_ERR_PARENT_BROKEN (-5000)
-#define SCI_ERR_CHILD_BROKEN (-5001)
-#define SCI_ERR_RECOVERED (-5002)
-#define SCI_ERR_RECOVER_FAILED (-5003)
-#define SCI_ERR_DATA (-5004)
-#define SCI_ERR_THREAD (-5005)
-
-/*
-** SCI Structures and typedefs
-*/
-typedef int sci_group_t;
-
-/*
-** SCI Bcast & Upload message handler
-*/
-typedef int (SCI_msg_hndlr)(void *user_param, sci_group_t group, void *buf, int size);
-typedef int (SCI_connect_hndlr)(const char *hostname); // hostname can be a name or an IP address
-
-/*
-** SCI Error message handler
-*/
-typedef int (SCI_err_hndlr)(int err_code, int node_id, int num_bes);
-
-/*
-** SCI Filter message handler
-*/
-typedef int (filter_init_hndlr)(void **user_param);
-typedef int (filter_input_hndlr)(void *user_param, sci_group_t group, void *buf, int size);
-typedef int (filter_term_hndlr)(void *user_param);
-
-/*
-** SCI Predefined groups
-*/
-#define SCI_GROUP_ALL -1
-
-/*
-** SCI Predefined filter IDs
-*/
-#define SCI_FILTER_NULL -1
-
-#pragma enum (int)
-typedef enum {
- SCI_FRONT_END,
- SCI_BACK_END
-} sci_end_type_t;
-
-typedef enum {
- SCI_INTERRUPT,
- SCI_POLLING
-} sci_mode_t;
-#pragma enum (pop)
-
-typedef struct {
- int filter_id;
- char *so_file;
-} sci_filter_info_t;
-
-typedef struct {
- int num;
- sci_filter_info_t *filters;
-} sci_filter_list_t;
-
-typedef struct {
- sci_mode_t mode;
- SCI_msg_hndlr *hndlr;
- void *param;
- SCI_err_hndlr *err_hndlr;
- char *hostfile;
- char *bepath;
- char **beenvp;
- sci_filter_list_t filter_list;
- char **host_list;
- char reserve[64];
-} sci_fe_info_t;
-
-typedef struct {
- sci_mode_t mode;
- SCI_msg_hndlr *hndlr;
- void *param;
- SCI_err_hndlr *err_hndlr;
- char reserve[64];
-} sci_be_info_t;
-
-typedef struct {
- sci_end_type_t type;
- SCI_connect_hndlr *connect_hndlr;
- union {
- sci_fe_info_t fe_info;
- sci_be_info_t be_info;
- } _u;
-#define fe_info _u.fe_info
-#define be_info _u.be_info
- int sci_version;
- int disable_sshauth;
- int enable_recover;
-} sci_info_t;
-
-typedef struct {
- int id;
- char *hostname; /* hostname can be a name or an IP address */
- int level;
-} sci_be_t;
-
-typedef enum {
- SCI_JOB_KEY,
- SCI_NUM_BACKENDS,
- SCI_BACKEND_ID,
- SCI_POLLING_FD,
- SCI_NUM_FILTERS,
- SCI_FILTER_IDLIST,
- SCI_AGENT_ID,
- SCI_NUM_SUCCESSORS,
- SCI_SUCCESSOR_IDLIST,
- SCI_HEALTH_STATUS,
- SCI_AGENT_LEVEL,
- SCI_LISTENER_PORT,
- SCI_PARENT_SOCKFD,
- SCI_NUM_CHILDREN_FDS,
- SCI_CURRENT_VERSION,
- SCI_PIPEWRITE_FD,
- SCI_CHILDREN_FDLIST,
- SCI_NUM_LISTENER_FDS,
- SCI_LISTENER_FDLIST,
- SCI_RECOVER_STATUS
-#define JOB_KEY SCI_JOB_KEY
-#define NUM_BACKENDS SCI_NUM_BACKENDS
-#define BACKEND_ID SCI_BACKEND_ID
-#define POLLING_FD SCI_POLLING_FD
-#define NUM_FILTERS SCI_NUM_FILTERS
-#define FILTER_IDLIST SCI_FILTER_IDLIST
-#define AGENT_ID SCI_AGENT_ID
-#define NUM_SUCCESSORS SCI_NUM_SUCCESSORS
-#define SUCCESSOR_IDLIST SCI_SUCCESSOR_IDLIST
-#define HEALTH_STATUS SCI_HEALTH_STATUS
-#define AGENT_LEVEL SCI_AGENT_LEVEL
-#define LISTENER_PORT SCI_LISTENER_PORT
-#define PARENT_SOCKFD SCI_PARENT_SOCKFD
-#define NUM_CHILDREN_FDS SCI_NUM_CHILDREN_FDS
-#define CURRENT_VERSION SCI_CURRENT_VERSION
-#define PIPEWRITE_FD SCI_PIPEWRITE_FD
-#define CHILDREN_FDLIST SCI_CHILDREN_FDLIST
-#define NUM_LISTENER_FDS SCI_NUM_LISTENER_FDS
-#define LISTENER_FDLIST SCI_LISTENER_FDLIST
-#define RECOVER_STATUS SCI_RECOVER_STATUS
-} sci_query_t;
-
-typedef enum {
- GROUP_MEMBER_NUM,
- GROUP_MEMBER,
- GROUP_SUCCESSOR_NUM,
- GROUP_SUCCESSOR
-} sci_group_query_t;
-
-typedef enum {
- SCI_UNION,
- SCI_INTERSECTION,
- SCI_DIFFERENCE
-} sci_op_t;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
-***************************************************************
-****************** SCI C Externalized API's ******************
-***************************************************************
-*/
-/*
-** SCI Environment setup/terminate/query functions.
-*/
-int SCI_Initialize(sci_info_t *info);
-int SCI_Terminate();
-int SCI_Release();
-int SCI_Parentinfo_update(char * parentAddr, int port);
-int SCI_Parentinfo_wait();
-int SCI_Recover_setmode(int mode);
-
-int SCI_Query(sci_query_t query, void *ret_val);
-int SCI_Query_errchildren(int *num, int **id_list);
-int SCI_Error(int err_code, char *err_msg, int msg_size);
-
-/*
-** SCI Communication functions.
-*/
-int SCI_Bcast(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[]);
-int SCI_Upload(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[]);
-int SCI_Poll(int timeout);
-
-/*
-** SCI Group manipulation functions.
-*/
-int SCI_Group_create(int num_bes, int *be_list, sci_group_t *group);
-int SCI_Group_free(sci_group_t group);
-int SCI_Group_operate(sci_group_t group1, sci_group_t group2,
- sci_op_t op, sci_group_t *newgroup);
-int SCI_Group_operate_ext(sci_group_t group, int num_bes, int *be_list,
- sci_op_t op, sci_group_t *newgroup);
-int SCI_Group_query(sci_group_t group, sci_group_query_t query, void *ret_val);
-
-/*
-** SCI Filter related functions.
-*/
-int SCI_Filter_load(sci_filter_info_t *filter_info);
-int SCI_Filter_unload(int filter_id);
-int SCI_Filter_bcast(int filter_id, int num_successors, int *successor_list, int num_bufs,
- void *bufs[], int sizes[]);
-int SCI_Filter_upload(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[]);
-
-/*
-** SCI Dynamic add/remove back end.
-*/
-int SCI_BE_add(sci_be_t *be);
-int SCI_BE_remove(int be_id);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/install-sh b/tools/sci/org.eclipse.ptp.sci/install-sh
deleted file mode 100755
index 4d4a951..0000000
--- a/tools/sci/org.eclipse.ptp.sci/install-sh
+++ /dev/null
@@ -1,323 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2005-05-14.22
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-chmodcmd="$chmodprog 0755"
-chowncmd=
-chgrpcmd=
-stripcmd=
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=
-dst=
-dir_arg=
-dstarg=
-no_target_directory=
-
-usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
- or: $0 [OPTION]... SRCFILES... DIRECTORY
- or: $0 [OPTION]... -t DIRECTORY SRCFILES...
- or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
--c (ignored)
--d create directories instead of installing files.
--g GROUP $chgrpprog installed files to GROUP.
--m MODE $chmodprog installed files to MODE.
--o USER $chownprog installed files to USER.
--s $stripprog installed files.
--t DIRECTORY install into DIRECTORY.
--T report an error if DSTFILE is a directory.
---help display this help and exit.
---version display version info and exit.
-
-Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
-"
-
-while test -n "$1"; do
- case $1 in
- -c) shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- --help) echo "$usage"; exit $?;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd=$stripprog
- shift
- continue;;
-
- -t) dstarg=$2
- shift
- shift
- continue;;
-
- -T) no_target_directory=true
- shift
- continue;;
-
- --version) echo "$0 $scriptversion"; exit $?;;
-
- *) # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- test -n "$dir_arg$dstarg" && break
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dstarg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dstarg"
- shift # fnord
- fi
- shift # arg
- dstarg=$arg
- done
- break;;
- esac
-done
-
-if test -z "$1"; then
- if test -z "$dir_arg"; then
- echo "$0: no input file specified." >&2
- exit 1
- fi
- # It's OK to call `install-sh -d' without argument.
- # This can happen when creating conditional directories.
- exit 0
-fi
-
-for src
-do
- # Protect names starting with `-'.
- case $src in
- -*) src=./$src ;;
- esac
-
- if test -n "$dir_arg"; then
- dst=$src
- src=
-
- if test -d "$dst"; then
- mkdircmd=:
- chmodcmd=
- else
- mkdircmd=$mkdirprog
- fi
- else
- # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
- # might cause directories to be created, which would be especially bad
- # if $src (and thus $dsttmp) contains '*'.
- if test ! -f "$src" && test ! -d "$src"; then
- echo "$0: $src does not exist." >&2
- exit 1
- fi
-
- if test -z "$dstarg"; then
- echo "$0: no destination specified." >&2
- exit 1
- fi
-
- dst=$dstarg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst ;;
- esac
-
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
- if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dstarg: Is a directory" >&2
- exit 1
- fi
- dst=$dst/`basename "$src"`
- fi
- fi
-
- # This sed command emulates the dirname command.
- dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
-
- # Make sure that the destination directory exists.
-
- # Skip lots of stat calls in the usual case.
- if test ! -d "$dstdir"; then
- defaultIFS='
- '
- IFS="${IFS-$defaultIFS}"
-
- oIFS=$IFS
- # Some sh's can't handle IFS=/ for some reason.
- IFS='%'
- set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
- shift
- IFS=$oIFS
-
- pathcomp=
-
- while test $# -ne 0 ; do
- pathcomp=$pathcomp$1
- shift
- if test ! -d "$pathcomp"; then
- $mkdirprog "$pathcomp"
- # mkdir can fail with a `File exist' error in case several
- # install-sh are creating the directory concurrently. This
- # is OK.
- test -d "$pathcomp" || exit
- fi
- pathcomp=$pathcomp/
- done
- fi
-
- if test -n "$dir_arg"; then
- $doit $mkdircmd "$dst" \
- && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
-
- else
- dstfile=`basename "$dst"`
-
- # Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
-
- # Trap to clean up those temp files at exit.
- trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
- trap '(exit $?); exit' 1 2 13 15
-
- # Copy the file name to the temp name.
- $doit $cpprog "$src" "$dsttmp" &&
-
- # and set any options; do chmod last to preserve setuid bits.
- #
- # If any of these fail, we abort the whole thing. If we want to
- # ignore errors from any of these, just make sure not to ignore
- # errors from the above "$doit $cpprog $src $dsttmp" command.
- #
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
-
- # Now rename the file to the real destination.
- { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
- || {
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
-
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- if test -f "$dstdir/$dstfile"; then
- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
- || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
- || {
- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit 1
- }
- else
- :
- fi
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
- }
- }
- fi || { (exit 1); exit 1; }
-done
-
-# The final little trick to "correctly" pass the exit status to the exit trap.
-{
- (exit 0); exit 0
-}
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/.cvsignore b/tools/sci/org.eclipse.ptp.sci/libsci/.cvsignore
deleted file mode 100644
index 6829bc3..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.deps
-Makefile
-.libs
-*.lo
-*.loT
-libsci.la
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.am b/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.am
deleted file mode 100644
index 9b3fe08..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.am
+++ /dev/null
@@ -1,52 +0,0 @@
-AUTOMAKE_OPTIONS=foreign
-SOURCES = \
- allocator.cpp filterproc.cpp message.cpp purifierproc.cpp routinglist.cpp \
- api.cpp eventntf.cpp handlerproc.cpp observer.cpp queue.cpp \
- ctrlblock.cpp filter.cpp initializer.cpp readerproc.cpp topology.cpp launcher.cpp \
- dgroup.cpp filterlist.cpp listener.cpp processor.cpp routerproc.cpp writerproc.cpp \
- embedagent.cpp privatedata.cpp bemap.cpp
-
-noinst_HEADERS = \
- allocator.hpp filterproc.hpp listener.hpp processor.hpp routerproc.hpp writerproc.hpp \
- atomic.hpp eventntf.hpp general.hpp message.hpp purifierproc.hpp routinglist.hpp \
- ctrlblock.hpp filter.hpp handlerproc.hpp observer.hpp queue.hpp embedagent.hpp \
- dgroup.hpp filterlist.hpp initializer.hpp readerproc.hpp topology.hpp privatedata.hpp bemap.hpp
-
-include_HEADERS = ../include/sci.h
-
-OBJECTS = $(addsuffix .o, $(basename $(SOURCES)))
-OBJECTS64 = $(addsuffix .64o, $(basename $(SOURCES)))
-
-if SYSTEM_AIX
-lib_LIBRARIES = libsci_r.a
-
-SCI_CPPFLAGS = -g -O0 -DREENTRANT -D_SCI_DEBUG -I../include -I../common -I../libsci -I../ -I../secmod -qmkshrobj
-libsci_r.a : libsci_r.o libsci64_r.o
- $(AR) -X32_64 -rv $@ $^
-libsci_r.o : $(OBJECTS)
- $(CXX) -q32 $(SCI_CPPFLAGS) -o $@ $^ -L../common -lcmn
-libsci64_r.o : $(OBJECTS64)
- $(CXX) -q64 $(SCI_CPPFLAGS) -o $@ $^ -L../common -lcmn64
-
-%.o: %.cpp
- $(CXX) -q32 -c $(SCI_CPPFLAGS) -o $@ $<
-
-%.64o: %.cpp
- $(CXX) -q64 -c $(SCI_CPPFLAGS) -o $@ $< -D__64BIT__
-
-endif
-if SYSTEM_LINUX
-lib_LTLIBRARIES=libsci.la
-libsci_la_SOURCES = $(SOURCES)
-libsci_la_CPPFLAGS = -g -O0 -I../include -I../common -I../secmod
-if BIT64
-libsci_la_CPPFLAGS += -D__64BIT__
-endif
-libsci_la_LDFLAGS= -L../common -lcmn -lrt -ldl
-endif
-if SYSTEM_DARWIN
-lib_LTLIBRARIES=libsci.la
-libsci_la_SOURCES = $(SOURCES)
-libsci_la_CPPFLAGS = -I../include -I../common -I../secmod
-libsci_la_LDFLAGS= -L../common -lcmn
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.in b/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.in
deleted file mode 100644
index d65217f..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/Makefile.in
+++ /dev/null
@@ -1,881 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@am__append_1 = -D__64BIT__
-subdir = libsci
-DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libdir)" \
- "$(DESTDIR)$(includedir)"
-LIBRARIES = $(lib_LIBRARIES)
-ARFLAGS = cru
-libsci_r_a_AR = $(AR) $(ARFLAGS)
-libsci_r_a_LIBADD =
-libsci_r_a_SOURCES = libsci_r.c
-libsci_r_a_OBJECTS = libsci_r.$(OBJEXT)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-libsci_la_LIBADD =
-am__libsci_la_SOURCES_DIST = allocator.cpp filterproc.cpp message.cpp \
- purifierproc.cpp routinglist.cpp api.cpp eventntf.cpp \
- handlerproc.cpp observer.cpp queue.cpp ctrlblock.cpp \
- filter.cpp initializer.cpp readerproc.cpp topology.cpp \
- launcher.cpp dgroup.cpp filterlist.cpp listener.cpp \
- processor.cpp routerproc.cpp writerproc.cpp embedagent.cpp \
- privatedata.cpp bemap.cpp
-am__objects_1 = libsci_la-allocator.lo libsci_la-filterproc.lo \
- libsci_la-message.lo libsci_la-purifierproc.lo \
- libsci_la-routinglist.lo libsci_la-api.lo \
- libsci_la-eventntf.lo libsci_la-handlerproc.lo \
- libsci_la-observer.lo libsci_la-queue.lo \
- libsci_la-ctrlblock.lo libsci_la-filter.lo \
- libsci_la-initializer.lo libsci_la-readerproc.lo \
- libsci_la-topology.lo libsci_la-launcher.lo \
- libsci_la-dgroup.lo libsci_la-filterlist.lo \
- libsci_la-listener.lo libsci_la-processor.lo \
- libsci_la-routerproc.lo libsci_la-writerproc.lo \
- libsci_la-embedagent.lo libsci_la-privatedata.lo \
- libsci_la-bemap.lo
-@SYSTEM_DARWIN_FALSE@@SYSTEM_LINUX_TRUE@am_libsci_la_OBJECTS = \
-@SYSTEM_DARWIN_FALSE@@SYSTEM_LINUX_TRUE@ $(am__objects_1)
-@SYSTEM_DARWIN_TRUE@am_libsci_la_OBJECTS = $(am__objects_1)
-libsci_la_OBJECTS = $(am_libsci_la_OBJECTS)
-libsci_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(libsci_la_LDFLAGS) $(LDFLAGS) -o $@
-@SYSTEM_DARWIN_TRUE@am_libsci_la_rpath = -rpath $(libdir)
-@SYSTEM_LINUX_TRUE@am_libsci_la_rpath = -rpath $(libdir)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-DIST_SOURCES = libsci_r.c $(am__libsci_la_SOURCES_DIST)
-HEADERS = $(include_HEADERS) $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign
-SOURCES = \
- allocator.cpp filterproc.cpp message.cpp purifierproc.cpp routinglist.cpp \
- api.cpp eventntf.cpp handlerproc.cpp observer.cpp queue.cpp \
- ctrlblock.cpp filter.cpp initializer.cpp readerproc.cpp topology.cpp launcher.cpp \
- dgroup.cpp filterlist.cpp listener.cpp processor.cpp routerproc.cpp writerproc.cpp \
- embedagent.cpp privatedata.cpp bemap.cpp
-
-noinst_HEADERS = \
- allocator.hpp filterproc.hpp listener.hpp processor.hpp routerproc.hpp writerproc.hpp \
- atomic.hpp eventntf.hpp general.hpp message.hpp purifierproc.hpp routinglist.hpp \
- ctrlblock.hpp filter.hpp handlerproc.hpp observer.hpp queue.hpp embedagent.hpp \
- dgroup.hpp filterlist.hpp initializer.hpp readerproc.hpp topology.hpp privatedata.hpp bemap.hpp
-
-include_HEADERS = ../include/sci.h
-OBJECTS = $(addsuffix .o, $(basename $(SOURCES)))
-OBJECTS64 = $(addsuffix .64o, $(basename $(SOURCES)))
-@SYSTEM_AIX_TRUE@lib_LIBRARIES = libsci_r.a
-@SYSTEM_AIX_TRUE@SCI_CPPFLAGS = -g -O0 -DREENTRANT -D_SCI_DEBUG -I../include -I../common -I../libsci -I../ -I../secmod -qmkshrobj
-@SYSTEM_DARWIN_TRUE@lib_LTLIBRARIES = libsci.la
-@SYSTEM_LINUX_TRUE@lib_LTLIBRARIES = libsci.la
-@SYSTEM_DARWIN_TRUE@libsci_la_SOURCES = $(SOURCES)
-@SYSTEM_LINUX_TRUE@libsci_la_SOURCES = $(SOURCES)
-@SYSTEM_DARWIN_TRUE@libsci_la_CPPFLAGS = -I../include -I../common -I../secmod
-@SYSTEM_LINUX_TRUE@libsci_la_CPPFLAGS = -g -O0 -I../include \
-@SYSTEM_LINUX_TRUE@ -I../common -I../secmod $(am__append_1)
-@SYSTEM_DARWIN_TRUE@libsci_la_LDFLAGS = -L../common -lcmn
-@SYSTEM_LINUX_TRUE@libsci_la_LDFLAGS = -L../common -lcmn -lrt -ldl
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libsci/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign libsci/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-libLIBRARIES: $(lib_LIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; }
- @$(POST_INSTALL)
- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- if test -f $$p; then \
- $(am__strip_dir) \
- echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \
- ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \
- else :; fi; \
- done
-
-uninstall-libLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \
- cd "$(DESTDIR)$(libdir)" && rm -f $$files
-
-clean-libLIBRARIES:
- -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
-@SYSTEM_AIX_FALSE@libsci_r.a: $(libsci_r_a_OBJECTS) $(libsci_r_a_DEPENDENCIES)
-@SYSTEM_AIX_FALSE@ -rm -f libsci_r.a
-@SYSTEM_AIX_FALSE@ $(libsci_r_a_AR) libsci_r.a $(libsci_r_a_OBJECTS) $(libsci_r_a_LIBADD)
-@SYSTEM_AIX_FALSE@ $(RANLIB) libsci_r.a
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libsci.la: $(libsci_la_OBJECTS) $(libsci_la_DEPENDENCIES)
- $(libsci_la_LINK) $(am_libsci_la_rpath) $(libsci_la_OBJECTS) $(libsci_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-allocator.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-bemap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-ctrlblock.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-dgroup.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-embedagent.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-eventntf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-filter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-filterlist.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-filterproc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-handlerproc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-initializer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-launcher.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-listener.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-message.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-observer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-privatedata.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-processor.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-purifierproc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-queue.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-readerproc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-routerproc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-routinglist.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-topology.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_la-writerproc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsci_r.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-libsci_la-allocator.lo: allocator.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-allocator.lo -MD -MP -MF $(DEPDIR)/libsci_la-allocator.Tpo -c -o libsci_la-allocator.lo `test -f 'allocator.cpp' || echo '$(srcdir)/'`allocator.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-allocator.Tpo $(DEPDIR)/libsci_la-allocator.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='allocator.cpp' object='libsci_la-allocator.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-allocator.lo `test -f 'allocator.cpp' || echo '$(srcdir)/'`allocator.cpp
-
-libsci_la-filterproc.lo: filterproc.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-filterproc.lo -MD -MP -MF $(DEPDIR)/libsci_la-filterproc.Tpo -c -o libsci_la-filterproc.lo `test -f 'filterproc.cpp' || echo '$(srcdir)/'`filterproc.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-filterproc.Tpo $(DEPDIR)/libsci_la-filterproc.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='filterproc.cpp' object='libsci_la-filterproc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-filterproc.lo `test -f 'filterproc.cpp' || echo '$(srcdir)/'`filterproc.cpp
-
-libsci_la-message.lo: message.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-message.lo -MD -MP -MF $(DEPDIR)/libsci_la-message.Tpo -c -o libsci_la-message.lo `test -f 'message.cpp' || echo '$(srcdir)/'`message.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-message.Tpo $(DEPDIR)/libsci_la-message.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='message.cpp' object='libsci_la-message.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-message.lo `test -f 'message.cpp' || echo '$(srcdir)/'`message.cpp
-
-libsci_la-purifierproc.lo: purifierproc.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-purifierproc.lo -MD -MP -MF $(DEPDIR)/libsci_la-purifierproc.Tpo -c -o libsci_la-purifierproc.lo `test -f 'purifierproc.cpp' || echo '$(srcdir)/'`purifierproc.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-purifierproc.Tpo $(DEPDIR)/libsci_la-purifierproc.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='purifierproc.cpp' object='libsci_la-purifierproc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-purifierproc.lo `test -f 'purifierproc.cpp' || echo '$(srcdir)/'`purifierproc.cpp
-
-libsci_la-routinglist.lo: routinglist.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-routinglist.lo -MD -MP -MF $(DEPDIR)/libsci_la-routinglist.Tpo -c -o libsci_la-routinglist.lo `test -f 'routinglist.cpp' || echo '$(srcdir)/'`routinglist.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-routinglist.Tpo $(DEPDIR)/libsci_la-routinglist.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='routinglist.cpp' object='libsci_la-routinglist.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-routinglist.lo `test -f 'routinglist.cpp' || echo '$(srcdir)/'`routinglist.cpp
-
-libsci_la-api.lo: api.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-api.lo -MD -MP -MF $(DEPDIR)/libsci_la-api.Tpo -c -o libsci_la-api.lo `test -f 'api.cpp' || echo '$(srcdir)/'`api.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-api.Tpo $(DEPDIR)/libsci_la-api.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='api.cpp' object='libsci_la-api.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-api.lo `test -f 'api.cpp' || echo '$(srcdir)/'`api.cpp
-
-libsci_la-eventntf.lo: eventntf.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-eventntf.lo -MD -MP -MF $(DEPDIR)/libsci_la-eventntf.Tpo -c -o libsci_la-eventntf.lo `test -f 'eventntf.cpp' || echo '$(srcdir)/'`eventntf.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-eventntf.Tpo $(DEPDIR)/libsci_la-eventntf.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='eventntf.cpp' object='libsci_la-eventntf.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-eventntf.lo `test -f 'eventntf.cpp' || echo '$(srcdir)/'`eventntf.cpp
-
-libsci_la-handlerproc.lo: handlerproc.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-handlerproc.lo -MD -MP -MF $(DEPDIR)/libsci_la-handlerproc.Tpo -c -o libsci_la-handlerproc.lo `test -f 'handlerproc.cpp' || echo '$(srcdir)/'`handlerproc.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-handlerproc.Tpo $(DEPDIR)/libsci_la-handlerproc.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='handlerproc.cpp' object='libsci_la-handlerproc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-handlerproc.lo `test -f 'handlerproc.cpp' || echo '$(srcdir)/'`handlerproc.cpp
-
-libsci_la-observer.lo: observer.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-observer.lo -MD -MP -MF $(DEPDIR)/libsci_la-observer.Tpo -c -o libsci_la-observer.lo `test -f 'observer.cpp' || echo '$(srcdir)/'`observer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-observer.Tpo $(DEPDIR)/libsci_la-observer.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='observer.cpp' object='libsci_la-observer.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-observer.lo `test -f 'observer.cpp' || echo '$(srcdir)/'`observer.cpp
-
-libsci_la-queue.lo: queue.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-queue.lo -MD -MP -MF $(DEPDIR)/libsci_la-queue.Tpo -c -o libsci_la-queue.lo `test -f 'queue.cpp' || echo '$(srcdir)/'`queue.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-queue.Tpo $(DEPDIR)/libsci_la-queue.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='queue.cpp' object='libsci_la-queue.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-queue.lo `test -f 'queue.cpp' || echo '$(srcdir)/'`queue.cpp
-
-libsci_la-ctrlblock.lo: ctrlblock.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-ctrlblock.lo -MD -MP -MF $(DEPDIR)/libsci_la-ctrlblock.Tpo -c -o libsci_la-ctrlblock.lo `test -f 'ctrlblock.cpp' || echo '$(srcdir)/'`ctrlblock.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-ctrlblock.Tpo $(DEPDIR)/libsci_la-ctrlblock.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='ctrlblock.cpp' object='libsci_la-ctrlblock.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-ctrlblock.lo `test -f 'ctrlblock.cpp' || echo '$(srcdir)/'`ctrlblock.cpp
-
-libsci_la-filter.lo: filter.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-filter.lo -MD -MP -MF $(DEPDIR)/libsci_la-filter.Tpo -c -o libsci_la-filter.lo `test -f 'filter.cpp' || echo '$(srcdir)/'`filter.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-filter.Tpo $(DEPDIR)/libsci_la-filter.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='filter.cpp' object='libsci_la-filter.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-filter.lo `test -f 'filter.cpp' || echo '$(srcdir)/'`filter.cpp
-
-libsci_la-initializer.lo: initializer.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-initializer.lo -MD -MP -MF $(DEPDIR)/libsci_la-initializer.Tpo -c -o libsci_la-initializer.lo `test -f 'initializer.cpp' || echo '$(srcdir)/'`initializer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-initializer.Tpo $(DEPDIR)/libsci_la-initializer.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='initializer.cpp' object='libsci_la-initializer.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-initializer.lo `test -f 'initializer.cpp' || echo '$(srcdir)/'`initializer.cpp
-
-libsci_la-readerproc.lo: readerproc.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-readerproc.lo -MD -MP -MF $(DEPDIR)/libsci_la-readerproc.Tpo -c -o libsci_la-readerproc.lo `test -f 'readerproc.cpp' || echo '$(srcdir)/'`readerproc.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-readerproc.Tpo $(DEPDIR)/libsci_la-readerproc.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='readerproc.cpp' object='libsci_la-readerproc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-readerproc.lo `test -f 'readerproc.cpp' || echo '$(srcdir)/'`readerproc.cpp
-
-libsci_la-topology.lo: topology.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-topology.lo -MD -MP -MF $(DEPDIR)/libsci_la-topology.Tpo -c -o libsci_la-topology.lo `test -f 'topology.cpp' || echo '$(srcdir)/'`topology.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-topology.Tpo $(DEPDIR)/libsci_la-topology.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='topology.cpp' object='libsci_la-topology.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-topology.lo `test -f 'topology.cpp' || echo '$(srcdir)/'`topology.cpp
-
-libsci_la-launcher.lo: launcher.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-launcher.lo -MD -MP -MF $(DEPDIR)/libsci_la-launcher.Tpo -c -o libsci_la-launcher.lo `test -f 'launcher.cpp' || echo '$(srcdir)/'`launcher.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-launcher.Tpo $(DEPDIR)/libsci_la-launcher.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='launcher.cpp' object='libsci_la-launcher.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-launcher.lo `test -f 'launcher.cpp' || echo '$(srcdir)/'`launcher.cpp
-
-libsci_la-dgroup.lo: dgroup.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-dgroup.lo -MD -MP -MF $(DEPDIR)/libsci_la-dgroup.Tpo -c -o libsci_la-dgroup.lo `test -f 'dgroup.cpp' || echo '$(srcdir)/'`dgroup.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-dgroup.Tpo $(DEPDIR)/libsci_la-dgroup.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dgroup.cpp' object='libsci_la-dgroup.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-dgroup.lo `test -f 'dgroup.cpp' || echo '$(srcdir)/'`dgroup.cpp
-
-libsci_la-filterlist.lo: filterlist.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-filterlist.lo -MD -MP -MF $(DEPDIR)/libsci_la-filterlist.Tpo -c -o libsci_la-filterlist.lo `test -f 'filterlist.cpp' || echo '$(srcdir)/'`filterlist.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-filterlist.Tpo $(DEPDIR)/libsci_la-filterlist.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='filterlist.cpp' object='libsci_la-filterlist.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-filterlist.lo `test -f 'filterlist.cpp' || echo '$(srcdir)/'`filterlist.cpp
-
-libsci_la-listener.lo: listener.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-listener.lo -MD -MP -MF $(DEPDIR)/libsci_la-listener.Tpo -c -o libsci_la-listener.lo `test -f 'listener.cpp' || echo '$(srcdir)/'`listener.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-listener.Tpo $(DEPDIR)/libsci_la-listener.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='listener.cpp' object='libsci_la-listener.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-listener.lo `test -f 'listener.cpp' || echo '$(srcdir)/'`listener.cpp
-
-libsci_la-processor.lo: processor.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-processor.lo -MD -MP -MF $(DEPDIR)/libsci_la-processor.Tpo -c -o libsci_la-processor.lo `test -f 'processor.cpp' || echo '$(srcdir)/'`processor.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-processor.Tpo $(DEPDIR)/libsci_la-processor.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='processor.cpp' object='libsci_la-processor.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-processor.lo `test -f 'processor.cpp' || echo '$(srcdir)/'`processor.cpp
-
-libsci_la-routerproc.lo: routerproc.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-routerproc.lo -MD -MP -MF $(DEPDIR)/libsci_la-routerproc.Tpo -c -o libsci_la-routerproc.lo `test -f 'routerproc.cpp' || echo '$(srcdir)/'`routerproc.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-routerproc.Tpo $(DEPDIR)/libsci_la-routerproc.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='routerproc.cpp' object='libsci_la-routerproc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-routerproc.lo `test -f 'routerproc.cpp' || echo '$(srcdir)/'`routerproc.cpp
-
-libsci_la-writerproc.lo: writerproc.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-writerproc.lo -MD -MP -MF $(DEPDIR)/libsci_la-writerproc.Tpo -c -o libsci_la-writerproc.lo `test -f 'writerproc.cpp' || echo '$(srcdir)/'`writerproc.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-writerproc.Tpo $(DEPDIR)/libsci_la-writerproc.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='writerproc.cpp' object='libsci_la-writerproc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-writerproc.lo `test -f 'writerproc.cpp' || echo '$(srcdir)/'`writerproc.cpp
-
-libsci_la-embedagent.lo: embedagent.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-embedagent.lo -MD -MP -MF $(DEPDIR)/libsci_la-embedagent.Tpo -c -o libsci_la-embedagent.lo `test -f 'embedagent.cpp' || echo '$(srcdir)/'`embedagent.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-embedagent.Tpo $(DEPDIR)/libsci_la-embedagent.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='embedagent.cpp' object='libsci_la-embedagent.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-embedagent.lo `test -f 'embedagent.cpp' || echo '$(srcdir)/'`embedagent.cpp
-
-libsci_la-privatedata.lo: privatedata.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-privatedata.lo -MD -MP -MF $(DEPDIR)/libsci_la-privatedata.Tpo -c -o libsci_la-privatedata.lo `test -f 'privatedata.cpp' || echo '$(srcdir)/'`privatedata.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-privatedata.Tpo $(DEPDIR)/libsci_la-privatedata.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='privatedata.cpp' object='libsci_la-privatedata.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-privatedata.lo `test -f 'privatedata.cpp' || echo '$(srcdir)/'`privatedata.cpp
-
-libsci_la-bemap.lo: bemap.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libsci_la-bemap.lo -MD -MP -MF $(DEPDIR)/libsci_la-bemap.Tpo -c -o libsci_la-bemap.lo `test -f 'bemap.cpp' || echo '$(srcdir)/'`bemap.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libsci_la-bemap.Tpo $(DEPDIR)/libsci_la-bemap.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='bemap.cpp' object='libsci_la-bemap.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsci_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libsci_la-bemap.lo `test -f 'bemap.cpp' || echo '$(srcdir)/'`bemap.cpp
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-includeHEADERS: $(include_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
- $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
- done
-
-uninstall-includeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(includedir)" && rm -f $$files
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLIBRARIES clean-libLTLIBRARIES \
- clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-includeHEADERS
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLIBRARIES install-libLTLIBRARIES
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-includeHEADERS uninstall-libLIBRARIES \
- uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLIBRARIES clean-libLTLIBRARIES clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am \
- install-includeHEADERS install-info install-info-am \
- install-libLIBRARIES install-libLTLIBRARIES install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-includeHEADERS uninstall-libLIBRARIES \
- uninstall-libLTLIBRARIES
-
-@SYSTEM_AIX_TRUE@libsci_r.a : libsci_r.o libsci64_r.o
-@SYSTEM_AIX_TRUE@ $(AR) -X32_64 -rv $@ $^
-@SYSTEM_AIX_TRUE@libsci_r.o : $(OBJECTS)
-@SYSTEM_AIX_TRUE@ $(CXX) -q32 $(SCI_CPPFLAGS) -o $@ $^ -L../common -lcmn
-@SYSTEM_AIX_TRUE@libsci64_r.o : $(OBJECTS64)
-@SYSTEM_AIX_TRUE@ $(CXX) -q64 $(SCI_CPPFLAGS) -o $@ $^ -L../common -lcmn64
-
-@SYSTEM_AIX_TRUE@%.o: %.cpp
-@SYSTEM_AIX_TRUE@ $(CXX) -q32 -c $(SCI_CPPFLAGS) -o $@ $<
-
-@SYSTEM_AIX_TRUE@%.64o: %.cpp
-@SYSTEM_AIX_TRUE@ $(CXX) -q64 -c $(SCI_CPPFLAGS) -o $@ $< -D__64BIT__
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/allocator.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/allocator.cpp
deleted file mode 100644
index ed34b05..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/allocator.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Allocator
-
- Description: Allocate global resources.
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 03/03/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include "allocator.hpp"
-#include <assert.h>
-
-#include "atomic.hpp"
-#include "topology.hpp"
-#include "ctrlblock.hpp"
-
-Allocator * Allocator::instance = NULL;
-
-Allocator::Allocator()
-{
-}
-
-Allocator::~Allocator()
-{
-}
-
-void Allocator::reset()
-{
- nextGroupID = SCI_GROUP_ALL - 1;
- nextBEID = gCtrlBlock->getTopology()->getBENum();
-}
-
-Allocator * Allocator::getInstance()
-{
- if (instance == NULL)
- instance = new Allocator();
- return instance;
-}
-
-void Allocator::allocateGroup(sci_group_t * group)
-{
- assert(group);
- *group = fetch_and_add(&nextGroupID, -1);
-}
-
-void Allocator::allocateBE(int * be_id)
-{
- assert(be_id);
- *be_id = fetch_and_add(&nextBEID, 1);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/allocator.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/allocator.hpp
deleted file mode 100644
index 36bc1b0..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/allocator.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Allocator
-
- Description: Allocate global resources.
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 03/03/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _ALLOCATOR_HPP
-#define _ALLOCATOR_HPP
-
-#include "sci.h"
-
-class Allocator
-{
- private:
- int nextGroupID;
- int nextBEID;
-
- Allocator();
- static Allocator *instance;
-
- public:
- ~Allocator();
- static Allocator *getInstance();
-
- void reset();
-
- void allocateGroup(sci_group_t *group);
- void allocateBE(int *be_id);
-};
-
-#define gAllocator Allocator::getInstance()
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/api.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/api.cpp
deleted file mode 100644
index 6c68008..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/api.cpp
+++ /dev/null
@@ -1,910 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: SCI APIs.
-
- Author: Liu Wei, Nicole Nie, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 lwbjcdl Initial code (D153875)
- 01/16/12 ronglli Add codes to detect SOCKET_BROKEN
-
-****************************************************************************/
-
-#include <assert.h>
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-#include <vector>
-#include <sys/socket.h>
-
-#include "sci.h"
-
-#include "tools.hpp"
-#include "log.hpp"
-#include "envvar.hpp"
-#include "packer.hpp"
-
-#include "general.hpp"
-
-#include "message.hpp"
-#include "queue.hpp"
-#include "topology.hpp"
-#include "ctrlblock.hpp"
-#include "routinglist.hpp"
-#include "eventntf.hpp"
-#include "initializer.hpp"
-#include "observer.hpp"
-#include "filter.hpp"
-#include "listener.hpp"
-#include "filterlist.hpp"
-#include "filterproc.hpp"
-#include "routerproc.hpp"
-#include "allocator.hpp"
-#include "sshfunc.hpp"
-#include "exception.hpp"
-
-const char * ErrRetMsg[] = {
- "Succeeded.",
- "Invalid host file.",
- "Invalid end type, can only be SCI_FRONT_END or SCI_BACK_END.",
- "Error occurred when doing the initialization.",
- "The API is called by invalid end type.",
- "Error occurred when searching the group.",
- "Error occurred when searching the filter.",
- "Invalid filter.",
- "Error occurred when searching the backend.",
- "Unknown information.",
- "Uninitialized SCI execution environment.",
- "Can't free predefined group.",
- "The group is an empty group.",
- "Invalid group operator specified.",
- "Can't unload predefined filter.",
- "A polling timeout occurred after timeout milliseconds elapsed",
- "Invalid job key specified by SCI_JOB_KEY.",
- "Can only be used in polling mode.",
- "Invalid filter id",
- "The successor id list contains non-existed successor id.",
- "The back id already existed.",
- "Out of memory.",
- "Failed to launch client(s).",
- "Invalid polling calls.",
- "Invalid user.",
- "Invalid mode.",
- "Error occurred when searching the agent.",
- "Invalid version number.",
- "Error occurred when doing the SSH-based authentication.",
- "Exception occurred",
- "Invalid error message number.",
-
- "The parent is broken.",
- "The child is broken.",
- "Error occurred when doing the recovery.",
- "Recover failed.",
- "Received incorrect data.",
- "Error occurred in the threads.",
-};
-
-SCI_msg_hndlr *gHndlr = NULL;
-void *gParam = NULL;
-// Initialization & Termination
-
-int SCI_Initialize(sci_info_t *info)
-{
- int rc;
- if (gCtrlBlock->getMyRole() != CtrlBlock::INVALID) {
- log_warn("Has already been initialized");
- return SCI_SUCCESS;
- }
-
- rc = gCtrlBlock->init(info);
- if (rc != SCI_SUCCESS)
- return rc;
-
- return gInitializer->init();
-}
-
-int SCI_Terminate()
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- try {
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- Message *msg = new Message();
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 0, NULL, NULL, Message::QUIT);
- gCtrlBlock->getRouterInQueue()->produce(msg);
- }
- gCtrlBlock->term();
-
- delete gNotifier;
- delete gInitializer;
- delete gCtrlBlock;
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- return SCI_SUCCESS;
-}
-
-int SCI_Release()
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID) {
- return SCI_ERR_UNINTIALIZED;
- }
- try {
- int role = gCtrlBlock->getMyRole();
-
- int num_fds = gCtrlBlock->numOfChildrenFds();
- log_debug("there are total %d children", num_fds);
- if (num_fds > 0) {
- int * fd_list = (int *)malloc(num_fds * sizeof(int));
- gCtrlBlock->getChildrenSockfds(fd_list);
- for(int i=0; i < num_fds; i++) {
- log_debug("close child fd %d", fd_list[i]);
- ::shutdown(fd_list[i], SHUT_RDWR);
- ::close(fd_list[i]);
- }
- free(fd_list);
- }
- if (role != CtrlBlock::FRONT_END) {
- if (gInitializer->getInStream() != NULL) {
- int p_fd = gInitializer->getInStream()->getSocket();
- log_debug("close parent fd %d", p_fd);
- ::shutdown(p_fd, SHUT_RDWR);
- ::close(p_fd);
- }
- }
- if (role == CtrlBlock::FRONT_END) {
- Message *msg = new Message();
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 0, NULL, NULL, Message::RELEASE);
- gCtrlBlock->getRouterInQueue()->produce(msg);
- }
- gCtrlBlock->term();
-
- delete gNotifier;
- delete gInitializer;
- delete gCtrlBlock;
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- return SCI_SUCCESS;
-}
-
-int SCI_Parentinfo_update(char * parentAddr, int port)
-{
- int rc = -1;
- if ((NULL == parentAddr) || (port <= 0))
- return SCI_ERR_UNKNOWN_INFO;
-
- if ((gCtrlBlock->getTermState()) || (!gCtrlBlock->getRecoverMode())
- || (!gCtrlBlock->getParentInfoWaitState()))
- return SCI_ERR_INVALID_CALLER;
-
- log_debug("Parentinfo_update: addr = %s, port = %d", parentAddr, port);
- rc = gInitializer->updateParentInfo(parentAddr, port);
- if (rc != SCI_SUCCESS) {
- log_debug("Parentinfo_update: failed to update info, rc = %d", rc);
- return rc;
- }
-
- return SCI_SUCCESS;
-}
-
-int SCI_Parentinfo_wait()
-{
- if ((gCtrlBlock->getTermState()) || (!gCtrlBlock->getRecoverMode()))
- return SCI_ERR_INVALID_CALLER;
-
- gCtrlBlock->setParentInfoWaitState(true);
- log_debug("Parentinfo_wait: set the parentInfoWait state to true");
-
- return SCI_SUCCESS;
-}
-
-int SCI_Recover_setmode(int mode)
-{
- gCtrlBlock->setRecoverMode(mode);
- log_debug("Recover_setmode: set the recover mode to %d", mode);
- return SCI_SUCCESS;
-}
-
-// Information Query
-
-
-int SCI_Query(sci_query_t query, void *ret_val)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if(NULL == ret_val)
- return SCI_ERR_UNKNOWN_INFO;
-
- int *p = (int *) ret_val;
- switch (query)
- {
- case CURRENT_VERSION:
- *p = gCtrlBlock->getVersion();
- break;
- case JOB_KEY:
- *p = gCtrlBlock->getJobKey();
- break;
- case NUM_BACKENDS:
- if(gCtrlBlock->getMyRole() == CtrlBlock::BACK_END)
- return SCI_ERR_INVALID_CALLER;
- *p = gCtrlBlock->getTopology()->getBENum();
- break;
- case BACKEND_ID:
- if((gCtrlBlock->getMyRole() != CtrlBlock::BACK_END)
- && (gCtrlBlock->getMyRole() != CtrlBlock::BACK_AGENT))
- return SCI_ERR_INVALID_CALLER;
- *p = gCtrlBlock->getMyHandle();
- break;
- case POLLING_FD:
- if (gCtrlBlock->getMyRole() == CtrlBlock::AGENT)
- return SCI_ERR_INVALID_CALLER;
- if (!gCtrlBlock->getObserver())
- return SCI_ERR_MODE;
- else
- *p = gCtrlBlock->getObserver()->getPollFd();
- break;
- case PIPEWRITE_FD:
- if (gCtrlBlock->getMyRole() == CtrlBlock::AGENT)
- return SCI_ERR_INVALID_CALLER;
- if (!gCtrlBlock->getObserver())
- return SCI_ERR_MODE;
- else
- *p = gCtrlBlock->getObserver()->getPipeWriteFd();
- break;
- case NUM_FILTERS:
- *p = gCtrlBlock->getFilterList()->numOfFilters();
- break;
- case FILTER_IDLIST:
- gCtrlBlock->getFilterList()->retrieveFilterList(p);
- break;
- case AGENT_ID:
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END)
- return SCI_ERR_INVALID_CALLER;
- *p = gCtrlBlock->getMyHandle();
- break;
- case NUM_SUCCESSORS:
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END)
- return SCI_ERR_INVALID_CALLER;
- *p = gCtrlBlock->getRoutingList()->numOfSuccessor(SCI_GROUP_ALL);
- break;
- case SUCCESSOR_IDLIST:
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END)
- return SCI_ERR_INVALID_CALLER;
- gCtrlBlock->getRoutingList()->retrieveSuccessorList(SCI_GROUP_ALL, p);
- break;
- case HEALTH_STATUS:
- if (gCtrlBlock->isEnabled()) {
- *p = 0; // 0 - normal
- } else {
- *p = 1; // 1 - exited
- }
- break;
- case AGENT_LEVEL:
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END)
- return SCI_ERR_INVALID_CALLER;
- *p = gCtrlBlock->getTopology()->getLevel();
- break;
- case LISTENER_PORT:
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END)
- return SCI_ERR_INVALID_CALLER;
- if (gInitializer->getListener() == NULL)
- return SCI_ERR_INVALID_CALLER;
- *p = gInitializer->getListener()->getBindPort();
- break;
- case NUM_LISTENER_FDS:
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END)
- return SCI_ERR_INVALID_CALLER;
- if (gInitializer->getListener() == NULL)
- return SCI_ERR_INVALID_CALLER;
- *p = gInitializer->getListener()->numOfSockFds();
- break;
- case LISTENER_FDLIST:
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END)
- return SCI_ERR_INVALID_CALLER;
- if (gInitializer->getListener() == NULL)
- return SCI_ERR_INVALID_CALLER;
- gInitializer->getListener()->getSockFds(p);
- break;
- case PARENT_SOCKFD:
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
- *p = gInitializer->getInStream()->getSocket();
- break;
- case NUM_CHILDREN_FDS:
- *p = gCtrlBlock->numOfChildrenFds();
- break;
- case CHILDREN_FDLIST:
- gCtrlBlock->getChildrenSockfds(p);
- break;
- case RECOVER_STATUS:
- if (gCtrlBlock->allActive()) {
- *p = 1;
- } else {
- *p = 0;
- }
- break;
- default:
- return SCI_ERR_UNKNOWN_INFO;
- }
-
- return SCI_SUCCESS;
-}
-
-int SCI_Error(int err_code, char *err_msg, int msg_size)
-{
- if ((err_msg == NULL) || (msg_size <= 0)) {
- return SCI_ERR_NO_MEM;
- }
- memset(err_msg, 0, msg_size);
-
- if (err_code == 0) {
- strncpy(err_msg, ErrRetMsg[err_code], msg_size);
- return SCI_SUCCESS;
- }
-
- if ((err_code <= -2001) && (err_code >= -2030)){
- int index = err_code * (-1) % 2000;
- strncpy(err_msg, ErrRetMsg[index], msg_size);
- return SCI_SUCCESS;
- }
-
- if ((err_code <= -5000) && (err_code >= -5005)){
- int index = err_code * (-1) % 5000;
- strncpy(err_msg, ErrRetMsg[index + 31], msg_size);
- return SCI_SUCCESS;
- }
-
- return SCI_ERR_MSG;
-
-}
-
-int SCI_Query_errchildren(int *num, int **id_list)
-{
- return gCtrlBlock->getErrChildren(num, id_list);
-}
-
-// Communication
-
-int SCI_Bcast(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[])
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
-
- if (group > SCI_GROUP_ALL) {
- if (!gCtrlBlock->getTopology()->hasBE((int)group))
- return SCI_ERR_GROUP_NOTFOUND;
- } else {
- if (!gCtrlBlock->getRoutingList()->isGroupExist(group))
- return SCI_ERR_GROUP_NOTFOUND;
- }
-
- int rc = SCI_SUCCESS;
- rc = gCtrlBlock->checkChildHealthState();
- if (rc != SCI_SUCCESS)
- return rc;
-
- try {
- Message *msg = new Message();
- msg->build(filter_id, group, num_bufs, (char **)bufs, sizes, Message::COMMAND);
- log_debug("Produced a message bcast command, message group=%d, message size=%d",
- (int) group, msg->getContentLen());
- gCtrlBlock->getRouterInQueue()->produce(msg);
- } catch (std::bad_alloc) {
- rc = SCI_ERR_NO_MEM;
- }
-
- return rc;
-}
-
-int SCI_Upload(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[])
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if ((gCtrlBlock->getMyRole() != CtrlBlock::BACK_END)
- && (gCtrlBlock->getMyRole() != CtrlBlock::BACK_AGENT))
- return SCI_ERR_INVALID_CALLER;
-
- try {
- Message *msg = new Message();
- msg->build(filter_id, group, num_bufs, (char **)bufs, sizes, Message::DATA);
- gCtrlBlock->getUpQueue()->produce(msg);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- return SCI_SUCCESS;
-}
-
-int SCI_Poll(int timeout)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::AGENT)
- return SCI_ERR_INVALID_CALLER;
-
- sci_mode_t mode;
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END)
- mode = gCtrlBlock->getEndInfo()->fe_info.mode;
- else
- mode = gCtrlBlock->getEndInfo()->be_info.mode;
- if (mode != SCI_POLLING)
- return SCI_ERR_MODE;
-/*
- if (gCtrlBlock->getPollQueue()->getSize() == 0) {
- // no messages in the polling queue
- // TODO
- return SCI_ERR_POLL_INVALID;
- }
-*/
- int rc = SCI_SUCCESS;
- rc = gCtrlBlock->checkChildHealthState();
- if (rc != SCI_SUCCESS)
- return rc;
-
- Message *msg = gCtrlBlock->getPollQueue()->consume(timeout);
- if (msg) {
- switch(msg->getType()) {
- case Message::COMMAND:
- case Message::DATA:
- try {
- gHndlr(gParam, msg->getGroup(), msg->getContentBuf(), msg->getContentLen());
- } catch (...) {
- // TODO
- }
-
- gCtrlBlock->getObserver()->unnotify();
- break;
- case Message::INVALID_POLL:
- rc = SCI_ERR_POLL_INVALID;
- gCtrlBlock->getObserver()->unnotify();
- break;
- case Message::SOCKET_BROKEN:
- rc = SCI_ERR_CHILD_BROKEN;
- log_debug("SCI_Poll: received msg SOCKET_BROKEN");
- gCtrlBlock->getObserver()->unnotify();
- break;
- case Message::ERROR_DATA:
- rc = SCI_ERR_DATA;
- log_debug("SCI_Poll: received msg ERROR_DATA");
- gCtrlBlock->getObserver()->unnotify();
- break;
- case Message::ERROR_THREAD:
- rc = SCI_ERR_THREAD;
- log_debug("SCI_Poll: received msg ERROR_THREAD");
- gCtrlBlock->getObserver()->unnotify();
- break;
- default:
- rc = SCI_ERR_UNKNOWN_INFO;
- log_error("SCI_Poll: received unknown command");
- gCtrlBlock->getObserver()->unnotify();
- break;
- }
-
- gCtrlBlock->getPollQueue()->remove();
- } else {
- rc = SCI_ERR_POLL_TIMEOUT;
- }
-
- return rc;
-}
-
-// Group
-
-int SCI_Group_create(int num_bes, int * be_list, sci_group_t * group)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
-
- assert(be_list);
- for (int i=0; i<num_bes; i++) {
- if (!gCtrlBlock->getTopology()->hasBE(be_list[i]))
- return SCI_ERR_BACKEND_NOTFOUND;
- }
-
- int msgID;
- try {
- Packer packer;
- packer.packInt(num_bes);
- for (int i=0; i<num_bes; i++) {
- packer.packInt(be_list[i]);
- }
-
- char *bufs[1];
- int sizes[1];
-
- bufs[0] = packer.getPackedMsg();
- sizes[0] = packer.getPackedMsgLen();
- msgID = gNotifier->allocate();
-
- Message *msg = new Message();
- gAllocator->allocateGroup(group);
- msg->build(SCI_FILTER_NULL, *group, 1, bufs, sizes, Message::GROUP_CREATE, msgID);
- delete [] bufs[0];
- gCtrlBlock->getRouterInQueue()->produce(msg);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- int rc;
- gNotifier->freeze(msgID, &rc);
- return rc;
-}
-
-int SCI_Group_free(sci_group_t group)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
-
- if (group>=SCI_GROUP_ALL)
- return SCI_ERR_GROUP_PREDEFINED;
-
- if (!gCtrlBlock->getRoutingList()->isGroupExist(group))
- return SCI_ERR_GROUP_NOTFOUND;
-
- int msgID;
- try {
- Message *msg = new Message();
- msgID = gNotifier->allocate();
- msg->build(SCI_FILTER_NULL, group, 0, NULL, NULL, Message::GROUP_FREE, msgID);
- gCtrlBlock->getRouterInQueue()->produce(msg);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- int rc;
- gNotifier->freeze(msgID, &rc);
- return rc;
-}
-
-int SCI_Group_operate(sci_group_t group1, sci_group_t group2,
- sci_op_t op, sci_group_t *newgroup)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
-
- if (!gCtrlBlock->getRoutingList()->isGroupExist(group1))
- return SCI_ERR_GROUP_NOTFOUND;
-
- if (!gCtrlBlock->getRoutingList()->isGroupExist(group2))
- return SCI_ERR_GROUP_NOTFOUND;
-
- if ((op!=SCI_UNION) && (op!=SCI_INTERSECTION) && (op!=SCI_DIFFERENCE))
- return SCI_ERR_INVALID_OPERATOR;
-
- int msgID;
- try {
- Packer packer;
- packer.packInt((int) op);
- packer.packInt((int) group1);
- packer.packInt((int) group2);
-
- char *bufs[1];
- int sizes[1];
-
- bufs[0] = packer.getPackedMsg();
- sizes[0] = packer.getPackedMsgLen();
- msgID = gNotifier->allocate();
-
- Message *msg = new Message();
- gAllocator->allocateGroup(newgroup);
- msg->build(SCI_FILTER_NULL, *newgroup, 1, bufs, sizes, Message::GROUP_OPERATE, msgID);
- delete [] bufs[0];
- gCtrlBlock->getRouterInQueue()->produce(msg);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- int rc;
- gNotifier->freeze(msgID, &rc);
- return rc;
-}
-
-int SCI_Group_operate_ext(sci_group_t group, int num_bes, int *be_list,
- sci_op_t op, sci_group_t *newgroup)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
-
- if (!gCtrlBlock->getRoutingList()->isGroupExist(group))
- return SCI_ERR_GROUP_NOTFOUND;
-
- assert(be_list);
- for (int i=0; i<num_bes; i++) {
- if (!gCtrlBlock->getTopology()->hasBE(be_list[i]))
- return SCI_ERR_BACKEND_NOTFOUND;
- }
-
- int msgID;
- try {
- Packer packer;
- packer.packInt((int) op);
- packer.packInt((int) group);
- packer.packInt(num_bes);
- for (int i=0; i<num_bes; i++) {
- packer.packInt(be_list[i]);
- }
-
- char *bufs[1];
- int sizes[1];
-
- bufs[0] = packer.getPackedMsg();
- sizes[0] = packer.getPackedMsgLen();
- msgID = gNotifier->allocate();
-
- Message *msg = new Message();
- gAllocator->allocateGroup(newgroup);
- msg->build(SCI_FILTER_NULL, *newgroup, 1, bufs, sizes, Message::GROUP_OPERATE_EXT, msgID);
- delete [] bufs[0];
- gCtrlBlock->getRouterInQueue()->produce(msg);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- int rc;
- gNotifier->freeze(msgID, &rc);
- return rc;
-}
-
-int SCI_Group_query(sci_group_t group, sci_group_query_t query, void *ret_val)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END)
- return SCI_ERR_INVALID_CALLER;
-
- if (!gCtrlBlock->getRoutingList()->isGroupExist(group))
- return SCI_ERR_GROUP_NOTFOUND;
-
- switch(query)
- {
- case GROUP_MEMBER_NUM:
- *((int *) ret_val) = gCtrlBlock->getRoutingList()->numOfBE(group);
- break;
- case GROUP_MEMBER:
- gCtrlBlock->getRoutingList()->retrieveBEList(group, (int *) ret_val);
- break;
- case GROUP_SUCCESSOR_NUM:
- *((int *) ret_val) = gCtrlBlock->getRoutingList()->numOfSuccessor(group);
- break;
- case GROUP_SUCCESSOR:
- gCtrlBlock->getRoutingList()->retrieveSuccessorList(group, (int *) ret_val);
- break;
- default:
- return SCI_ERR_UNKNOWN_INFO;
- }
-
- return SCI_SUCCESS;
-}
-
-
-// Filter
-
-int SCI_Filter_load(sci_filter_info_t *filter_info)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
-
- assert(filter_info);
- if (filter_info->filter_id == SCI_FILTER_NULL)
- return SCI_ERR_FILTER_PREDEFINED;
-
- if (filter_info->filter_id < SCI_FILTER_NULL)
- return SCI_ERR_FILTER_ID;
-
- int msgID;
- try {
- Filter *filter = new Filter(*filter_info);
- Message *msg = filter->packMsg();
- msgID = gNotifier->allocate();
- msg->setID(msgID);
- gCtrlBlock->getRouterInQueue()->produce(msg);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- int rc;
- gNotifier->freeze(msgID, &rc);
- return rc;
-}
-
-int SCI_Filter_unload(int filter_id)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
-
- if (filter_id == SCI_FILTER_NULL)
- return SCI_ERR_FILTER_PREDEFINED;
-
- if (filter_id < SCI_FILTER_NULL)
- return SCI_ERR_FILTER_ID;
-
- int msgID;
- try {
- Message *msg = new Message();
- msgID = gNotifier->allocate();
- msg->build(filter_id, SCI_GROUP_ALL, 0, NULL, NULL, Message::FILTER_UNLOAD, msgID);
- gCtrlBlock->getRouterInQueue()->produce(msg);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- int rc;
- gNotifier->freeze(msgID, &rc);
- return rc;
-}
-
-int SCI_Filter_bcast(int filter_id, int num_successors, int * successor_list, int num_bufs,
- void *bufs[], int sizes[])
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END) {
- return SCI_ERR_INVALID_CALLER;
- }
-
- for (int i=0; i<num_successors; i++) {
- if (!gCtrlBlock->getRoutingList()->isSuccessorExist(successor_list[i]))
- return SCI_ERR_INVALID_SUCCESSOR;
- }
-
- try {
- Message *msg = new Message();
- int nextFilterID = filter_id;
- if (filter_id == SCI_FILTER_NULL) {
- nextFilterID = gCtrlBlock->getRouterProcessor()->getCurFilterID();
- }
- sci_group_t curGroup = gCtrlBlock->getRouterProcessor()->getCurGroup();
- msg->build(nextFilterID, curGroup, num_bufs, (char **)bufs, sizes, Message::COMMAND);
- msg->setRefCount(num_successors);
- gCtrlBlock->getRoutingList()->mcast(msg, successor_list, num_successors);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- return SCI_SUCCESS;
-}
-
-int SCI_Filter_upload(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[])
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END) {
- return SCI_ERR_INVALID_CALLER;
- }
-
- try {
- Filter *filter = NULL;
- if (filter_id != SCI_FILTER_NULL) {
- filter = gCtrlBlock->getFilterList()->getFilter(filter_id);
- }
- int curFilterID = gCtrlBlock->getFilterProcessor()->getCurFilterID();
- Message *msg = new Message();
- msg->build(curFilterID, group, num_bufs, (char **)bufs, sizes, Message::DATA);
- if (filter) {
- filter->input(group, msg->getContentBuf(), msg->getContentLen());
- delete msg;
- } else {
- gCtrlBlock->getFilterProcessor()->deliever(msg);
- }
- } catch (Exception &e) {
- return SCI_ERR_EXCEPTION;
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- return SCI_SUCCESS;
-}
-
-// Dynamic Back End
-
-int SCI_BE_add(sci_be_t *be)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
-
- if (be->id >= 0) { // user-assigned back end id
- if (gCtrlBlock->getTopology()->hasBE(be->id))
- return SCI_ERR_BACKEND_EXISTED;
- } else { // SCI allocated back end id
- gAllocator->allocateBE(&(be->id));
- }
-
- int msgID;
- try {
- Packer packer;
- packer.packStr(be->hostname);
- packer.packInt(be->level);
-
- char *bufs[1];
- int sizes[1];
-
- bufs[0] = packer.getPackedMsg();
- sizes[0] = packer.getPackedMsgLen();
-
- Message *msg = new Message();
- msgID = gNotifier->allocate();
- msg->build(SCI_FILTER_NULL, (sci_group_t) (be->id), 1, bufs, sizes, Message::BE_ADD, msgID);
- delete [] bufs[0];
- gCtrlBlock->getRouterInQueue()->produce(msg);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- int rc;
- gNotifier->freeze(msgID, &rc);
- return rc;
-}
-
-int SCI_BE_remove(int be_id)
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
- return SCI_ERR_UNINTIALIZED;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::FRONT_END)
- return SCI_ERR_INVALID_CALLER;
-
- if (!gCtrlBlock->getTopology()->hasBE(be_id))
- return SCI_ERR_BACKEND_NOTFOUND;
-
- int msgID;
- try {
- Message *msg = new Message();
- msgID = gNotifier->allocate();
- msg->build(SCI_FILTER_NULL, (sci_group_t) be_id, 0, NULL, NULL, Message::BE_REMOVE, msgID);
- gCtrlBlock->getRouterInQueue()->produce(msg);
- } catch (std::bad_alloc) {
- return SCI_ERR_NO_MEM;
- }
-
- int rc;
- gNotifier->freeze(msgID, &rc);
- return rc;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/atomic.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/atomic.hpp
deleted file mode 100644
index 5f551a7..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/atomic.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Atomic operations
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 04/01/09 nieyy Initial code (From LAPI)
-
-****************************************************************************/
-
-#ifndef _ATOMIC_HPP
-#define _ATOMIC_HPP
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <assert.h>
-#include <pthread.h>
-
-#if defined(_SCI_LINUX) // Linux
-
-/**********************************************************************
- *
- * Atomic operations
- *
- **********************************************************************/
-typedef int *atomic_p;
-typedef long long *atomic_l;
-typedef int boolean_t;
-typedef unsigned int uint;
-
-#ifdef POWER_ARCH
-
-/*
- For Power architecture, isync is only necessary when entering a
- critical section to discard any instruction prefetch and possible
- execution on stale data.
-
- It's handy to put it in _check_lock but not other routines.
-*/
-
-static __inline__
-int fetch_and_add(atomic_p dest, int val)
-{
- int old, sum;
- __asm__ __volatile__(
- "1: lwarx %[old], 0, %[dest] \n\t"
- " add %[sum], %[old], %[val] \n\t"
- " stwcx. %[sum], 0, %[dest] \n\t"
- " bne- 1b \n\t"
- : [sum] "=&r" (sum), [old] "=&r" (old)
- : [val] "r" (val), [dest] "r" (dest)
- : "%0", "cc", "memory");
- return old;
-}
-
-#endif /* POWER_ARCH */
-
-#ifdef INTEL_ARCH
-/*
- Note: Inlining cmpxchg2 doesn't generate
- correct code!
- */
-static //__inline__
-boolean_t cmpxchg2(atomic_p dest, int comp, int exch)
-{
- unsigned int old;
- __asm__ __volatile__(
- "lock; cmpxchgl %[exch], %[dest]"
- : [dest] "=m" (*dest), "=a" (old)
- : [exch] "r" (exch), "m" (*dest), "a" (comp)
- : "memory" );
- return (old == comp);
-}
-
-static __inline__
-int fetch_and_add(atomic_p ptr, int val)
-{
- int prev;
- do prev = *ptr;
- while (!cmpxchg2(ptr, prev, (prev+val)));
- return prev;
-}
-
-#endif /* INTEL_ARCH */
-
-#elif defined(__APPLE__)
-#include <libkern/OSAtomic.h>
-typedef int *atomic_p;
-
-/*
- * We need to implement fetch_and_add using a
- * splinlock as the OSAtomicAdd functions return
- * the new value, not the old value.
- */
-static __inline__
-int fetch_and_add(atomic_p ptr, int val) {
- int old_val;
- OSSpinLock lock = 0;
- OSSpinLockLock(&lock);
- old_val = *ptr;
- *ptr += val;
- OSSpinLockUnlock(&lock);
- return old_val;
-}
-
-#else // AIX
-
-#include <sys/atomic_op.h>
-
-#endif
-
-static int decRefCount(int &refCount)
-{
- int count = fetch_and_add(&refCount, -1);
- return (count - 1);
-}
-
-static int incRefCount(int &refCount)
-{
- int count = fetch_and_add(&refCount, 1);
- return (count + 1);
-}
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/bemap.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/bemap.cpp
deleted file mode 100644
index 34be9b5..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/bemap.cpp
+++ /dev/null
@@ -1,504 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
- * Copyright (c) 2008, 2010 IBM Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0s
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
-
-Classes: BEMap
-
-Description: Runtime BEMap.
-
-Author: ronglli
-
-History:
-Date Who ID Description
--------- --- --- -----------
-08/24/12 ronglli Initial code
-
- ****************************************************************************/
-
-#include <stdlib.h>
-#include <regex.h>
-#include <fstream>
-
-#include "sci.h"
-#include "bemap.hpp"
-#include "log.hpp"
-
-#define BEMAP_SUCCESS 0
-#define BEMAP_ERROR -1
-#define BEMAP_FULL (-999999)
-
-#define VALID_REGEX "^[^][%*]*(\\[[0-9]+-[0-9]+(:[0-9]+)?\\]){0,}[^][%*]*([*][0-9]+)?(%\\[(([0-9]+,){0,}[0-9]+|[0-9]+-[0-9]+(:[0-9]+)?)\\])?$"
-
-int BEMap::input(const char *hostlist[], int num)
-{
- int i = 0;
-
- while (hostlist[i] != NULL) {
- if ((num > 0) && (i >= num)) {
- break;
- }
- (*this)[i] = hostlist[i];
- i++;
- }
-
- return SCI_SUCCESS;
-}
-
-int BEMap::input(const char * filename, int num)
-{
- int rc = -1;
- ifstream fs;
- string line;
- size_t pos = -1;
- int max_id, size;
-
- fs.open(filename);
- if (!fs) {
- return SCI_ERR_INVALID_HOSTFILE;;
- }
-
- clear_lineinfo();
- (*this).first_empty = 0;
-
- log_debug("Hostlist is: ");
- while(fs) {
- if ((num > 0) && ((*this).size() >= num)) {
- break;
- }
- getline(fs, line);
- trim_whitespace(line);
- if (line.length() == 0) {
- continue;
- }
- if ((line.find_first_of('!') == 0) || (line.find_first_of('*') == 0)) {
- continue;
- }
-
- rc = isValidForm(line, VALID_REGEX);
- if (rc) {
- return SCI_ERR_INVALID_HOSTFILE;
- }
-
- rc = expand_line(line, num);
- if (rc == BEMAP_FULL) {
- break;
- } else if (rc != BEMAP_SUCCESS){
- return SCI_ERR_INVALID_HOSTFILE;
- }
-
- clear_lineinfo();
- }
- fs.close();
-
- size = (*this).size();
- if (size == 0) {
- log_error("BEMap error: empty host file.");
- return SCI_ERR_INVALID_HOSTFILE;
- }
-
- max_id = ((*this).rbegin())->first;
- if (max_id >= size) {
- log_error("BEMap error: max_id(%d) needs to be smaller than the totalsize(%d)",
- max_id, size);
- return SCI_ERR_INVALID_HOSTFILE;
- }
-
- return SCI_SUCCESS;
-}
-
-int BEMap::trim_whitespace(string & line)
-{
- string::iterator it;
- for (it = line.begin(); it != line.end();) {
- if (isspace(*it))
- it = line.erase(it);
- else
- it++;
- }
- return BEMAP_SUCCESS;
-}
-
-int BEMap::isValidForm(string line, const char * regex)
-{
- int rc = BEMAP_SUCCESS;
- regex_t preg;
-
- if((line.find_first_of('[') == string::npos) && (line.find_first_of('*') == string::npos)) {
- if((line.find_first_of('%') == string::npos) && (line.find_first_of(':') == string::npos))
- return rc;
- }
-
- rc = regcomp(&preg, regex, REG_EXTENDED|REG_NOSUB|REG_NEWLINE);
- if(rc != 0) {
- log_error("regcomp error, line:%s, rc = %d", line.c_str(), rc);
- return BEMAP_ERROR;
- }
-
- rc = regexec(&preg, line.c_str(), 0, 0, 0);
- if(rc != 0) {
- log_error("regex NOT match, line:%s, rc = %d", line.c_str(), rc);
- return BEMAP_ERROR;
- }
- return rc;
-}
-
-int BEMap::generate_host_range()
-{
- if (hostinfo.range_begin == -1) {
- hostinfo.host_cnt = hostinfo.repetition;
- } else {
- int begin;
- begin = hostinfo.range_begin;
- while (begin <= hostinfo.range_end) {
- hostinfo.expanded_range.push_back(begin);
- hostinfo.host_cnt++;
- begin += hostinfo.stride;
- }
- hostinfo.host_cnt *= hostinfo.repetition;
- }
- return BEMAP_SUCCESS;
-}
-
-int BEMap::generate_host_entries()
-{
- int i;
- if (hostinfo.expanded_range.empty()) {
- for (i = 0; i < hostinfo.repetition; i++) {
- hostinfo.host_entries.push_back(hostinfo.front + hostinfo.end);
- }
- } else {
- INT_VEC::iterator iter;
- char buf[128], format[32];
- sprintf(format, "%%0%dd%", hostinfo.range_digits);
- for (iter = hostinfo.expanded_range.begin(); iter != hostinfo.expanded_range.end(); iter++) {
- for (i = 0; i < hostinfo.repetition; i++) {
- sprintf(buf, format, *iter);
- hostinfo.host_entries.push_back(hostinfo.front + buf + hostinfo.end);
- }
- }
- }
- return BEMAP_SUCCESS;
-}
-
-int BEMap::expand_host_range(string range)
-{
- int pos = -1;
- int pos1 = -1;
- string tmps;
-
- pos = range.find_first_of('-');
- tmps = range.substr(0, pos);
- hostinfo.range_begin = atoi(tmps.c_str());
- hostinfo.range_digits = tmps.size();
-
- pos1 = range.find_first_of(':', pos+1);
- if (pos1 == string::npos) {
- tmps = range.substr(pos+1);
- hostinfo.range_end = atoi(tmps.c_str());
- hostinfo.stride = 1;
- } else {
- tmps = range.substr(pos+1, pos1-pos-1);
- hostinfo.range_end = atoi(tmps.c_str());
- tmps = range.substr(pos1+1);
- hostinfo.stride = atoi(tmps.c_str());
- if (hostinfo.stride <= 0) {
- log_error("stride is %d, it must >= 1", hostinfo.stride);
- return BEMAP_ERROR;
- }
- }
-
- if ((hostinfo.range_begin < 0) || hostinfo.range_end < 0) {
- log_error("host part: both left side(%d) & right side(%d) of a range must >= 0",
- hostinfo.range_begin, hostinfo.range_end);
- return BEMAP_ERROR;
- }
- if (hostinfo.range_end < hostinfo.range_begin) {
- log_error("host part: right side(%d) of a range must >= left side (%d) of a range",
- hostinfo.range_end, hostinfo.range_begin);
- return BEMAP_ERROR;
- }
-
- return BEMAP_SUCCESS;
-}
-
-int BEMap::expand_host_region(string hregion)
-{
- int rc = BEMAP_SUCCESS;
- int pos = -1;
- int left = -1;
- int right = -1;
-
- pos = hregion.find_first_of('*');
- if (pos == string::npos) {
- hostinfo.repetition = 1;
- } else {
- string tmps = hregion.substr(pos+1);
- hostinfo.repetition = atoi(tmps.c_str());
- }
-
- if (hostinfo.repetition <= 0) {
- log_error("repetition(%d) of hosts must >= 1", hostinfo.repetition);
- return BEMAP_ERROR;
- }
-
- left = hregion.find_first_of('[');
- right = hregion.find_first_of(']');
-
- if ((left == string::npos) && (right == string::npos)) {
- hostinfo.front = hregion.substr(0, pos);
- hostinfo.end = "";
- hostinfo.stride = 1;
- hostinfo.range_begin = -1;
- hostinfo.range_end = -1;
- } else {
- if ((left == string::npos) || (right == string::npos)) {
- return BEMAP_ERROR;
- }
- hostinfo.front = hregion.substr(0, left);
- if (pos == string::npos) {
- hostinfo.end = hregion.substr(right+1);
- } else {
- hostinfo.end = hregion.substr(right+1, pos-right-1);
- }
- string range = hregion.substr(left+1, right-left-1);
- rc = expand_host_range(range);
- if (rc != 0) {
- return BEMAP_ERROR;
- }
- }
-
- generate_host_range();
- generate_host_entries();
-
- return BEMAP_SUCCESS;
-}
-
-int BEMap::generate_task_range()
-{
- if (taskinfo.range_begin == -1) {
- taskinfo.task_cnt = taskinfo.free_form.size();
- } else {
- int begin;
- begin = taskinfo.range_begin;
- while(begin <= taskinfo.range_end) {
- taskinfo.free_form.push_back(begin);
- taskinfo.task_cnt++;
- begin += taskinfo.stride;
- }
- }
- return BEMAP_SUCCESS;
-}
-
-int BEMap::expand_task_region(string tregion)
-{
- int left = -1;
- int right = -1;
- int pos = -1;
- int pos1 = -1;
- string tmps;
-
- left = tregion.find_first_of('[');
- right = tregion.find_first_of(']');
- if ((left == string::npos) || (right == string::npos)) {
- log_error("task region: it must start with '[' and end with ']'");
- return BEMAP_ERROR;
- }
-
- pos = tregion.find_first_of('-');
- if (pos != string::npos) {
- if ((pos < left) || (pos > right)) {
- log_error("task region: the '-' must be between the '[' and ']'");
- return BEMAP_ERROR;
- }
- tmps = tregion.substr(left+1, pos-left-1);
- taskinfo.range_begin = atoi(tmps.c_str());
- pos1 = tregion.find_first_of(':', pos+1);
- if (pos1 == string::npos) {
- tmps = tregion.substr(pos+1, right-pos-1);
- taskinfo.range_end = atoi(tmps.c_str());
- taskinfo.stride = 1;
- } else {
- tmps = tregion.substr(pos+1, pos1-pos-1);
- taskinfo.range_end = atoi(tmps.c_str());
- tmps = tregion.substr(pos1+1, right-pos1-1);
- taskinfo.stride = atoi(tmps.c_str());
-
- if (taskinfo.stride <= 0) {
- log_error("task part: stride = %d, it must >= 1", taskinfo.stride);
- return BEMAP_ERROR;
- }
-
- if ((taskinfo.range_begin < 0) || (taskinfo.range_end < 0)) {
- log_error("task part: both sides of the range(%d, %d) must >=0",
- taskinfo.range_begin, taskinfo.range_end);
- return BEMAP_ERROR;
- }
-
- if (taskinfo.range_end < taskinfo.range_begin) {
- log_error("task part: right side(%d) of a range must >= left side(%d) of a range",
- taskinfo.range_end, taskinfo.range_begin);
- return BEMAP_ERROR;
- }
- }
- } else {
- int tid;
- int start = left;
-
- pos1 = tregion.find_first_of(',');
- if (pos1 != string::npos) {
- do {
- tmps = tregion.substr(start+1, pos1-start-1);
- tid = atoi(tmps.c_str());
- taskinfo.free_form.push_back(tid);
- start = pos1;
- pos1 = tregion.find_first_of(',', pos1+1);
- } while (pos1 != string::npos);
- }
- tmps = tregion.substr(start+1, right-left-1);
- tid = atoi(tmps.c_str());
- taskinfo.free_form.push_back(tid);
- }
-
- if (generate_task_range() != 0) {
- return BEMAP_ERROR;
- }
-
- return BEMAP_SUCCESS;
-}
-
-int BEMap::update_mapping(int num)
-{
- INT_VEC::iterator t_iter;
- STRING_VEC::iterator h_iter;
-
- if (taskinfo.task_cnt > 0) {
- t_iter = taskinfo.free_form.begin();
- h_iter = hostinfo.host_entries.begin();
- for (; t_iter != taskinfo.free_form.end(); t_iter++, h_iter++) {
- if (*t_iter < 0) {
- log_error("task id(%d) must >= 0", *t_iter);
- return BEMAP_ERROR;
- }
-
- if ((*this).find(*t_iter) != (*this).end()) {
- log_error("error: duplicated task id(%d) for one job", *t_iter);
- return BEMAP_ERROR;
- }
- if ((num > 0) && ((*this).size() >= num)) {
- return BEMAP_FULL;
- }
- (*this)[*t_iter] = *h_iter;
- log_debug("[%d]: %s", *t_iter, (*h_iter).c_str());
- }
- } else {
- for (h_iter = hostinfo.host_entries.begin(); h_iter != hostinfo.host_entries.end(); h_iter++) {
- int index;
- bool found = false;
- int max_id;
- int size = (*this).size();
-
- if ((num > 0) && (size >= num)) {
- return BEMAP_FULL;
- }
- if (size > 0) {
- max_id = ((*this).rbegin())->first;
- for (index = (*this).first_empty; index < max_id; index++) {
- if ((*this).find(index) == (*this).end()) {
- found = true;
- (*this).first_empty = index + 1;
- break;
- }
- }
- if (!found) {
- index = max_id + 1;
- }
- } else {
- index = 0;
- (*this).first_empty = index + 1;
- }
- (*this)[index] = *h_iter;
- log_debug("[%d]: %s", index, (*h_iter).c_str());
- }
- }
-
- return BEMAP_SUCCESS;
-}
-
-int BEMap::expand_line(string line, int num)
-{
- int rc = BEMAP_SUCCESS;
- int pos = -1;
- string host_region;
- string task_region;
-
- pos = line.find_first_of('%');
- if (pos != string::npos) {
- host_region = line.substr(0, pos);
- task_region = line.substr(pos+1);
- } else {
- host_region = line;
- }
-
- rc = expand_host_region(host_region);
- if (rc != 0) {
- return BEMAP_ERROR;
- }
- if (pos != string::npos) {
- rc = expand_task_region(task_region);
- if (rc != 0) {
- return BEMAP_ERROR;
- }
- }
-
- if (taskinfo.task_cnt > 0) {
- if (hostinfo.host_cnt != taskinfo.task_cnt) {
- log_error("host count(%d) and task count(%d) not match, current line:%s",
- hostinfo.host_cnt, taskinfo.task_cnt, line.c_str());
- return BEMAP_ERROR;
- }
- }
- rc = update_mapping(num);
-
- return rc;
-}
-
-int BEMap::clear_lineinfo()
-{
- hostinfo.front.clear();
- hostinfo.end.clear();
- hostinfo.host_cnt = 0;
- hostinfo.repetition = 1;
- hostinfo.stride = 1;
- hostinfo.range_begin = -1;
- hostinfo.range_end = -1;
- hostinfo.range_digits = -1;
- hostinfo.expanded_range.clear();
- hostinfo.host_entries.clear();
-
- taskinfo.task_cnt = 0;
- taskinfo.free_form.clear();
- taskinfo.range_begin = -1;
- taskinfo.range_end = -1;
- taskinfo.stride = 1;
-
- return BEMAP_SUCCESS;
-}
-
-void BEMap::dump_mappings()
-{
- BEMap::iterator iter = (*this).begin();
-
- log_debug("Hostlist is: ");
- for (; iter != (*this).end(); iter++) {
- log_debug("[%d]: %s", iter->first, iter->second.c_str());
- }
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/bemap.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/bemap.hpp
deleted file mode 100644
index 3b01ce6..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/bemap.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: BEMap
-
- Description: Runtime BEMap
-
- Author: ronglli
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 08/24/12 ronglli Initial code
-
-****************************************************************************/
-
-#ifndef _BEMAP_HPP
-#define _BEMAP_HPP
-
-#include <map>
-#include <string>
-#include <vector>
-
-using namespace std;
-
-typedef vector<int> INT_VEC;
-typedef vector<string> STRING_VEC;
-
-typedef struct _host_info
-{
- int host_cnt; /* # of host entries in current line */
- string front; /* string before [..] */
- string end; // string after [..]
- INT_VEC expanded_range; //expanded range of inside [..]
- int repetition; // repetition count after '*'
- int stride; //stride after a range
- int range_begin, range_end, range_digits;
- STRING_VEC host_entries;
-} host_info;
-
-typedef struct _task_info
-{
- int task_cnt;
- INT_VEC free_form;
- int range_begin, range_end;
- int stride;
-} task_info;
-
-class BEMap : public map<int, string>
-{
- private:
- host_info hostinfo; // hostinfo for the current line
- task_info taskinfo; // taskinfo for the current line
- int first_empty;
-
- public:
- int input(const char * filename, int num);
- int input(const char *hostlist[], int num);
-
- int trim_whitespace(string & line);
- int isValidForm(string line, const char * regex);
-
- int generate_host_range();
- int generate_host_entries();
- int expand_host_range(string range);
- int expand_host_region(string hregion);
-
- int generate_task_range();
- int expand_task_region(string tregion);
- int update_mapping(int num);
- void dump_mappings();
- int clear_lineinfo();
- int expand_line(string line, int num);
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/ctrlblock.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/ctrlblock.cpp
deleted file mode 100644
index 9bc89d1..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/ctrlblock.cpp
+++ /dev/null
@@ -1,958 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: CtrlBlock
-
- Description: Internal running information management (Note: STL does not
- guarantee the safety of several readers & one writer cowork
- together, and user threads can query group information at
- runtime, so it's necessary to add a lock to protect these
- read & write operations).
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
- 11/27/10 ronglli Add SCI Version
- 01/16/12 ronglli Add codes to detect SOCKET_BROKEN
- 07/19/12 ronglli Optimize the user query
-
-****************************************************************************/
-
-#include "ctrlblock.hpp"
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-#include <pwd.h>
-#include <errno.h>
-
-#include "stream.hpp"
-#include "exception.hpp"
-#include "group.hpp"
-#include "log.hpp"
-#include "tools.hpp"
-#include "packer.hpp"
-
-#include "eventntf.hpp"
-#include "handlerproc.hpp"
-#include "embedagent.hpp"
-#include "purifierproc.hpp"
-#include "topology.hpp"
-#include "routinglist.hpp"
-#include "privatedata.hpp"
-#include "message.hpp"
-#include "queue.hpp"
-#include "listener.hpp"
-#include "processor.hpp"
-#include "routerproc.hpp"
-#include "filterproc.hpp"
-#include "observer.hpp"
-#include "initializer.hpp"
-
-const long long FLOWCTL_THRESHOLD = 1024 * 1024 * 128LL;
-
-CtrlBlock * CtrlBlock::instance = NULL;
-extern SCI_msg_hndlr *gHndlr;
-extern void *gParam;
-
-CtrlBlock::CtrlBlock()
- : role(INVALID)
-{
- char *envp = NULL;
- version = SCI_VERSION;
- userName = "";
- flowctlState = true;
- childHealthState = HEALTH;
- errChildren.clear();
- cnt_disable = 0;
-
- endInfo = NULL;
-
- routerProc = NULL;
- filterProc = NULL;
- purifierProc = NULL;
- handlerProc = NULL;
- observer = NULL;
-
- routerInQueue = NULL;
- filterInQueue = NULL;
- filterOutQueue = NULL;
- purifierOutQueue = NULL;
- upQueue = NULL;
- pollQueue = NULL;
- monitorInQueue = NULL;
- errorQueue = NULL;
- termState = false; // enter into term state
- recoverMode = 0;
- waitParentInfo = false; //whether to wait for parent info updating
-
- parentStream = NULL;
- embedAgents.clear();
- enableID = gNotifier->allocate();
-
- // flow control threshold
- thresHold = FLOWCTL_THRESHOLD;
- envp = getenv("SCI_FLOWCTL_THRESHOLD");
- if(envp != NULL) {
- thresHold = ::atoll(envp);
- }
-
- envp = ::getenv("SCI_DISABLE_IPV6");
- if (envp && (::strcasecmp(envp, "yes") == 0)) {
- Socket::setDisableIPv6(1);
- }
- envp = ::getenv("SCI_CONNECT_TIMES");
- if (envp != NULL) {
- int cnt = ::atoi(envp);
- if (cnt > 0) {
- Socket::setConnTimes(cnt);
- }
- }
-
- ::pthread_mutex_init(&mtx, NULL);
-}
-
-CtrlBlock::~CtrlBlock()
-{
- instance = NULL;
- ::pthread_mutex_destroy(&mtx);
-}
-
-void CtrlBlock::setRecoverMode(int mo)
-{
- recoverMode = mo;
-}
-
-int CtrlBlock::getRecoverMode()
-{
- return recoverMode;
-}
-
-void CtrlBlock::setTermState(bool mo)
-{
- termState = mo;
-}
-
-bool CtrlBlock::getTermState()
-{
- return termState;
-}
-
-void CtrlBlock::setParentInfoWaitState(bool mo)
-{
- waitParentInfo = mo;
-}
-
-bool CtrlBlock::getParentInfoWaitState()
-{
- return waitParentInfo;
-}
-
-CtrlBlock::ROLE CtrlBlock::getMyRole()
-{
- return role;
-}
-
-void CtrlBlock::setMyRole(CtrlBlock::ROLE ro)
-{
- role = ro;
-}
-
-int CtrlBlock::getMyHandle()
-{
- return handle;
-}
-
-void CtrlBlock::setMyHandle(int hndl)
-{
- handle = hndl;
-}
-
-int CtrlBlock::getMyEmbedHandle()
-{
- return embed_handle;
-}
-
-void CtrlBlock::setMyEmbedHandle(int hndl)
-{
- embed_handle = hndl;
-}
-
-sci_info_t * CtrlBlock::getEndInfo()
-{
- return endInfo;
-}
-
-int CtrlBlock::getJobKey()
-{
- return jobKey;
-}
-
-void CtrlBlock::setJobKey(int key)
-{
- jobKey = key;
-}
-
-int CtrlBlock::initClient(ROLE ro)
-{
- char *envp = ::getenv("SCI_JOB_KEY");
- if (envp != NULL)
- jobKey = ::atoi(envp);
- envp = ::getenv("SCI_CLIENT_ID");
- if (envp != NULL)
- handle = ::atoi(envp);
- role = ro;
-
- return 0;
-}
-
-int CtrlBlock::init(sci_info_t * info)
-{
- char *envp = NULL;
-
- if (info == NULL) {
- initClient(AGENT);
- return SCI_SUCCESS;
- }
- if ((info->sci_version != 0) && (info->sci_version != version)) {
- return SCI_ERR_VERSION;
- }
-
- if (info->disable_sshauth == 1) {
- ::setenv("SCI_ENABLE_SSHAUTH", "no", 1);
- }
-
- if (info->enable_recover == 1) {
- recoverMode = 1;
- }
-
- endInfo = (sci_info_t *) ::malloc(sizeof(sci_info_t));
- if (NULL == endInfo) {
- return SCI_ERR_NO_MEM;
- }
- ::memset(endInfo, 0, sizeof(sci_info_t));
- ::memcpy(endInfo, info, sizeof(sci_info_t));
- gHndlr = info->be_info.hndlr;
- gParam = info->be_info.param;
-
- switch (info->type) {
- case SCI_FRONT_END:
- handle = -1;
- role = FRONT_END;
- envp = ::getenv("SCI_JOB_KEY");
- if (envp) {
- // use user's job key
- jobKey = ::atoi(envp);
- } else {
- // generate a random job key
- ::srand((unsigned int) ::time(NULL));
- jobKey = ::rand();
- }
- break;
- case SCI_BACK_END:
- initClient(BACK_END);
- break;
- default:
- return SCI_ERR_INVALID_ENDTYPE;
- }
-
- return SCI_SUCCESS;
-}
-
-int CtrlBlock::numOfChildrenFds()
-{
- int num = 0;
- RoutingList *rtList = NULL;
-/*
- if (purifierProc) {
- while (!purifierProc->isLaunched()) {
- // before join, this thread should have been launched
- SysUtil::sleep(WAIT_INTERVAL);
- }
- } */
- lock();
- AGENT_MAP::iterator it;
- for (it = embedAgents.begin(); it != embedAgents.end(); it++) {
- rtList = it->second->getRoutingList();
- num += rtList->numOfStreams();
- }
- unlock();
-
- return num;
-}
-
-int CtrlBlock::getChildrenSockfds(int *fds)
-{
- int pos = 0;
- RoutingList *rtList = NULL;
-/*
- if (purifierProc) {
- while (!purifierProc->isLaunched()) {
- // before join, this thread should have been launched
- SysUtil::sleep(WAIT_INTERVAL);
- }
- } */
- lock();
- AGENT_MAP::iterator it;
- for (it = embedAgents.begin(); it != embedAgents.end(); it++) {
- rtList = it->second->getRoutingList();
- pos += rtList->getStreamsSockfds(&fds[pos]);
- }
- unlock();
-
- return pos;
-}
-
-bool CtrlBlock::allRouted()
-{
- bool flag = false;
- int streams = 0;
- int queues = 0;
-
- RoutingList *rtList = NULL;
-
- lock();
- AGENT_MAP::iterator it;
- for (it = embedAgents.begin(); it != embedAgents.end(); it++) {
- rtList = it->second->getRoutingList();
- streams += rtList->numOfStreams();
- queues += rtList->numOfQueues();
- }
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT) {
- flag = (queues == (streams + embedAgents.size())); // queueInfo contains the embed agent itself
- } else {
- flag = (queues == streams);
- }
- unlock();
-
- return flag;
-}
-
-int CtrlBlock::isActiveSockfd(int fd)
-{
- int isSocket = 0;
- RoutingList *rtList = NULL;
-
- lock();
- AGENT_MAP::iterator it;
- for (it = embedAgents.begin(); it != embedAgents.end(); it++) {
- rtList = it->second->getRoutingList();
- isSocket = rtList->isActiveSockfd(fd);
- if (isSocket)
- break;
- }
- Stream * s = gInitializer->getInStream();
- if ((s != NULL) && (s->getSocket() == fd)) {
- if ((s->isReadActive()) || (s->isWriteActive())) {
- isSocket = 1;
- }
- }
- unlock();
-
- return isSocket;
-}
-
-bool CtrlBlock::allActive()
-{
- bool active = true;
- RoutingList *rtList = NULL;
-
- lock();
- AGENT_MAP::iterator it;
- for (it = embedAgents.begin(); it != embedAgents.end(); it++) {
- rtList = it->second->getRoutingList();
- active = rtList->allActive();
- if (!active)
- break;
- }
- unlock();
-
- return active;
-}
-
-void CtrlBlock::term()
-{
- gNotifier->freeze(enableID, NULL);
- termState = true;
- if (purifierProc) {
- purifierProc->release();
- delete purifierProc;
- }
- lock();
- AGENT_MAP::iterator it;
- for (it = embedAgents.begin(); it != embedAgents.end(); it++) {
- delete it->second;
- }
- embedAgents.clear();
- errChildren.clear();
- unlock();
- if (handlerProc) {
- handlerProc->release();
- delete handlerProc;
- }
- clean();
-}
-
-EmbedAgent * CtrlBlock::getAgent(int hndl)
-{
- EmbedAgent *agent;
- lock();
- assert(embedAgents.find(hndl) != embedAgents.end());
- agent = embedAgents[hndl];
- unlock();
-
- return agent;
-}
-
-void CtrlBlock::clean()
-{
- routerProc = NULL;
- filterProc = NULL;
- purifierProc = NULL;
-
- routerInQueue = NULL;
- filterInQueue = NULL;
- filterOutQueue = NULL;
- purifierOutQueue = NULL;
- upQueue = NULL;
- pollQueue = NULL;
- monitorInQueue = NULL;
- errorQueue = NULL;
-
- parentStream = NULL;
-
- if (observer != NULL) {
- delete observer;
- observer = NULL;
- }
-
- role = INVALID;
- if (endInfo) {
- ::free(endInfo);
- endInfo = NULL;
- }
-}
-
-void CtrlBlock::enable()
-{
-}
-
-void CtrlBlock::disable()
-{
- if (!isEnabled())
- return;
-
- lock();
- if (getMyRole() == BACK_AGENT) {
- cnt_disable++;
- if (cnt_disable < (embedAgents.size() + 1)) {
- unlock();
- return;
- }
- }
- unlock();
- gNotifier->notify(enableID);
-}
-
-bool CtrlBlock::isEnabled()
-{
- return gNotifier->getState(enableID);
-}
-
-void CtrlBlock::releasePollQueue()
-{
- // so far, valid for polling mode only
- assert(role != AGENT);
- try {
- if(observer != NULL) {
- observer->notify();
- } else {
- log_error("CtrlBlock: releasePollQueue: observer is NULL");
- }
- if(pollQueue != NULL) {
- Message *msg = new Message(Message::INVALID_POLL);
- pollQueue->produce(msg);
- } else {
- log_error("CtrlBlock: releasePollQueue: pollQueue is NULL");
- }
- } catch (Exception &e) {
- log_error("releasePollQueue: exception %s", e.getErrMsg());
- } catch (std::bad_alloc) {
- log_error("releasePollQueue: out of memory");
- } catch (...) {
- log_error("releasePollQueue: unknown exception");
- }
-}
-
-void CtrlBlock::notifyChildHealthState(int hndl, int hState)
-{
- int num = 0;
- int *cList = NULL;
- bool found = false;
- Message::Type typ = getErrMsgType(hState);
- if (typ == Message::UNKNOWN)
- return;
-
- lock();
- RoutingList *rtList = NULL;
- AGENT_MAP::iterator it;
- for (it = embedAgents.begin(); it != embedAgents.end(); it++) {
- rtList = it->second->getRoutingList();
- if (rtList->isSuccessorExist(hndl)) {
- if (hndl < 0) {
- num = rtList->numOfBEOfSuccessor(hndl);
- assert(num);
- cList = (int *) malloc(num * sizeof(int));
- rtList->retrieveBEListOfSuccessor(hndl, cList);
- } else {
- num = 1;
- cList = (int *) malloc(sizeof(int));
- cList[0] = hndl;
- }
- found = true;
- break;
- }
- }
- if (!found) {
- unlock();
- return;
- }
- assert(cList != NULL);
-
- try {
- for (int i = 0; i < num; i++) {
- errChildren.insert(cList[i]);
- }
-
- // if not fe, it should forward the broken msg to its parent
- if (getMyRole() != FRONT_END) {
- Message *msg = new Message();
- Packer packer;
- packer.packInt(num);
- for (int i = 0; i < num; i++) {
- packer.packInt(cList[i]);
- }
-
- char *bufs[1];
- int sizes[1];
- bufs[0] = packer.getPackedMsg();
- sizes[0] = packer.getPackedMsgLen();
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes, typ);
- delete [] bufs[0];
- getUpQueue()->produce(msg);
- }
-
- // so far, valid for polling mode only
- if (getMyRole() != AGENT) {
- sci_mode_t mode;
- if (getMyRole() == FRONT_END)
- mode = getEndInfo()->fe_info.mode;
- else
- mode = getEndInfo()->be_info.mode;
- if (mode == SCI_POLLING) {
- observer->notify();
- Message *msg = new Message(typ);
- pollQueue->produce(msg);
- }
- }
- } catch (Exception &e) {
- log_error("notifyChildHealthState: exception %s", e.getErrMsg());
- } catch (std::bad_alloc) {
- log_error("notifyChildHealthState: out of memory");
- } catch (...) {
- log_error("notifyChildHealthState: unknown exception");
- }
- unlock();
- setChildHealthState(hState);
- free(cList);
-}
-
-void CtrlBlock::notifyChildHealthState(Message * msg)
-{
- int num = 0;
- int *cList = NULL;
- Message::Type typ = msg->getType();
- int hState = getErrState(typ);
- if (hState == UNKNOWN) {
- delete msg;
- return;
- }
-
- lock();
- // upqueue can be deleted when it is terminating
- if (getTermState()) {
- delete msg;
- unlock();
- return;
- }
-
- Packer packer(msg->getContentBuf());
- num = packer.unpackInt();
- cList = (int *) malloc(num * sizeof(int));
- assert(cList != NULL);
-
- try {
- for (int i = 0; i < num; i++) {
- cList[i] = packer.unpackInt();
- errChildren.insert(cList[i]);
- }
-
- // if not fe, it should forward the broken msg to its parent
- if (getMyRole() != FRONT_END) {
- getUpQueue()->produce(msg);
- } else {
- delete msg;
- }
-
- // so far, valid for polling mode only
- if (getMyRole() != AGENT) {
- sci_mode_t mode;
- if (getMyRole() == FRONT_END)
- mode = getEndInfo()->fe_info.mode;
- else
- mode = getEndInfo()->be_info.mode;
- if (mode == SCI_POLLING) {
- observer->notify();
- Message *tmpmsg = new Message(typ);
- pollQueue->produce(tmpmsg);
- }
- }
- } catch (Exception &e) {
- log_error("notifyChildHealthState: exception %s", e.getErrMsg());
- } catch (std::bad_alloc) {
- log_error("notifyChildHealthState: out of memory");
- } catch (...) {
- log_error("notifyChildHealthState: unknown exception");
- }
- unlock();
- setChildHealthState(hState);
- free(cList);
-}
-
-int CtrlBlock::getErrChildren(int * num, int **list)
-{
- lock();
- ERRORCHILDREN_LIST tmpErrChildren = errChildren;
- unlock();
-
- *num = tmpErrChildren.size();
- *list = (int *) malloc(sizeof(int) * (*num));
- ::memset(*list, 0, sizeof(int) * (*num));
- log_debug("getErrChildren: err Children: size = %d", *num);
-
- ERRORCHILDREN_LIST::iterator it;
- int i = 0;
- for (it = tmpErrChildren.begin(); it != tmpErrChildren.end(); it++) {
- (*list)[i] = *it;
- log_debug("getErrChildren: err Children: list[%d] = %d", i, (*list)[i]);
- i++;
- }
- return 0;
-}
-
-void CtrlBlock::setObserver(Observer *ob)
-{
- observer = ob;
-}
-
-extern void makeKey();
-PrivateData * CtrlBlock::getPrivateData()
-{
- PrivateData *pData = (PrivateData *)pthread_getspecific(Thread::key);
- if (!pData)
- {
- if (!purifierProc) {
- EmbedAgent* agent = getAgent(handle);
- if (!agent)
- return NULL;
- agent->registPrivateData();
- } else {
- pData = new PrivateData(purifierProc->getRoutingList(), purifierProc->getFilterList(), NULL);
- int rc = pthread_once(&(Thread::once), makeKey);
- rc = pthread_setspecific(Thread::key, pData);
- }
- pData = (PrivateData *)pthread_getspecific(Thread::key);
- }
- return pData;
-}
-
-Topology * CtrlBlock::getTopology()
-{
- PrivateData *pData = getPrivateData();
- return pData->getRoutingList()->getTopology();
-}
-
-Observer * CtrlBlock::getObserver() {
- return observer;
-}
-
-void CtrlBlock::setRouterInQueue(MessageQueue * queue)
-{
- routerInQueue = queue;
-}
-
-void CtrlBlock::setFilterInQueue(MessageQueue *queue)
-{
- filterInQueue = queue;
-}
-
-void CtrlBlock::setPollQueue(MessageQueue *queue)
-{
- pollQueue = queue;
-}
-
-void CtrlBlock::setMonitorInQueue(MessageQueue *queue)
-{
- monitorInQueue = queue;
-}
-
-void CtrlBlock::setErrorQueue(MessageQueue *queue)
-{
- errorQueue = queue;
-}
-
-MessageQueue * CtrlBlock::getRouterInQueue()
-{
- return routerInQueue;
-}
-
-MessageQueue * CtrlBlock::getFilterInQueue()
-{
- return filterInQueue;
-}
-
-MessageQueue * CtrlBlock::getPollQueue()
-{
- return pollQueue;
-}
-
-MessageQueue * CtrlBlock::getErrorQueue()
-{
- return errorQueue;
-}
-
-MessageQueue * CtrlBlock::getMonitorInQueue()
-{
- return monitorInQueue;
-}
-
-void CtrlBlock::setRouterProcessor(RouterProcessor *proc)
-{
- routerProc = proc;
-}
-
-void CtrlBlock::setFilterProcessor(FilterProcessor *proc)
-{
- filterProc = proc;
-}
-
-void CtrlBlock::setHandlerProcessor(HandlerProcessor *proc)
-{
- handlerProc = proc;
-}
-
-void CtrlBlock::setPurifierProcessor(PurifierProcessor *proc)
-{
- purifierProc = proc;
-}
-
-void CtrlBlock::setUpQueue(MessageQueue * queue)
-{
- upQueue = queue;
-}
-
-MessageQueue * CtrlBlock::getUpQueue()
-{
- return upQueue;
-}
-
-RouterProcessor * CtrlBlock::getRouterProcessor()
-{
- PrivateData *pData = getPrivateData();
- return pData->getRouterProcessor();
-}
-
-FilterProcessor * CtrlBlock::getFilterProcessor()
-{
- PrivateData *pData = getPrivateData();
- return pData->getFilterProcessor();
-}
-
-FilterList * CtrlBlock::getFilterList()
-{
- PrivateData *pData = getPrivateData();
- return pData->getFilterList();
-}
-
-PurifierProcessor * CtrlBlock::getPurifierProcessor()
-{
- return purifierProc;
-}
-
-void CtrlBlock::setFlowctlThreshold(long long th)
-{
- thresHold = th;
-}
-
-long long CtrlBlock::getFlowctlThreshold()
-{
- return thresHold;
-}
-
-int CtrlBlock::getVersion()
-{
- return version;
-}
-
-int CtrlBlock::setUsername()
-{
- if (userName == "") {
- int rc = 0;
- long size = sysconf(_SC_GETPW_R_SIZE_MAX);
- struct passwd pwd;
- struct passwd *result = NULL;
- char *pwdBuf = new char[size];
- while(1) {
- rc = getpwuid_r(::getuid(), &pwd, pwdBuf, size, &result);
- if ((rc == EINTR) || (rc == EMFILE) || (rc == ENFILE)) {
- SysUtil::sleep(WAIT_INTERVAL);
- continue;
- }
- if (NULL == result) {
- delete []pwdBuf;
- log_error("CtrlBlock: fail to get the user info! errno = %d.", errno);
- return SCI_ERR_INVALID_USER;
- } else {
- break;
- }
- }
- userName = pwd.pw_name;
- delete []pwdBuf;
- }
- return SCI_SUCCESS;
-}
-
-string & CtrlBlock::getUsername()
-{
- return userName;
-}
-
-RoutingList * CtrlBlock::getRoutingList()
-{
- PrivateData *pData = getPrivateData();
- return pData->getRoutingList();
-}
-
-void CtrlBlock::addEmbedAgent(int hndl, EmbedAgent *agent)
-{
- lock();
- embedAgents[hndl] = agent;
- unlock();
-}
-
-void CtrlBlock::lock()
-{
- ::pthread_mutex_lock(&mtx);
-}
-
-void CtrlBlock::unlock()
-{
- ::pthread_mutex_unlock(&mtx);
-}
-
-void CtrlBlock::setFlowctlState(bool state)
-{
- flowctlState = state;
-}
-
-bool CtrlBlock::getFlowctlState()
-{
- return flowctlState;
-}
-
-void CtrlBlock::setChildHealthState(int state)
-{
- childHealthState = state;
-}
-
-int CtrlBlock::checkChildHealthState()
-{
- int rc = SCI_SUCCESS;
- switch (childHealthState) {
- case HEALTH:
- rc = SCI_SUCCESS;
- break;
- case ERROR_CHILD_BROKEN:
- rc = SCI_ERR_CHILD_BROKEN;
- break;
- case ERROR_DATA:
- rc = SCI_ERR_DATA;
- break;
- case ERROR_THREAD:
- rc = SCI_ERR_THREAD;
- break;
- default:
- rc = SCI_ERR_THREAD;
- break;
- }
- return rc;
-}
-
-Message::Type CtrlBlock::getErrMsgType(int hState)
-{
- Message::Type typ;
- switch (hState) {
- case HEALTH:
- case UNKNOWN:
- // If it is in health/unknown state, should not produce notify msg
- typ = Message::UNKNOWN;
- break;
- case ERROR_CHILD_BROKEN:
- typ = Message::SOCKET_BROKEN;
- break;
- case ERROR_DATA:
- typ = Message::ERROR_DATA;
- break;
- case ERROR_THREAD:
- typ = Message::ERROR_THREAD;
- break;
- default:
- typ = Message::ERROR_THREAD;
- break;
- }
- return typ;
-}
-
-int CtrlBlock::getErrState(Message::Type typ)
-{
- int hState;
- switch (typ) {
- case Message::SOCKET_BROKEN:
- hState = ERROR_CHILD_BROKEN;
- break;
- case Message::ERROR_DATA:
- hState = ERROR_DATA;
- break;
- case Message::ERROR_THREAD:
- hState = ERROR_THREAD;
- break;
- default:
- // If it is incorrect msg type
- hState = UNKNOWN;
- break;
- }
- return hState;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/ctrlblock.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/ctrlblock.hpp
deleted file mode 100644
index 13e804b..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/ctrlblock.hpp
+++ /dev/null
@@ -1,234 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: CtrlBlock
-
- Description: Internal running information management (Note: STL does not
- guarantee the safety of several readers & one writer cowork
- together, and user threads can query group information at
- runtime, so it's necessary to add a lock to protect these
- read & write operations).
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
- 11/27/10 ronglli Add SCI version
- 01/16/12 ronglli Add codes to detect SOCKET_BROKEN
-
-****************************************************************************/
-
-#ifndef _CTRLBLOCK_HPP
-#define _CTRLBLOCK_HPP
-
-#include <pthread.h>
-#include <map>
-#include <set>
-
-#include "sci.h"
-#include "general.hpp"
-#include "message.hpp"
-
-#define WAIT_INTERVAL 1000 // 1000 usec
-
-using namespace std;
-
-class MessageQueue;
-class Processor;
-class Stream;
-class FilterProcessor;
-class RouterProcessor;
-class PurifierProcessor;
-class Topology;
-class Observer;
-class RoutingList;
-class EmbedAgent;
-class FilterList;
-class HandlerProcessor;
-class PrivateData;
-
-class CtrlBlock
-{
- public:
- enum ROLE {
- INVALID,
- FRONT_END,
- AGENT,
- BACK_END,
- BACK_AGENT
- };
-
- enum HEALTH_STATE{
- HEALTH,
- ERROR_CHILD_BROKEN,
- ERROR_DATA,
- ERROR_THREAD,
- UNKNOWN
- };
-
- typedef map<int, EmbedAgent *> AGENT_MAP;
- typedef set<int> ERRORCHILDREN_LIST;
-
- private:
- // SCI Version
- int version;
-
- // basic information
- ROLE role;
- int handle;
- int embed_handle;
- int jobKey;
- int enableID;
- string userName;
-
- bool flowctlState;
- bool childHealthState;
- pthread_mutex_t mtx;
-
- sci_info_t *endInfo;
-
- Observer *observer;
- AGENT_MAP embedAgents;
- ERRORCHILDREN_LIST errChildren;
- int cnt_disable;
-
- // flow control threshold
- long long thresHold;
-
- // additional information for convenient purpose
- MessageQueue *routerInQueue;
- MessageQueue *filterInQueue;
- MessageQueue *filterOutQueue;
- MessageQueue *purifierOutQueue;
- MessageQueue *pollQueue;
- MessageQueue *upQueue;
-
- MessageQueue *errorQueue;
- MessageQueue *monitorInQueue;
-
- RouterProcessor *routerProc;
- FilterProcessor *filterProc;
- PurifierProcessor *purifierProc;
- HandlerProcessor *handlerProc;
-
- Stream *parentStream;
- int recoverMode;
- bool waitParentInfo;
- bool termState;
-
- CtrlBlock();
- static CtrlBlock *instance;
-
- public:
- ~CtrlBlock();
- static CtrlBlock* getInstance() {
- if (instance == NULL)
- instance = new CtrlBlock();
- return instance;
- }
-
- void setRecoverMode(int mo);
- int getRecoverMode();
- void setParentInfoWaitState(bool mo);
- bool getParentInfoWaitState();
- void setTermState(bool mo);
- bool getTermState();
-
- ROLE getMyRole();
- void setMyRole(CtrlBlock::ROLE ro);
- int getMyHandle();
- void setMyHandle(int hndl);
- // embeded agent
- int getMyEmbedHandle();
- void setMyEmbedHandle(int hndl);
- sci_info_t * getEndInfo();
- int getJobKey();
- void setJobKey(int key);
- void addEmbedAgent(int hndl, EmbedAgent *agent);
- EmbedAgent *getAgent(int hndl);
-
- int init(sci_info_t *info);
- int initClient(ROLE ro);
- void term();
-
- void enable();
- void disable();
- bool isEnabled();
- void releasePollQueue();
-
- void setObserver(Observer *ob);
- Topology * getTopology();
- Observer * getObserver();
-
- // main components in SCI
- void setRouterInQueue(MessageQueue *queue);
- void setFilterInQueue(MessageQueue *queue);
- void setPollQueue(MessageQueue *queue);
- void setUpQueue(MessageQueue *queue);
- void setMonitorInQueue(MessageQueue *queue);
- void setErrorQueue(MessageQueue *queue);
- MessageQueue * getRouterInQueue();
- MessageQueue * getFilterInQueue();
- MessageQueue * getPollQueue();
- MessageQueue * getUpQueue();
- MessageQueue * getErrorQueue();
- MessageQueue * getMonitorInQueue();
-
- void setRouterProcessor(RouterProcessor *proc);
- void setFilterProcessor(FilterProcessor *proc);
- void setHandlerProcessor(HandlerProcessor *proc);
- void setPurifierProcessor(PurifierProcessor *proc);
- RouterProcessor * getRouterProcessor();
- FilterProcessor * getFilterProcessor();
- PurifierProcessor * getPurifierProcessor();
- RoutingList * getRoutingList();
- FilterList * getFilterList();
- int getChildrenSockfds(int *fds);
- int numOfChildrenFds();
-
- bool allRouted();
- int isActiveSockfd(int fd);
- bool allActive();
-
- void setFlowctlThreshold(long long th);
- long long getFlowctlThreshold();
-
- int getVersion();
- int setUsername();
- string & getUsername();
-
- void setFlowctlState(bool state);
- bool getFlowctlState();
- void setChildHealthState(int state);
- int checkChildHealthState();
- int getErrState(Message::Type typ);
- Message::Type getErrMsgType(int hState);
- void notifyChildHealthState(int hndl, int hState);
- void notifyChildHealthState(Message * msg);
- int getErrChildren(int * num, int **list);
-
- void genSelfInfo(MessageQueue *queue, bool isUncle);
- void clean();
-
- private:
- PrivateData* getPrivateData();
-
- void lock();
- void unlock();
-};
-
-#define gCtrlBlock CtrlBlock::getInstance()
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/dgroup.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/dgroup.cpp
deleted file mode 100644
index e8253d3..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/dgroup.cpp
+++ /dev/null
@@ -1,825 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Distributed Group
-
- Description: Distributed group manipulation (Note: STL does not guarantee
- the safety of several readers & one writer cowork together,
- and user threads can query group information at runtime,
- so it's necessary to add a lock to protect these read & write
- operations).
-
- Author: Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/08/09 nieyy Initial code (F156654)
- 01/16/12 ronglli Add codes to retrieve BE list
-
-****************************************************************************/
-
-#include "dgroup.hpp"
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "packer.hpp"
-#include "group.hpp"
-
-#include "message.hpp"
-
-DistributedGroup::DistributedGroup(int pid)
- : parentId(pid)
-{
- generalInfo.clear();
-
- beInfo.clear();
- successorInfo.clear();
-
- beListInfo.clear();
- successorListInfo.clear();
-
- ::pthread_mutex_init(&mtx, NULL);
-}
-
-DistributedGroup::~DistributedGroup()
-{
- GRP_MAP_MAP::iterator it = generalInfo.begin();
- for (; it != generalInfo.end(); ++it) {
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git != (*it).second.end(); ++git) {
- delete (*git).second;
- }
- }
- generalInfo.clear();
-
- beInfo.clear();
- successorInfo.clear();
-
- beListInfo.clear();
- successorListInfo.clear();
-
- ::pthread_mutex_destroy(&mtx);
-}
-
-void DistributedGroup::setPID(int id)
-{
- parentId = id;
-}
-
-int DistributedGroup::getPID()
-{
- return parentId;
-}
-
-Message * DistributedGroup::packMsg()
-{
- Packer packer;
-
- packer.packInt(parentId);
- packer.packInt(generalInfo.size());
- GRP_MAP_MAP::iterator it = generalInfo.begin();
- for (; it != generalInfo.end(); ++it) {
- packer.packInt((int) (*it).first);
- packer.packInt((*it).second.size());
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git != (*it).second.end(); ++git) {
- packer.packInt((*git).first);
- packer.packInt((*git).second->size());
-
- Group::iterator ggit = (*git).second->begin();
- for (; ggit != (*git).second->end(); ggit++) {
- packer.packInt((*ggit));
- }
- }
- }
-
- char *bufs[1];
- int sizes[1];
-
- bufs[0] = packer.getPackedMsg();
- sizes[0] = packer.getPackedMsgLen();
-
- Message *msg = new Message();
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes, Message::GROUP_MERGE);
- delete [] bufs[0];
- return msg;
-}
-
-void DistributedGroup::unpackMsg(Message & msg)
-{
- Packer packer(msg.getContentBuf());
-
- parentId = packer.unpackInt();
- int size1 = packer.unpackInt();
- for (int i=0; i<size1; i++) {
- sci_group_t groupId = (sci_group_t) packer.unpackInt();
-
- int size2 = packer.unpackInt();
- for (int j=0; j<size2; j++) {
- int childId = packer.unpackInt();
-
- Group *group = new Group();
- int size3 = packer.unpackInt();
- for (int k=0; k<size3; k++) {
- group->Add(packer.unpackInt());
- }
-
- generalInfo[groupId][childId] = group;
- }
- }
-}
-
-void DistributedGroup::create(int num_bes, int * be_list, sci_group_t group)
-{
- Group total;
- for (int i=0; i<num_bes; i++) {
- total.Add(be_list[i]);
- }
-
- lock();
-
- GRP_MAP_MAP::iterator it = generalInfo.find(SCI_GROUP_ALL);
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git!=(*it).second.end(); ++git) {
- int childHndl = (*git).first;
- Group *grp = (*git).second;
-
- Group diff(*grp);
- diff.Delete(total);
-
- Group *intersect = new Group(*grp);
- intersect->Delete(diff);
- if (!intersect->empty()) { // if not empty
- generalInfo[group][childHndl] = intersect;
- } else {
- delete intersect;
- }
- }
-
- reset(group);
-
- unlock();
-}
-
-void DistributedGroup::remove(sci_group_t group)
-{
- lock();
-
- GRP_MAP_MAP::iterator it = generalInfo.find(group);
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git!=(*it).second.end(); ++git) {
- delete (*git).second;
- }
- generalInfo.erase(group);
-
- beInfo.erase(group);
- successorInfo.erase(group);
-
- beListInfo.erase(group);
- successorListInfo.erase(group);
-
- unlock();
-}
-
-int DistributedGroup::operate(sci_group_t group1, sci_group_t group2, sci_op_t op,
- sci_group_t newgroup)
-{
- bool hasMember = false;
-
- lock();
-
- if (op == SCI_UNION) {
- // Add all members in group_info[group1]
- GRP_MAP::iterator git = generalInfo[group1].begin();
- for (; git!=generalInfo[group1].end(); ++git) {
- int childHndl = (*git).first;
- Group *grp = (*git).second;
-
- Group *uni = new Group(*grp);
- if (generalInfo[group2].find(childHndl) != generalInfo[group2].end()) {
- // if found
- uni->Add(*generalInfo[group2][childHndl]);
- }
- generalInfo[newgroup][childHndl] = uni;
- }
-
- // Add members of group_info[group2] missing in the previous step
- git = generalInfo[group2].begin();
- for (; git!=generalInfo[group2].end(); ++git) {
- int childHndl = (*git).first;
- Group *grp = (*git).second;
-
- if (generalInfo[group1].find(childHndl) == generalInfo[group1].end()) {
- // if not found
- Group *uni = new Group(*grp);
- generalInfo[newgroup][childHndl] = uni;
- }
- }
-
- // should always be true
- hasMember = true;
- } else if (op == SCI_INTERSECTION) {
- GRP_MAP_MAP::iterator it = generalInfo.find(group1);
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git!=(*it).second.end(); ++git) {
- int childHndl = (*git).first;
- Group *grp = (*git).second;
-
- if (generalInfo[group2].find(childHndl) == generalInfo[group2].end()) {
- // if not found
- continue;
- }
- Group diff(*grp);
- diff.Delete(*generalInfo[group2][childHndl]);
-
- Group *intersect = new Group(*grp);
- intersect->Delete(diff);
- if (!intersect->empty()) { // if not empty
- generalInfo[newgroup][childHndl] = intersect;
- hasMember = true;
- } else {
- delete intersect;
- }
- }
- } else if (op == SCI_DIFFERENCE) {
- GRP_MAP_MAP::iterator it = generalInfo.find(group1);
- int childHndl;
- Group *grp, *diff;
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git!=(*it).second.end(); ++git) {
- childHndl = (*git).first;
- grp = (*git).second;
- diff = new Group(*grp);
-
- if (generalInfo[group2].find(childHndl) != generalInfo[group2].end()) {
- diff->Delete(*generalInfo[group2][childHndl]);
- }
- if (!diff->empty()) { // if not empty
- generalInfo[newgroup][childHndl] = diff;
- hasMember = true;
- } else {
- delete diff;
- }
- }
- }
-
- int rc = SCI_SUCCESS;
- if (hasMember) {
- reset(newgroup);
- } else {
- rc = SCI_ERR_GROUP_EMPTY;
- }
-
- unlock();
-
- return rc;
-}
-
-int DistributedGroup::operateExt(sci_group_t group, int num_bes, int * be_list,
- sci_op_t op, sci_group_t newgroup)
-{
- Group total;
- for (int i=0; i<num_bes; i++) {
- total.Add(be_list[i]);
- }
-
- lock();
-
- bool hasMember = false;
- if (op == SCI_UNION) {
- GRP_MAP_MAP::iterator it = generalInfo.find(SCI_GROUP_ALL);
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git!=(*it).second.end(); ++git) {
- int childHndl = (*git).first;
- Group *grp = (*git).second;
-
- Group diff(*grp);
- diff.Delete(total);
-
- Group intersect(*grp);
- intersect.Delete(diff);
-
- if (generalInfo[group].find(childHndl) == generalInfo[group].end()) {
- // if not found
- if (!intersect.empty()) { // if not empty
- Group *uni = new Group();
- uni->Add(intersect);
- generalInfo[newgroup][childHndl] = uni;
- }
- } else {
- if (!intersect.empty()) { // if not empty
- Group *uni = new Group(*grp);
- uni->Add(intersect);
- generalInfo[newgroup][childHndl] = uni;
- } else {
- Group *uni = new Group(*grp);
- generalInfo[newgroup][childHndl] = uni;
- }
- }
- }
-
- // should always be true
- hasMember = true;
- } else if (op == SCI_INTERSECTION) {
- GRP_MAP_MAP::iterator it = generalInfo.find(group);
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git!=(*it).second.end(); ++git) {
- int childHndl = (*git).first;
- Group *grp = (*git).second;
-
- Group diff(*grp);
- diff.Delete(total);
-
- Group *intersect = new Group(*grp);
- intersect->Delete(diff);
- if (!intersect->empty()) { // if not empty
- generalInfo[newgroup][childHndl] = intersect;
- hasMember = true;
- } else {
- delete intersect;
- }
- }
- } else if (op == SCI_DIFFERENCE) {
- GRP_MAP_MAP::iterator it = generalInfo.find(group);
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git!=(*it).second.end(); ++git) {
- int childHndl = (*git).first;
- Group *grp = (*git).second;
-
- Group *diff = new Group(*grp);
- diff->Delete(total);
- if (!diff->empty()) { // if not empty
- generalInfo[newgroup][childHndl] = diff;
- hasMember = true;
- } else {
- delete diff;
- }
- }
- }
-
- int rc = SCI_SUCCESS;
- if (hasMember) {
- reset(newgroup);
- } else {
- rc = SCI_ERR_GROUP_EMPTY;
- }
-
- unlock();
-
- return rc;
-}
-
-void DistributedGroup::initSubGroup(int successor_id, int start_be_id, int end_be_id)
-{
- lock();
-
- // init generalInfo
- Group *grp = new Group();
- grp->Add(Range(start_be_id, end_be_id+1));
- generalInfo[SCI_GROUP_ALL][successor_id] = grp;
-
- // init beListInfo & beInfo
- for (int id=start_be_id; id<=end_be_id; id++) {
- beListInfo[SCI_GROUP_ALL].push_back(id);
- }
- if (beInfo.find(SCI_GROUP_ALL) == beInfo.end()) {
- beInfo[SCI_GROUP_ALL] = (end_be_id - start_be_id + 1);
- } else {
- beInfo[SCI_GROUP_ALL] += (end_be_id - start_be_id + 1);
- }
-
- // init successorListInfo & successorInfo
- if (successorInfo.find(SCI_GROUP_ALL) == successorInfo.end()) {
- successorInfo[SCI_GROUP_ALL] = 0;
- }
-
- if (successor_id != VALIDBACKENDIDS) {
- successorListInfo[SCI_GROUP_ALL].push_back(successor_id);
- successorInfo[SCI_GROUP_ALL] += 1;
- } else {
- for (int id=start_be_id; id<=end_be_id; id++) {
- successorListInfo[SCI_GROUP_ALL].push_back(id);
- }
- successorInfo[SCI_GROUP_ALL] += (end_be_id - start_be_id + 1);
- }
-
- unlock();
-}
-
-void DistributedGroup::addBE(sci_group_t group, int successor_id, int be_id)
-{
- lock();
-
- GRP_MAP_MAP::iterator it = generalInfo.find(group);
- if (generalInfo.find(group) == generalInfo.end()) {
- Group *grp = new Group();
- grp->Add(be_id);
- generalInfo[group][successor_id] = grp;
- } else {
- GRP_MAP::iterator git = (*it).second.find(successor_id);
- if (git == (*it).second.end()) {
- Group *grp = new Group();
- grp->Add(be_id);
- ((*it).second)[successor_id] = grp;
- } else {
- (*git).second->Add(be_id);
- }
- }
- reset(group);
-
- unlock();
-}
-
-void DistributedGroup::removeBE(int be_id)
-{
- lock();
-
- // this function will remove all empty groups after 'be_id' is removed
- GRP_MAP_MAP::iterator it = generalInfo.begin();
- vector<sci_group_t> junkGrps;
- for(; it != generalInfo.end(); ++it) {
- GRP_MAP::iterator git = (*it).second.begin();
- vector<int> junkSubGrps;
- for (; git != (*it).second.end(); ++git) {
- Group *grp = (*git).second;
- grp->Delete(be_id);
- if (grp->size() == 0) {
- junkSubGrps.push_back((*git).first);
- }
- }
-
- for (int j=0; j<(int) junkSubGrps.size(); j++) {
- if ((*it).first == SCI_GROUP_ALL) {
- if (junkSubGrps[j] >= 0) { // back end id
- delete ((*it).second)[junkSubGrps[j]];
- (*it).second.erase(junkSubGrps[j]);
- }
- } else {
- delete ((*it).second)[junkSubGrps[j]];
- (*it).second.erase(junkSubGrps[j]);
- }
- }
-
- if ((*it).second.size() == 0) {
- junkGrps.push_back((*it).first);
- }
- }
- for (int i=0; i<(int) junkGrps.size(); i++) {
- generalInfo.erase(junkGrps[i]);
- beInfo.erase(junkGrps[i]);
- successorInfo.erase(junkGrps[i]);
- beListInfo.erase(junkGrps[i]);
- successorListInfo.erase(junkGrps[i]);
- }
-
- resetAll();
-
- unlock();
-}
-
-void DistributedGroup::dropSuccessor(int successor_id)
-{
- lock();
-
- // delete all group inforamtion related to 'successor_id'
- if (successor_id >= 0) {
- GRP_MAP_MAP::iterator it = generalInfo.begin();
- for (; it!=generalInfo.end(); ++it) {
- GRP_MAP::iterator git = (*it).second.find(VALIDBACKENDIDS);
- if (git != (*it).second.end()) {
- (*git).second->Delete(successor_id);
- reset((*it).first);
- }
- }
- } else {
- GRP_MAP_MAP::iterator it = generalInfo.begin();
- for (; it!=generalInfo.end(); ++it) {
- GRP_MAP::iterator git = (*it).second.find(successor_id);
- if (git != (*it).second.end()) {
- delete (*git).second;
- (*it).second.erase(successor_id);
- reset((*it).first);
- }
- }
- }
-
- unlock();
-}
-
-void DistributedGroup::merge(int successor_id, DistributedGroup & dgroup, bool overwrite)
-{
- lock();
-
- // overwrite - whether or not use the information from 'group' if group id does not exist
- GRP_MAP_MAP::iterator dit = dgroup.generalInfo.begin();
- for(; dit != dgroup.generalInfo.end(); ++dit) {
- GRP_MAP_MAP::iterator it = generalInfo.find((*dit).first);
- if (it == generalInfo.end()) {
- // if this group id does not exist here
- if (overwrite) {
- if (successor_id >= 0) {
- Group *group = new Group();
- group->Add(successor_id);
-
- generalInfo[(*dit).first][VALIDBACKENDIDS] = group;
- } else {
- Group *group = new Group();
- GRP_MAP::iterator git = (*dit).second.begin();
- for (; git != (*dit).second.end(); ++git) {
- group->Add(*((*git).second));
- }
-
- generalInfo[(*dit).first][successor_id] = group;
- }
- reset((*dit).first);
- } else {
- continue;
- }
- } else {
- // or this group does exist here
- if (successor_id >= 0) {
- if ((*it).second.find(VALIDBACKENDIDS) == (*it).second.end()) {
- ((*it).second)[VALIDBACKENDIDS] = new Group();
- }
- ((*it).second)[VALIDBACKENDIDS]->Add(successor_id);
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git != (*it).second.end(); ++git) {
- if ((*git).first != VALIDBACKENDIDS) {
- (*git).second->Delete(successor_id);
- }
- }
- } else {
- if ((*it).second.find(successor_id) == (*it).second.end()) {
- ((*it).second)[successor_id] = new Group();
- }
- GRP_MAP::iterator git = (*dit).second.begin();
- for (; git != (*dit).second.end(); ++git) {
- ((*it).second)[successor_id]->Add(*((*git).second));
- }
-
- git = (*it).second.begin();
- for (; git != (*it).second.end(); ++git) {
- if ((*git).first != successor_id) {
- Group *grp = ((*it).second)[successor_id];
- (*git).second->Delete(*grp);
- }
- }
- }
- reset((*dit).first);
- }
- }
-
- unlock();
-}
-
-bool DistributedGroup::isGroupExist(sci_group_t group)
-{
- bool rc = false;
-
- lock();
- if (generalInfo.find(group) != generalInfo.end()) {
- rc = true;
- }
- unlock();
-
- return rc;
-}
-
-bool DistributedGroup::isSuccessorExist(int successor_id)
-{
- bool rc = false;
-
- lock();
- GRP_MAP_MAP::iterator it = generalInfo.find(SCI_GROUP_ALL);
- if (it != generalInfo.end()) {
- GRP_MAP::iterator git = (*it).second.find(successor_id);
- if (git != (*it).second.end()) {
- rc = true;
- } else {
- git = (*it).second.find(VALIDBACKENDIDS);
- if (git != (*it).second.end()) {
- Group *grp = (*git).second;
- if (grp->HasMember(successor_id)) {
- rc = true;
- }
- }
- }
- }
- unlock();
-
- return rc;
-}
-
-int DistributedGroup::numOfBE(sci_group_t group)
-{
- int num = 0;
-
- lock();
- INT_MAP::iterator it = beInfo.find(group);
- if (it != beInfo.end()) {
- num = (*it).second;
- }
- unlock();
-
- return num;
-}
-
-int DistributedGroup::numOfSuccessor(sci_group_t group)
-{
- int num = 0;
-
- lock();
- INT_MAP::iterator it = successorInfo.find(group);
- if (it != successorInfo.end()) {
- num = (*it).second;
- }
- unlock();
-
- return num;
-}
-
-int DistributedGroup::numOfBEOfSuccessor(int successor_id)
-{
- int num = 0;
-
- lock();
- GRP_MAP_MAP::iterator it = generalInfo.find(SCI_GROUP_ALL);
- if (it != generalInfo.end()) {
- GRP_MAP::iterator git = (*it).second.find(successor_id);
- if (git != (*it).second.end()) {
- num = (*git).second->size();
- }
- }
- unlock();
-
- return num;
-}
-
-void DistributedGroup::retrieveBEList(sci_group_t group, int * ret_val)
-{
- lock();
- INTLIST_MAP::iterator it = beListInfo.find(group);
- if (it != beListInfo.end()) {
- for (int i=0; i<(int) (*it).second.size(); i++) {
- ret_val[i] = ((*it).second)[i];
- }
- }
- unlock();
-}
-
-void DistributedGroup::retrieveSuccessorList(sci_group_t group, int * ret_val)
-{
- lock();
- INTLIST_MAP::iterator it = successorListInfo.find(group);
- if (it != successorListInfo.end()) {
- for (int i=0; i<(int) (*it).second.size(); i++) {
- ret_val[i] = ((*it).second)[i];
- }
- }
- unlock();
-}
-
-void DistributedGroup::retrieveBEListOfSuccessor(int successor_id, int * ret_val)
-{
- lock();
- GRP_MAP_MAP::iterator it = generalInfo.find(SCI_GROUP_ALL);
- if (it != generalInfo.end()) {
- GRP_MAP::iterator git = (*it).second.find(successor_id);
- if (git != (*it).second.end()) {
- int i = 0;
- Group::iterator ggit = (*git).second->begin();
- for (; ggit != (*git).second->end(); ggit++) {
- ret_val[i++] = (*ggit);
- }
- }
- }
- unlock();
-}
-
-int DistributedGroup::querySuccessorId(int be_id)
-{
- int id = INVLIDSUCCESSORID;
-
- lock();
- GRP_MAP_MAP::iterator it = generalInfo.find(SCI_GROUP_ALL);
- if (it != generalInfo.end()) {
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git!=(*it).second.end(); ++git) {
- Group *grp = (*git).second;
- if (grp->HasMember(be_id)) {
- id = (*git).first;
- break;
- }
- }
- }
- unlock();
-
- return id;
-}
-
-void DistributedGroup::dump()
-{
- printf("Here below is the distributed group information (pid %d):\n\n", parentId);
-
- GRP_MAP_MAP::iterator it = generalInfo.begin();
- for (; it != generalInfo.end(); ++it) {
- printf("[group id %d]:\n", (*it).first);
- printf("\tnum of back ends: %d\n", beInfo[(*it).first]);
- printf("\tnum of successors: %d\n", successorInfo[(*it).first]);
-
- GRP_MAP::iterator git = (*it).second.begin();
- for (; git != (*it).second.end(); ++git) {
- printf("\tchild id %d: ", (*git).first);
-
- Group::iterator ggit = (*git).second->begin();
- for (; ggit != (*git).second->end(); ggit++) {
- printf("%d ", (*ggit));
- }
-
- printf("\n");
- }
- }
-
- printf("\nEnd\n\n");
-}
-
-void DistributedGroup::reset(sci_group_t group)
-{
- int num;
-
- // reset beListInfo & beInfo
- beListInfo.erase(group);
- num = 0;
-
- GRP_MAP::iterator it = generalInfo[group].begin();
- for (; it!=generalInfo[group].end(); ++it) {
- Group *grp = (*it).second;
- Group::iterator git = grp->begin();
- for (; git!=grp->end(); git++) {
- beListInfo[group].push_back((*git));
- num++;
- }
- }
-
- beInfo[group] = num;
-
- // reset successorListInfo & successorInfo
- successorListInfo.erase(group);
- num = 0;
-
- it = generalInfo[group].begin();
- for (; it!=generalInfo[group].end(); ++it) {
- int hndl = (*it).first;
- if (hndl != VALIDBACKENDIDS) {
- successorListInfo[group].push_back(hndl);
- num++;
- } else {
- Group *grp = (*it).second;
- Group::iterator git = grp->begin();
- for (; git!=grp->end(); git++) {
- successorListInfo[group].push_back((*git));
- num++;
- }
- }
- }
-
- successorInfo[group] = num;
-}
-
-void DistributedGroup::resetAll()
-{
- GRP_MAP_MAP::iterator it = generalInfo.begin();
- for(; it != generalInfo.end(); ++it) {
- reset((*it).first);
- }
-}
-
-void DistributedGroup::lock()
-{
- ::pthread_mutex_lock(&mtx);
-}
-
-void DistributedGroup::unlock()
-{
- ::pthread_mutex_unlock(&mtx);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/dgroup.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/dgroup.hpp
deleted file mode 100644
index e4a3e01..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/dgroup.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Distributed Group
-
- Description: Distributed group manipulation (Note: STL does not guarantee
- the safety of several readers & one writer cowork together,
- and user threads can query group information at runtime,
- so it's necessary to add a lock to protect these read & write
- operations).
-
- Author: Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/08/09 nieyy Initial code (F156654)
- 01/16/12 ronglli Add codes to retrieve BE list
-
-****************************************************************************/
-
-#ifndef _DGROUP_HPP
-#define _DGROUP_HPP
-
-#include <pthread.h>
-
-#include <map>
-#include <vector>
-
-#include "sci.h"
-#include "general.hpp"
-
-using namespace std;
-
-class Group;
-class Message;
-
-class DistributedGroup
-{
- public:
- typedef map<int, Group*> GRP_MAP;
- typedef map<sci_group_t, GRP_MAP> GRP_MAP_MAP;
- typedef map<sci_group_t, int> INT_MAP;
- typedef map<sci_group_t, vector<int> > INTLIST_MAP;
-
- private:
- int parentId;
- GRP_MAP_MAP generalInfo;
-
- INT_MAP beInfo;
- INT_MAP successorInfo;
-
- INTLIST_MAP beListInfo;
- INTLIST_MAP successorListInfo;
-
- pthread_mutex_t mtx;
-
- public:
- DistributedGroup(int pid);
- ~DistributedGroup();
-
- void setPID(int id);
- int getPID();
-
- Message * packMsg();
- void unpackMsg(Message &msg);
-
- // write operations
- void create(int num_bes, int *be_list, sci_group_t group);
- void remove(sci_group_t group);
- int operate(sci_group_t group1, sci_group_t group2, sci_op_t op,
- sci_group_t newgroup);
- int operateExt(sci_group_t group, int num_bes, int *be_list,
- sci_op_t op, sci_group_t newgroup);
-
- void initSubGroup(int successor_id, int start_be_id, int end_be_id);
- void addBE(sci_group_t group, int successor_id, int be_id);
- void removeBE(int be_id);
- void dropSuccessor(int successor_id);
-
- void merge(int successor_id, DistributedGroup &dgroup, bool overwrite);
-
- // read operations
- bool isGroupExist(sci_group_t group);
- bool isSuccessorExist(int successor_id);
-
- int numOfBE(sci_group_t group);
- int numOfSuccessor(sci_group_t group);
- int numOfBEOfSuccessor(int successor_id);
-
- void retrieveBEList(sci_group_t group, int *ret_val);
- void retrieveSuccessorList(sci_group_t, int *ret_val);
- void retrieveBEListOfSuccessor(int successor_id, int * ret_val);
-
- int querySuccessorId(int be_id);
-
- // for debugging purpose
- void dump();
-
- private:
- void reset(sci_group_t group);
- void resetAll();
-
- void lock();
- void unlock();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/embedagent.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/embedagent.cpp
deleted file mode 100644
index 78637c9..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/embedagent.cpp
+++ /dev/null
@@ -1,174 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: EmbedAgent
-
- Description: embedded agent in front-end back-end
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code ()
-
-****************************************************************************/
-
-#include "tools.hpp"
-
-#include "embedagent.hpp"
-#include "ctrlblock.hpp"
-#include "writerproc.hpp"
-#include "filterproc.hpp"
-#include "handlerproc.hpp"
-#include "routerproc.hpp"
-#include "topology.hpp"
-#include "message.hpp"
-#include "eventntf.hpp"
-#include "queue.hpp"
-#include "stream.hpp"
-#include "routinglist.hpp"
-#include "privatedata.hpp"
-#include "filterlist.hpp"
-
-
-EmbedAgent::EmbedAgent()
- : handle(-1), inStream(NULL), outStream(NULL), filterInQ(NULL), filterOutQ(NULL), routerInQ(NULL), filterProc(NULL), routerProc(NULL), writerProc(NULL), routingList(NULL), filterList(NULL)
-{}
-
-EmbedAgent::~EmbedAgent()
-{
- if (routerProc) {
- routerProc->release();
- delete routerProc;
- }
- if (filterProc) {
- filterProc->release();
- delete filterProc;
- }
- if (writerProc) {
- writerProc->release();
- delete writerProc;
- }
- if (routingList)
- delete routingList;
- if (filterList)
- delete filterList;
-}
-
-int EmbedAgent::init(int hndl, Stream *stream, MessageQueue *inQ, MessageQueue *outQ)
-{
- handle = hndl;
-
- filterList = new FilterList();
- routingList = new RoutingList(hndl);
- routerProc = new RouterProcessor(hndl, routingList, filterList);
- filterInQ = new MessageQueue();
- filterInQ->setName("filterInQ");
- filterProc = new FilterProcessor(hndl, filterList);
- filterProc->setInQueue(filterInQ);
- if (outQ != NULL) {
- filterProc->setOutQueue(outQ);
- } else {
- filterOutQ = new MessageQueue();
- filterOutQ->setName("filterOutQ");
- filterProc->setOutQueue(filterOutQ);
- }
- PrivateData *pDataFilter = new PrivateData(routingList, filterList, filterProc, routerProc);
- filterProc->setSpecific(pDataFilter);
- gCtrlBlock->setUpQueue(filterInQ);
- PrivateData *pDataRouter = new PrivateData(routingList, filterList, filterProc, routerProc);
- routerProc->setSpecific(pDataRouter);
- routingList->setFilterProcessor(filterProc);
-
- if (stream) {
- inStream = stream;
- routerProc->setInStream(stream);
- writerProc = new WriterProcessor(hndl);
- writerProc->setName("WriterP");
- writerProc->setInQueue(filterOutQ);
- writerProc->setOutStream(stream);
-
- routerProc->setPeerProcessor(writerProc);
- } else if (inQ) {
- routerProc->setInQueue(inQ);
- } else {
- routerInQ = new MessageQueue();
- routerInQ->setName("routerInQ");
- routerProc->setInQueue(routerInQ);
- gCtrlBlock->setRouterInQueue(routerInQ);
- gCtrlBlock->setRouterProcessor(routerProc);
- }
- gCtrlBlock->addEmbedAgent(handle, this);
-
- return 0;
-}
-
-RoutingList * EmbedAgent::getRoutingList()
-{
- return routingList;
-}
-
-MessageQueue * EmbedAgent::getRouterInQ()
-{
- return routerInQ;
-}
-
-MessageQueue * EmbedAgent::getUpQueue()
-{
- return filterOutQ;
-}
-
-int EmbedAgent::work()
-{
- int rc = 0;
-
- routerProc->start();
- filterProc->start();
- if (writerProc)
- writerProc->start();
- if (gCtrlBlock->getMyRole() != CtrlBlock::BACK_AGENT) {
- rc = registPrivateData();
- }
-
- return rc;
-}
-
-int EmbedAgent::syncWait()
-{
- int rc = 0;
- gNotifier->freeze(routingList->getTopology()->getInitID(), &rc);
-
- return rc;
-}
-
-FilterProcessor * EmbedAgent::getFilterProcessor()
-{
- return filterProc;
-}
-
-extern void makeKey();
-int EmbedAgent::registPrivateData()
-{
- PrivateData *pDataMain = new PrivateData(routingList, filterList, filterProc, routerProc);
- int rc = pthread_once(&(Thread::once), makeKey);
- rc = pthread_setspecific(Thread::key, pDataMain);
-
- return rc;
-}
-
-PrivateData * EmbedAgent::genPrivateData()
-{
- PrivateData *pData = new PrivateData(routingList, filterList, filterProc, routerProc);
-
- return pData;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/embedagent.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/embedagent.hpp
deleted file mode 100644
index 96d1c2b..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/embedagent.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: EmbedAgent
-
- Description: embedded agent in front-end and back-end
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code ()
-
-****************************************************************************/
-
-#ifndef _EMBEDAGENT_HPP
-#define _EMBEDAGENT_HPP
-
-#include <stdlib.h>
-
-class MessageQueue;
-class Stream;
-class FilterProcessor;
-class RouterProcessor;
-class WriterProcessor;
-class RoutingList;
-class FilterList;
-class Listener;
-class PrivateData;
-
-class EmbedAgent {
- private:
- int handle;
- Stream *inStream;
- Stream *outStream;
- MessageQueue *filterInQ;
- MessageQueue *filterOutQ;
- MessageQueue *routerInQ;
- FilterProcessor *filterProc;
- RouterProcessor *routerProc;
- WriterProcessor *writerProc;
- RoutingList *routingList;
- FilterList *filterList;
-
- public:
- EmbedAgent();
- ~EmbedAgent();
- int init(int hndl, Stream *stream, MessageQueue *inQ, MessageQueue *outQ = NULL);
- int work();
- int syncWait();
- void setParent(EmbedAgent *agent);
- void setChild(EmbedAgent *child);
- MessageQueue *getRouterInQ();
- MessageQueue *getUpQueue();
- int registPrivateData();
- FilterProcessor *getFilterProcessor();
- RoutingList *getRoutingList();
- PrivateData *genPrivateData();
-};
-
-#endif
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/eventntf.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/eventntf.cpp
deleted file mode 100644
index 09b5618..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/eventntf.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: EventNotify
-
- Description: Synchronization between threads
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 12/05/08 tuhongj Initial code (D154660)
-
-****************************************************************************/
-
-#include "eventntf.hpp"
-#include <unistd.h>
-#include <string.h>
-#include <assert.h>
-#include <sys/time.h>
-
-#include "tools.hpp"
-#include "ctrlblock.hpp"
-#include "log.hpp"
-
-const struct serialNtfTest INIT_VAL_NTF = {0, 0, 0, 0};
-
-EventNotify * EventNotify::notifier = NULL;
-
-EventNotify::EventNotify()
- : serialNum(0), serialSize(0)
-{
- ::pthread_mutex_init(&mtx, NULL);
- ::pthread_cond_init(&cond, NULL);
- serialTest.assign(MAX_SERIAL_NUM, INIT_VAL_NTF);
-}
-
-EventNotify::~EventNotify()
-{
- ::pthread_cond_destroy(&cond);
- ::pthread_mutex_destroy(&mtx);
-
- notifier = NULL;
-}
-
-int EventNotify::allocate()
-{
- int num;
-
- lock();
- do {
- if (serialSize >= serialTest.size()) {
- log_debug("EventNotify: resize the serialTest, from original size %d, to new size %d",
- serialTest.size(), serialTest.size()*2);
- serialTest.resize(serialTest.size() * 2, INIT_VAL_NTF);
- }
- serialNum = (serialNum + 1) % serialTest.size();
- } while (serialTest[serialNum].used == true);
- num = serialNum;
- serialTest[serialNum].used = true;
- serialTest[serialNum].notified = false;
- serialTest[serialNum].freezed = false;
- serialSize++;
- unlock();
-
- return num;
-}
-
-void EventNotify::freeze(int id, void *ret_val)
-{
- lock();
- serialTest[id].ret = ret_val;
- serialTest[id].notified = false;
- serialTest[id].freezed = true;
- while (serialTest[id].notified == false) {
- ::pthread_cond_wait(&cond, &mtx);
- }
- serialTest[id].freezed = false;
- serialTest[id].used = false;
- serialSize--;
- unlock();
-}
-
-void EventNotify::notify(int id)
-{
- test(id);
- lock();
- serialTest[id].used = false;
- serialTest[id].notified = true;
- ::pthread_cond_broadcast(&cond);
- unlock();
-}
-
-timespec SetTime(int usecs) {
- struct timeval now;
- struct timespec to;
-
- gettimeofday(&now, NULL);
- to.tv_sec = now.tv_sec + usecs / 1000000;
- to.tv_nsec = now.tv_usec * 1000 + (usecs % 1000000) * 1000;
-
- return to;
-}
-
-int EventNotify::freeze_i(int id, void *ret_val, int usecs)
-{
- struct timespec to;
- bool tmpNotified;
- bool tmpFreezed;
- int rc = -1;
- int count = 0;
-
- lock();
- tmpNotified = serialTest[id].notified;
- tmpFreezed = serialTest[id].freezed;
-
- serialTest[id].ret = ret_val;
- serialTest[id].notified = false;
- serialTest[id].freezed = true;
- while ((serialTest[id].notified == false) && (!gCtrlBlock->getTermState())) {
- to = SetTime(usecs);
- ::pthread_cond_timedwait(&cond, &mtx, &to);
- count++;
- }
- if (serialTest[id].notified == true) { // The notify is set to true correctly
- serialTest[id].freezed = false;
- serialTest[id].used = false;
- serialSize--;
- rc = 0;
- } else { // The freeze is not set correctly. Restore the original value
- serialTest[id].notified = tmpNotified;
- serialTest[id].freezed = tmpFreezed;
- rc = -1;
- }
- unlock();
-
- return rc;
-}
-
-int EventNotify::notify_i(int id, int usecs)
-{
- if (!test_i(id)) {
- return -1;
- }
- lock();
- serialTest[id].used = false;
- serialTest[id].notified = true;
- ::pthread_cond_broadcast(&cond);
- unlock();
-
- return 0;
-}
-
-void * EventNotify::getRetVal(int id)
-{
- test(id);
- return serialTest[id].ret;
-}
-
-bool EventNotify::getState(int id)
-{
- bool state;
-
- assert((id >= 0) && (id < serialTest.size()));
- lock();
- state = serialTest[id].used;
- unlock();
-
- return state;
-}
-
-bool EventNotify::test(int id)
-{
- assert((id >= 0) && (id < serialTest.size()));
- while (serialTest[id].freezed == false) {
- /* Almost impossible running into here */
- SysUtil::sleep(WAIT_INTERVAL);
- }
- assert(serialTest[id].used = true);
-
- return true;
-}
-
-bool EventNotify::test_i(int id)
-{
- assert((id >= 0) && (id < serialTest.size()));
- while (serialTest[id].freezed == false) {
- if (gCtrlBlock->getTermState())
- return false;
- /* Almost impossible running into here */
- SysUtil::sleep(WAIT_INTERVAL);
- }
- assert(serialTest[id].used = true);
-
- return true;
-}
-
-void EventNotify::tryFreeze()
-{
- lock();
- while(serialTest[serialNum].freezed == true) {
- ::pthread_cond_wait(&cond, &mtx);
- }
- unlock();
-}
-
-void EventNotify::lock()
-{
- ::pthread_mutex_lock(&mtx);
-}
-
-void EventNotify::unlock()
-{
- ::pthread_mutex_unlock(&mtx);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/eventntf.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/eventntf.hpp
deleted file mode 100644
index 99a3070..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/eventntf.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: EventNotify
-
- Description: Synchronization between threads
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 12/05/08 tuhongj Initial code (D154660)
-
-****************************************************************************/
-
-#ifndef _EVENTNTF_HPP
-#define _EVENTNTF_HPP
-
-#include <pthread.h>
-#include <vector>
-
-const int MAX_SERIAL_NUM = 1024;
-
-struct serialNtfTest
-{
- bool freezed; // freeze() been called?
- bool notified; // notify() been called?
- bool used; // allocate() been called?
- void *ret;
-};
-
-class EventNotify
-{
- private:
- static EventNotify *notifier;
- EventNotify();
- pthread_mutex_t mtx;
- pthread_cond_t cond;
- int serialNum;
- int serialSize;
- std::vector<struct serialNtfTest> serialTest;
-
- public:
- ~EventNotify();
- static EventNotify * getInstance() {
- if (notifier == NULL)
- notifier = new EventNotify();
- return notifier;
- }
-
- int allocate();
- void freeze(int id, void *ret_val = NULL);
- int freeze_i(int id, void *ret_val = NULL, int usecs = 1000000);
- void notify(int id);
- int notify_i(int id, int usecs = 1000000);
- void * getRetVal(int id);
- bool getState(int id);
-
- private:
- bool test(int id);
- bool test_i(int id);
- void tryFreeze();
-
- void lock();
- void unlock();
-};
-
-#define gNotifier EventNotify::getInstance()
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/filter.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/filter.cpp
deleted file mode 100644
index 0ebd644..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/filter.cpp
+++ /dev/null
@@ -1,156 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Filter
-
- Description: Filter manipulation.
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <math.h>
-#include <assert.h>
-#include <ctype.h>
-#include <string.h>
-#include <dlfcn.h>
-
-#include "packer.hpp"
-#include "log.hpp"
-
-#include "message.hpp"
-#include "queue.hpp"
-#include "filterproc.hpp"
-#include "filter.hpp"
-
-Filter::Filter()
-{
- info.filter_id = 0;
- info.so_file = NULL;
-
- handler.init_hndlr = NULL;
- handler.input_hndlr = NULL;
- handler.term_hndlr = NULL;
-
- param = NULL;
- file = NULL;
-}
-
-Filter::Filter(sci_filter_info_t & filter_info)
-{
- info.filter_id = filter_info.filter_id;
- info.so_file = filter_info.so_file;
-
- handler.init_hndlr = NULL;
- handler.input_hndlr = NULL;
- handler.term_hndlr = NULL;
-
- param = NULL;
- file = NULL;
-}
-
-Filter::~Filter()
-{
- if (file) {
- ::dlclose(file);
- file = NULL;
- }
-}
-
-Message * Filter::packMsg()
-{
- Packer packer;
- packer.packInt(info.filter_id);
- packer.packStr(info.so_file);
-
- char *bufs[1];
- int sizes[1];
-
- bufs[0] = packer.getPackedMsg();
- sizes[0] = packer.getPackedMsgLen();
-
- Message *msg = new Message();
- msg->build(info.filter_id, SCI_GROUP_ALL, 1, bufs, sizes, Message::FILTER_LOAD);
- delete [] bufs[0];
- return msg;
-}
-
-void Filter::unpackMsg(Message &msg)
-{
- Packer packer(msg.getContentBuf());
-
- info.filter_id = packer.unpackInt();
- info.so_file = packer.unpackStr();
-}
-
-int Filter::load()
-{
-#if defined(_SCI_LINUX)
- file = ::dlopen(info.so_file, RTLD_NOW | RTLD_LOCAL);
-#elif defined(__APPLE__)
- file = ::dlopen(info.so_file, RTLD_NOW | RTLD_LOCAL);
-#else // aix
- file = ::dlopen(info.so_file, RTLD_NOW | RTLD_LOCAL | RTLD_MEMBER);
-#endif
- if (file == NULL) {
- log_error("Loading filter failed %s", ::dlerror());
- return SCI_ERR_INVALID_FILTER;
- }
-
- handler.init_hndlr = (filter_init_hndlr *) ::dlsym(file, "filter_initialize");
- if (handler.init_hndlr == NULL) {
- log_error("Loading filter failed %s", ::dlerror());
- return SCI_ERR_INVALID_FILTER;
- }
- handler.input_hndlr = (filter_input_hndlr *) ::dlsym(file, "filter_input");
- if (handler.input_hndlr == NULL) {
- log_error("Loading filter failed %s", ::dlerror());
- return SCI_ERR_INVALID_FILTER;
- }
- handler.term_hndlr = (filter_term_hndlr *) ::dlsym(file, "filter_terminate");
- if (handler.term_hndlr == NULL) {
- log_error("Loading filter failed %s", ::dlerror());
- return SCI_ERR_INVALID_FILTER;
- }
-
- return handler.init_hndlr(¶m);
-}
-
-int Filter::input(sci_group_t group, void *buf, int size)
-{
- return handler.input_hndlr(param, group, buf, size);
-}
-
-int Filter::unload()
-{
- int rc = handler.term_hndlr(param);
-
- // close library handle
- ::dlclose(file);
- file = NULL;
-
- return rc;
-}
-
-int Filter::getId()
-{
- return info.filter_id;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/filter.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/filter.hpp
deleted file mode 100644
index d427425..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/filter.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Filter
-
- Description: Filter manipulation.
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _FILTER_HPP
-#define _FILTER_HPP
-
-#include "sci.h"
-#include "general.hpp"
-
-class Message;
-
-class Filter
-{
- public:
- struct Handler {
- filter_init_hndlr *init_hndlr;
- filter_input_hndlr *input_hndlr;
- filter_term_hndlr *term_hndlr;
- };
-
- private:
- sci_filter_info_t info;
- Handler handler;
- void *param;
- void *file;
-
- public:
- Filter();
- Filter(sci_filter_info_t &filter_info);
- ~Filter();
-
- Message * packMsg();
- void unpackMsg(Message &msg);
-
- int load();
- int input(sci_group_t group, void *buf, int size);
- int unload();
-
- int getId();
- sci_filter_info_t & getInfo() { return info; }
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/filterlist.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/filterlist.cpp
deleted file mode 100644
index 518437f..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/filterlist.cpp
+++ /dev/null
@@ -1,194 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: FilterList
-
- Description: Filter management (Note: STL does not guarantee the safety of
- several readers & one writer cowork together, and user threads
- can query filter information at runtime, so it's necessary
- to add a lock to protect these read & write operations).
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/24/08 nieyy Initial code (F156654)
-
-****************************************************************************/
-
-#include "filterlist.hpp"
-#include <assert.h>
-
-#include "filter.hpp"
-#include "packer.hpp"
-
-
-FilterList::FilterList()
- : flistMsg(NULL)
-{
- filterInfo.clear();
-
- ::pthread_mutex_init(&mtx, NULL);
-}
-
-FilterList::~FilterList()
-{
- // delete all loaded filters
- FILTER_MAP::iterator fit = filterInfo.begin();
- for (; fit != filterInfo.end(); fit++) {
- delete (*fit).second;
- }
- filterInfo.clear();
-
- ::pthread_mutex_destroy(&mtx);
-}
-
-int FilterList::loadFilter(int filter_id, Filter * filter, bool invoke)
-{
- int rc = SCI_SUCCESS;
- if (invoke) {
- // call init func
- rc = filter->load();
- }
-
- if (rc == SCI_SUCCESS) {
- lock();
- filterInfo[filter_id] = filter;
- unlock();
- }
-
- return rc;
-}
-
-Filter * FilterList::getFilter(int filter_id)
-{
- Filter *filter = NULL;
-
- lock();
- FILTER_MAP::iterator fit = filterInfo.find(filter_id);
- if (fit != filterInfo.end()) {
- filter = (*fit).second;
- }
- unlock();
-
- return filter;
-}
-
-Message * FilterList::packMsg(sci_filter_list_t &flist)
-{
- int i = 0;
- char *bufs[1];
- int sizes[1];
- Packer packer;
-
- if (flist.num == 0)
- return NULL;
-
- packer.packInt(flist.num);
- for (i = 0; i < flist.num; i++) {
- packer.packInt(flist.filters[i].filter_id);
- packer.packStr(flist.filters[i].so_file);
- }
-
- bufs[0] = packer.getPackedMsg();
- sizes[0] = packer.getPackedMsgLen();
-
- Message *msg = new Message();
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes, Message::FILTER_LIST);
- delete [] bufs[0];
-
- return msg;
-}
-
-void FilterList::loadFilterList(Message &msg, bool invoke)
-{
- int i = 0;
- Packer packer(msg.getContentBuf());
- int num = packer.unpackInt();
- sci_filter_info_t finfo;
- Filter *filter = NULL;
- char *bufs[1];
- int sizes[1];
-
- for (i = 0; i < num; i++) {
- finfo.filter_id = packer.unpackInt();
- finfo.so_file = packer.unpackStr();
- filter = new Filter(finfo);
- loadFilter(finfo.filter_id, filter, invoke);
- }
-
- bufs[0] = msg.getContentBuf();
- sizes[0] = msg.getContentLen();
- flistMsg = new Message();
- flistMsg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes, msg.getType());
-}
-
-int FilterList::unloadFilter(int filter_id, bool invoke)
-{
- Filter *filter = NULL;
-
- lock();
- FILTER_MAP::iterator fit = filterInfo.find(filter_id);
- if (fit != filterInfo.end()) {
- filter = (*fit).second;
- } else {
- unlock();
- return SCI_ERR_FILTER_NOTFOUND;
- }
-
- filterInfo.erase(filter_id);
- unlock();
-
- int rc = SCI_SUCCESS;
- if (invoke) {
- // call term_func
- rc = filter->unload();
- }
- delete filter;
-
- return rc;
-}
-
-int FilterList::numOfFilters()
-{
- int size;
-
- lock();
- size = filterInfo.size();
- unlock();
-
- return size;
-}
-
-void FilterList::retrieveFilterList(int * ret_val)
-{
- int i = 0;
-
- lock();
- FILTER_MAP::iterator it = filterInfo.begin();
- for (; it!=filterInfo.end(); ++it) {
- ret_val[i++] = (*it).first;
- }
- unlock();
-}
-
-void FilterList::lock()
-{
- ::pthread_mutex_lock(&mtx);
-}
-
-void FilterList::unlock()
-{
- ::pthread_mutex_unlock(&mtx);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/filterlist.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/filterlist.hpp
deleted file mode 100644
index d55420d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/filterlist.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: FilterList
-
- Description: Filter management (Note: STL does not guarantee the safety of
- several readers & one writer cowork together, and user threads
- can query filter information at runtime, so it's necessary
- to add a lock to protect these read & write operations).
-
- Author: Nicole Nie, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/24/08 nieyy Initial code (F156654)
-
-****************************************************************************/
-
-#ifndef _FILTERLIST_HPP
-#define _FILTERLIST_HPP
-
-#include <pthread.h>
-#include <map>
-
-using namespace std;
-
-#include "general.hpp"
-#include "message.hpp"
-
-class Filter;
-
-class FilterList
-{
- public:
- typedef map<int, Filter*> FILTER_MAP;
-
- private:
- FILTER_MAP filterInfo;
- pthread_mutex_t mtx;
- Message *flistMsg;
-
- public:
- FilterList();
- ~FilterList();
-
- int loadFilter(int filter_id, Filter *filter, bool invoke = true);
- int unloadFilter(int filter_id, bool invoke = true);
-
- Filter * getFilter(int filter_id);
- int numOfFilters();
- void retrieveFilterList(int *ret_val);
- Message * packMsg(sci_filter_list_t &flist);
- Message * getFlistMsg() { return flistMsg; }
- void loadFilterList(Message &msg, bool invoke = true);
-
- private:
- void lock();
- void unlock();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/filterproc.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/filterproc.cpp
deleted file mode 100644
index 5946fdc..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/filterproc.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: FilterProcessor
-
- Description: Properties of class 'FilterProcessor':
- input: a. a message queue
- output: a. a stream
- b. a message queue
- action: use user-defined filter handlers to process the messages
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include "filterproc.hpp"
-#include <assert.h>
-
-#include "log.hpp"
-#include "exception.hpp"
-#include "socket.hpp"
-
-#include "atomic.hpp"
-#include "ctrlblock.hpp"
-#include "message.hpp"
-#include "stream.hpp"
-#include "filter.hpp"
-#include "filterlist.hpp"
-#include "queue.hpp"
-#include "eventntf.hpp"
-#include "observer.hpp"
-
-FilterProcessor::FilterProcessor(int hndl, FilterList *flist)
- : Processor(hndl), filterList(flist), filtered(false), curFilterID(SCI_FILTER_NULL)
-{
- name = "UpstreamFilter";
-
- inQueue = NULL;
- outQueue = NULL;
-
- observer = NULL;
-}
-
-FilterProcessor::~FilterProcessor()
-{
- delete inQueue;
-}
-
-Message * FilterProcessor::read()
-{
- assert(inQueue);
-
- Message *msg = NULL;
-
- filtered = false;
- msg = inQueue->consume();
-
- return msg;
-}
-
-void FilterProcessor::process(Message * msg)
-{
- int id = msg->getFilterID();
- if (id != SCI_FILTER_NULL) {
- Filter *filter = filterList->getFilter(id);
- // call user's filter handler
- if (filter != NULL) {
- curFilterID = id;
-
- filtered = true;
- filter->input(msg->getGroup(), msg->getContentBuf(), msg->getContentLen());
- }
- }
-}
-
-void FilterProcessor::write(Message * msg)
-{
- assert(outQueue);
-
- if (filtered) {
- inQueue->remove();
- return;
- }
-
- if (observer) {
- observer->notify();
- }
-
- incRefCount(msg->getRefCount());
- outQueue->produce(msg);
-
- inQueue->remove();
-}
-
-void FilterProcessor::seize()
-{
- setState(false);
-}
-
-int FilterProcessor::recover()
-{
- // TODO
- return -1;
-}
-
-void FilterProcessor::clean()
-{
-}
-
-void FilterProcessor::deliever(Message * msg)
-{
- if (observer) {
- observer->notify();
- }
- outQueue->produce(msg);
-}
-
-int FilterProcessor::getCurFilterID()
-{
- return curFilterID;
-}
-
-void FilterProcessor::setInQueue(MessageQueue * queue)
-{
- inQueue = queue;
-}
-
-void FilterProcessor::setOutQueue(MessageQueue * queue)
-{
- outQueue = queue;
-}
-
-void FilterProcessor::setObserver(Observer * ob)
-{
- observer = ob;
-}
-
-MessageQueue * FilterProcessor::getInQueue()
-{
- return inQueue;
-}
-
-MessageQueue * FilterProcessor::getOutQueue()
-{
- return outQueue;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/filterproc.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/filterproc.hpp
deleted file mode 100644
index 69e722e..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/filterproc.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: FilterProcessor
-
- Description: Properties of class 'FilterProcessor':
- input: a. a message queue
- output: a. a message queue
- action: use user-defined filter handlers to process the messages
-
- Author: Nicole Nie, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _FILTERPROC_HPP
-#define _FILTERPROC_HPP
-
-#include "processor.hpp"
-
-class Stream;
-class MessageQueue;
-class Observer;
-class FilterList;
-
-class FilterProcessor : public Processor
-{
- private:
- FilterList *filterList;
-
- Observer *observer;
-
- bool filtered;
- int curFilterID;
-
- public:
- FilterProcessor(int hndl = -1, FilterList *flist = NULL);
- ~FilterProcessor();
-
- virtual Message * read();
- virtual void process(Message *msg);
- virtual void write(Message *msg);
- virtual void seize();
- virtual int recover();
- virtual void clean();
-
- void deliever(Message *msg);
- int getCurFilterID();
-
- void setInQueue(MessageQueue *queue);
- void setOutQueue(MessageQueue *queue);
-
- void setObserver(Observer *ob);
- MessageQueue * getInQueue();
- MessageQueue * getOutQueue();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/general.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/general.hpp
deleted file mode 100644
index 8d04617..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/general.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: General definitions.
-
- Author: Nicole Nie, Liu Wei, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _GENERAL_HPP
-#define _GENERAL_HPP
-
-#include <assert.h>
-#include <pthread.h>
-
-#define VALIDBACKENDIDS (-1024*1024*1024)
-#define INVLIDSUCCESSORID (-999999999)
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/handlerproc.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/handlerproc.cpp
deleted file mode 100644
index f9b7def..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/handlerproc.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: HandlerProcessor
-
- Description: Properties of class 'HandlerProcessor':
- input: a. a message queue
- output: none
- action: use handler in sci_info_t to process the messages
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include "handlerproc.hpp"
-#include <stdlib.h>
-#include <assert.h>
-
-#include "log.hpp"
-#include "exception.hpp"
-#include "socket.hpp"
-
-#include "ctrlblock.hpp"
-#include "message.hpp"
-#include "eventntf.hpp"
-#include "stream.hpp"
-#include "queue.hpp"
-
-HandlerProcessor::HandlerProcessor(int hndl)
- : Processor(hndl)
-{
- name = "Handler";
-
- inQueue = NULL;
-
- switch (gCtrlBlock->getMyRole()) {
- case CtrlBlock::FRONT_END:
- hndlr = gCtrlBlock->getEndInfo()->fe_info.hndlr;
- param = gCtrlBlock->getEndInfo()->fe_info.param;
- break;
- case CtrlBlock::BACK_END:
- case CtrlBlock::BACK_AGENT:
- hndlr = gCtrlBlock->getEndInfo()->be_info.hndlr;
- param = gCtrlBlock->getEndInfo()->be_info.param;
- break;
- default:
- assert(!"Should never go here!");
- }
-}
-
-HandlerProcessor::~HandlerProcessor()
-{
- if (inQueue)
- delete inQueue;
-}
-
-Message * HandlerProcessor::read()
-{
- assert(inQueue);
-
- Message *msg = NULL;
- msg = inQueue->consume();
-
- if (msg && (msg->getType() == Message::SEGMENT)) {
- int segnum = msg->getID() - 1; // exclude the SEGMENT header
- Message **segments = (Message **)::malloc(segnum * sizeof(Message *));
- inQueue->remove();
-
- msg = new Message();
- inQueue->multiConsume(segments, segnum);
- msg->joinSegments(segments, segnum);
- ::free(segments);
- }
-
- return msg;
-}
-
-void HandlerProcessor::process(Message * msg)
-{
- switch(msg->getType()) {
- case Message::COMMAND:
- case Message::DATA:
- hndlr(param, msg->getGroup(), msg->getContentBuf(), msg->getContentLen());
- break;
- default:
- log_error("Processor %s: received unknown command", name.c_str());
- break;
- }
-}
-
-void HandlerProcessor::write(Message * msg)
-{
- // almost no action
- inQueue->remove();
-}
-
-void HandlerProcessor::seize()
-{
- setState(false);
-}
-
-int HandlerProcessor::recover()
-{
- // TODO
- return -1;
-}
-
-void HandlerProcessor::clean()
-{
- // no action
-}
-
-void HandlerProcessor::setInQueue(MessageQueue * queue)
-{
- inQueue = queue;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/handlerproc.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/handlerproc.hpp
deleted file mode 100644
index 2c5c012..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/handlerproc.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: HandlerProcessor
-
- Description: Properties of class 'HandlerProcessor':
- input: a. a message queue
- output: none
- action: use handler in sci_info_t to process the messages
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _HANDLERPROC_HPP
-#define _HANDLERPROC_HPP
-
-#include "sci.h"
-#include "processor.hpp"
-
-class Stream;
-class MessageQueue;
-
-class HandlerProcessor : public Processor
-{
- private:
- SCI_msg_hndlr *hndlr;
- void *param;
-
- public:
- HandlerProcessor(int hndl = -1);
- ~HandlerProcessor();
-
- virtual Message * read();
- virtual void process(Message *msg);
- virtual void write(Message *msg);
- virtual void seize();
- virtual int recover();
- virtual void clean();
-
- void setInQueue(MessageQueue *queue);
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/initializer.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/initializer.cpp
deleted file mode 100644
index 95e447b..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/initializer.cpp
+++ /dev/null
@@ -1,618 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Initializer
-
- Description: Prepare the environment when startup, which includes:
- 1) Processor threads
- 2) Message queue
- 3) Others like environment variables
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
- 07/19/12 ronglli Optimize the user query
-
-****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <assert.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <pwd.h>
-
-#include "sci.h"
-
-#include "log.hpp"
-#include "socket.hpp"
-#include "stream.hpp"
-#include "exception.hpp"
-#include "sshfunc.hpp"
-
-#include "embedagent.hpp"
-#include "initializer.hpp"
-#include "ctrlblock.hpp"
-#include "routinglist.hpp"
-#include "topology.hpp"
-#include "launcher.hpp"
-#include "queue.hpp"
-#include "message.hpp"
-#include "readerproc.hpp"
-#include "writerproc.hpp"
-#include "filterproc.hpp"
-#include "handlerproc.hpp"
-#include "routerproc.hpp"
-#include "purifierproc.hpp"
-#include "observer.hpp"
-#include "listener.hpp"
-#include "eventntf.hpp"
-#include "allocator.hpp"
-#include "filterlist.hpp"
-
-#include "tools.hpp"
-
-Initializer* Initializer::instance = NULL;
-
-Initializer::Initializer()
- : listener(NULL), inStream(NULL), handle(-1), parentAddr(""), parentPort(-1), parentID(-1), pInfoUpdated(false)
-{
- notifyID = gNotifier->allocate();
-}
-
-Initializer::~Initializer()
-{
- instance = NULL;
- if (listener) {
- listener->stop();
- delete listener;
- }
- // inStream will be deleted in Writer
-}
-
-int Initializer::init()
-{
- int rc = SCI_SUCCESS;
- int level = Log::INFORMATION;
- int mode = Log::DISABLE;
- char dir[MAX_PATH_LEN] = "/tmp";
- char *envp = NULL;
- int hndl = -1;
-
- envp = ::getenv("SCI_LOG_DIRECTORY");
- if (envp != NULL) {
- ::strncpy(dir, envp, sizeof(dir));
- }
- envp = ::getenv("SCI_LOG_LEVEL");
- if (envp != NULL)
- level = ::atoi(envp);
-
- envp = ::getenv("SCI_LOG_ENABLE");
- if ((envp != NULL) && (strcasecmp(envp, "yes") == 0)) {
- mode = Log::ENABLE;
- }
-
- try {
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- Log::getInstance()->init(dir, "fe.log", level, mode);
- log_debug("I am a front end, my handle is %d", gCtrlBlock->getMyHandle());
- } else if (gCtrlBlock->getMyRole() == CtrlBlock::AGENT) {
- Log::getInstance()->init(dir, "scia.log", level, mode);
- log_debug("I am an agent, my handle is %d", gCtrlBlock->getMyHandle());
- } else {
- Log::getInstance()->init(dir, "be.log", level, mode);
- log_debug("I am a back end, my handle is %d", gCtrlBlock->getMyHandle());
- }
-
- if (SSHFUNC == NULL)
- return SCI_ERR_SSHAUTH;
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- rc = initFE();
- } else if (gCtrlBlock->getMyRole() == CtrlBlock::AGENT) {
- rc = initAgent();
- } else {
- rc = initBE();
- }
- } catch (Exception &e) {
- log_error("Initializer: exception %s", e.getErrMsg());
- return SCI_ERR_INITIALIZE_FAILED;
- } catch (ThreadException &e) {
- log_error("Initializer: thread exception %d", e.getErrCode());
- return SCI_ERR_INITIALIZE_FAILED;
- } catch (SocketException &e) {
- log_error("Initializer: socket exception: %s", e.getErrMsg().c_str());
- return SCI_ERR_INITIALIZE_FAILED;
- } catch (std::bad_alloc) {
- log_error("Initializer: out of memory");
- return SCI_ERR_INITIALIZE_FAILED;
- } catch (...) {
- log_error("Initializer: unknown exception");
- return SCI_ERR_INITIALIZE_FAILED;
- }
-
- return rc;
-}
-
-Listener * Initializer::getListener()
-{
- return listener;
-}
-
-Stream * Initializer::getInStream()
-{
- return inStream;
-}
-
-void Initializer::setInStream(Stream * s)
-{
- inStream = s;
-}
-
-Listener * Initializer::initListener()
-{
- if (listener)
- return listener;
-
- listener = new Listener(-1);
- listener->init();
- listener->start();
-
- return listener;
-}
-
-int Initializer::initFE()
-{
- char *envp = NULL;
- handle = gCtrlBlock->getMyHandle();
- EmbedAgent *feAgent = NULL;
-
- Topology *topo = new Topology(handle);
- int rc = topo->init();
- if (rc != SCI_SUCCESS)
- return rc;
- gCtrlBlock->enable();
-
- rc = gCtrlBlock->setUsername();
- if (rc != SCI_SUCCESS)
- return rc;
-
- feAgent = new EmbedAgent();
- feAgent->init(-1, NULL, NULL);
- HandlerProcessor *handler = NULL;
- if (gCtrlBlock->getEndInfo()->fe_info.mode == SCI_INTERRUPT) {
- // interrupt mode
- handler = new HandlerProcessor();
- handler->setInQueue(feAgent->getUpQueue());
- handler->setSpecific(feAgent->genPrivateData());
- gCtrlBlock->setHandlerProcessor(handler);
- } else {
- // polling mode
- Observer *ob = new Observer();
- gCtrlBlock->setObserver(ob);
- gCtrlBlock->setPollQueue(feAgent->getFilterProcessor()->getOutQueue());
- feAgent->getFilterProcessor()->setObserver(ob);
- }
- if (handler) {
- handler->start();
- }
- feAgent->getRoutingList()->getTopology()->setInitID();
- rc = feAgent->work();
- gAllocator->reset();
-
- Message *flistMsg = gCtrlBlock->getFilterList()->packMsg(gCtrlBlock->getEndInfo()->fe_info.filter_list);
- MessageQueue *routerInQ = feAgent->getRouterInQ();
- routerInQ->produce(flistMsg);
- Message *topoMsg = topo->packMsg();
- routerInQ->produce(topoMsg);
- rc = feAgent->syncWait();
- delete topo;
-
- return rc;
-}
-
-int Initializer::initAgent()
-{
- int hndl = -1;
- EmbedAgent *agent = NULL;
- char *envp;
- int rc;
-
- rc = gCtrlBlock->setUsername();
- if (rc != SCI_SUCCESS)
- return rc;
-
- envp = ::getenv("SCI_REMOTE_SHELL");
- if (envp != NULL) {
- rc = connectBack();
- if (rc != 0)
- return rc;
- } else {
- inStream = initStream();
- }
-
- // get hostname and port no from environment variable.
- envp = ::getenv("SCI_WORK_DIRECTORY");
- if (envp != NULL) {
- ::chdir(envp);
- log_debug("Change working directory to %s", envp);
- }
-
- envp = ::getenv("SCI_PARENT_HOSTNAME");
- if (envp != NULL) {
- parentAddr = envp;
- }
-
- envp = ::getenv("SCI_PARENT_PORT");
- if (envp != NULL) {
- parentPort = ::atoi(envp);
- }
- hndl = gCtrlBlock->getMyHandle();
- log_debug("My parent host is %s, parent port is %d, my ID is %d", parentAddr.c_str(), parentPort, hndl);
-
- agent = new EmbedAgent();
- agent->init(hndl, inStream, NULL);
- gCtrlBlock->enable();
- agent->getRoutingList()->getTopology()->setInitID();
- rc = agent->work();
- rc = agent->syncWait();
-
- return rc;
-}
-
-Stream * Initializer::initStream()
-{
- int rc;
- string envStr;
- Stream *stream = new Stream();
- struct iovec token = {0};
- struct iovec sign = {0};
-
- stream->init(STDIN_FILENO);
- *stream >> token >> envStr >> sign >> endl;
- setEnvStr(envStr);
- SSHFUNC->set_user_token(&token);
- rc = psec_verify_data(&sign, "%s", envStr.c_str());
- delete [] (char *)sign.iov_base;
- if (rc != 0)
- throw Exception(Exception::INVALID_SIGNATURE);
-
- parseEnvStr(envStr);
-
- return stream;
-}
-
-int Initializer::parseEnvStr(string &envStr)
-{
- char *envp;
- char dir[MAX_PATH_LEN];
- int level = -1;
- int mode = Log::INVALID;
- int hndl = -1;
- int jobkey;
-
- char *st = strdup(envStr.c_str());
- int st_size=envStr.size();
- char *key = NULL;
- char *value = NULL;
- char *delim=";";
- char *saveptr=NULL;
- key=strtok_r(st,delim,&saveptr);
- if( (key != NULL) && (key < st + st_size))
- {
- value = strchr(key,'=');
- if(value != NULL)
- {
- (*value) = '\0';
- if((value != key)&&((value + 1) != NULL) && ((value+1) < (st + st_size)))
- {
- if((*(value+1)) == '\0')
- ::setenv(key,"",1);
- else
- ::setenv(key,value+1,1);
- }
- }
- else{
- ::setenv(key,"",1);
- }
-
- while(key = strtok_r(NULL,delim,&saveptr))
- {
- value = strchr(key,'=');
- if(value != NULL)
- {
- (*value) = '\0';
- if((value != key)&&((value + 1) != NULL) && ((value+1) < (st + st_size)))
- {
- if((*(value+1)) == '\0')
- ::setenv(key,"",1);
- else
- ::setenv(key,value+1,1);
- }
- }
- else{
- ::setenv(key,"",1);
- }
- }
- }
-
- free(st);
-
- envp = getenv("SCI_CLIENT_ID");
- assert(envp != NULL);
- hndl = atoi(envp);
- gCtrlBlock->setMyHandle(hndl);
- envp = getenv("SCI_JOB_KEY");
- assert(envp != NULL);
- jobkey = atoi(envp);
- gCtrlBlock->setJobKey(jobkey);
- envp = ::getenv("SCI_EMBED_AGENT");
- if ((envp != NULL) && (strcasecmp(envp, "yes") == 0) && (hndl < 0)) {
- gCtrlBlock->setMyRole(CtrlBlock::BACK_AGENT);
- }
- envp = ::getenv("SCI_FLOWCTL_THRESHOLD");
- if (envp != NULL) {
- long long th = ::atoll(envp);
- if (th > 0) {
- gCtrlBlock->setFlowctlThreshold(th);
- }
- }
- envp = ::getenv("SCI_LOG_LEVEL");
- if (envp != NULL)
- level = ::atoi(envp);
- envp = ::getenv("SCI_LOG_ENABLE");
- if (envp != NULL) {
- if (strcasecmp(envp, "yes") == 0) {
- mode = Log::ENABLE;
- } else if (strcasecmp(envp, "no") == 0) {
- mode = Log::DISABLE;
- }
- }
- envp = ::getenv("SCI_LOG_DIRECTORY");
- if (envp != NULL) {
- ::strncpy(dir, envp, MAX_PATH_LEN-1);
- dir[MAX_PATH_LEN-1] = '\0';
- log_rename(dir, level, mode);
- } else {
- log_rename(NULL, level, mode);
- }
-
- return 0;
-}
-
-int Initializer::connectBack()
-{
- struct iovec sign = {0};
- int hndl = -1;
- char *envp = NULL;
-
- handle = gCtrlBlock->getMyHandle();
- if ((!getenv("SCI_PARENT_HOSTNAME") || !getenv("SCI_PARENT_PORT") || !getenv("SCI_PARENT_ID"))
- && (::getenv("SCI_REMOTE_SHELL") == NULL)) {
- int rc = initExtBE(handle);
- if (rc != 0)
- return rc;
- }
-
- envp = ::getenv("SCI_PARENT_HOSTNAME");
- if (envp != NULL) {
- parentAddr = envp;
- }
- envp = ::getenv("SCI_PARENT_PORT");
- if (envp != NULL) {
- parentPort = ::atoi(envp);
- }
- envp = ::getenv("SCI_PARENT_ID");
- if (envp != NULL) {
- parentID = ::atoi(envp);
- }
-
- hndl = gCtrlBlock->getMyHandle(); // hndl may change
- handle = hndl;
- inStream = new Stream();
- inStream->init(parentAddr.c_str(), parentPort);
- psec_sign_data(&sign, "%d%d%d", gCtrlBlock->getJobKey(), hndl, parentID);
- *inStream << gCtrlBlock->getJobKey() << hndl << parentID << sign << endl;
- *inStream >> endl;
- psec_free_signature(&sign);
- log_debug("My parent host is %s, parent port is %d, parent id is %d", parentAddr.c_str(), parentPort, parentID);
-
- return 0;
-}
-
-int Initializer::initBE()
-{
- int hndl;
- int rc = SCI_SUCCESS;
- char *envp = ::getenv("SCI_USE_EXTLAUNCHER");
- if (((envp != NULL) && (::strcasecmp(envp, "yes") == 0))
- || (::getenv("SCI_REMOTE_SHELL") != NULL)) {
- rc = connectBack();
- if (rc != 0)
- return rc;
- if (handle < 0) {
- gCtrlBlock->setMyRole(CtrlBlock::BACK_AGENT);
- }
- } else {
- inStream = initStream();
- }
- gCtrlBlock->enable();
-
- // get hostname and port no from environment variable.
- envp = ::getenv("SCI_WORK_DIRECTORY");
- if (envp != NULL) {
- chdir(envp);
- log_debug("Change working directory to %s", envp);
- }
-
- hndl = gCtrlBlock->getMyHandle();
- log_debug("My ID is %d", hndl);
-
- PurifierProcessor *purifier = new PurifierProcessor(hndl);
- gCtrlBlock->setPurifierProcessor(purifier);
-
- if (gCtrlBlock->getEndInfo()->be_info.mode == SCI_POLLING) {
- // polling mode
- MessageQueue *sysQ = new MessageQueue();
- sysQ->setName("sysQ");
-
- Observer *ob = new Observer();
- gCtrlBlock->setObserver(ob);
- gCtrlBlock->setPollQueue(sysQ);
- purifier->setObserver(ob);
- purifier->setOutQueue(sysQ);
- }
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT) {
- rc = gCtrlBlock->setUsername();
- if (rc != SCI_SUCCESS)
- return rc;
-
- EmbedAgent *beAgent = new EmbedAgent();
- beAgent->init(hndl, inStream, NULL);
- gCtrlBlock->setMyEmbedHandle(hndl);
- beAgent->getRoutingList()->getTopology()->setInitID();
- rc = beAgent->work();
- rc = beAgent->syncWait();
- } else {
- MessageQueue *userQ = new MessageQueue();
- userQ->setName("userQ");
- gCtrlBlock->setUpQueue(userQ);
-
- purifier->setInStream(inStream);
- WriterProcessor *writer = new WriterProcessor(hndl);
- // writer is a peer processor of purifier
- purifier->setPeerProcessor(writer);
-
- writer->setInQueue(userQ);
- writer->setOutStream(inStream);
- purifier->start();
- writer->start();
- }
-
- return rc;
-}
-
-int Initializer::initExtBE(int hndl)
-{
- string envStr;
- char hostname[256];
-
- Stream stream;
- string username;
- psec_idbuf_desc &usertok = SSHFUNC->get_token();
- struct iovec sign = {0};
- struct iovec token = {0};
- int rc, tmp0, tmp1, tmp2;
- int port = SCID_PORT;
- Launcher::MODE mode = Launcher::REQUEST;
- int jobKey = gCtrlBlock->getJobKey();
- struct servent *serv = NULL;
- char *envp = getenv("SCI_DAEMON_NAME");
- char fmt[32] = {0};
-
- rc = gCtrlBlock->setUsername();
- if (rc != SCI_SUCCESS)
- return rc;
- username = gCtrlBlock->getUsername();
-
- if (envp != NULL) {
- serv = getservbyname(envp, "tcp");
- } else {
- serv = getservbyname(SCID_NAME, "tcp");
- }
- if (serv != NULL) {
- port = ntohs(serv->s_port);
- }
- rc = psec_sign_data(&sign, "%d%d%d", mode, jobKey, hndl);
- ::gethostname(hostname, sizeof(hostname));
- stream.init(hostname, port);
- stream << username.c_str() << usertok << sign << (int)mode << jobKey << hndl << endl;
- psec_free_signature(&sign);
- stream >> envStr >> token >> sign >> endl;
- setEnvStr(envStr);
- stream.stop();
- sprintf(fmt, "%%s%%%ds", token.iov_len);
- rc = psec_verify_data(&sign, fmt, envStr.c_str(), token.iov_base);
- SSHFUNC->set_user_token(&token);
- delete [] (char *)sign.iov_base;
- if (rc != 0)
- return -1;
- parseEnvStr(envStr);
- return 0;
-}
-
-void Initializer::setParentAddr(char * addr)
-{
- parentAddr = addr;
-}
-
-string & Initializer::getParentAddr()
-{
- return parentAddr;
-}
-
-int Initializer::updateParentInfo(char * addr, int port)
-{
- while (pInfoUpdated == true) {
- if ((gCtrlBlock->getTermState()) || (!gCtrlBlock->getRecoverMode()) || (!gCtrlBlock->getParentInfoWaitState())) {
- return SCI_ERR_INVALID_CALLER;
- }
- SysUtil::sleep(WAIT_INTERVAL);
- }
- parentAddr = addr;
- parentPort = port;
- pInfoUpdated = true;
- gNotifier->freeze(notifyID);
- notifyID = gNotifier->allocate();
-
- return SCI_SUCCESS;
-}
-
-void Initializer::setParentPort(int port)
-{
- parentPort = port;
-}
-
-int Initializer::getParentPort()
-{
- return parentPort;
-}
-
-int Initializer::getParentID()
-{
- return parentID;
-}
-
-int Initializer::getOrgHandle()
-{
- return handle;
-}
-
-
-void Initializer::setEnvStr(string env)
-{
- initEnv = env;
- return;
-}
-
-string Initializer::getEnvStr()
-{
- return initEnv;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/initializer.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/initializer.hpp
deleted file mode 100644
index 4cda5a6..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/initializer.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Initializer
-
- Description: Prepare the environment when startup, which includes:
- 1) Processor threads
- 2) Message queue
- 3) Others like environment variables
-
- Author: Nicole Nie, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _INITIALIZER_HPP
-#define _INITIALIZER_HPP
-
-#include <string>
-
-#include "ctrlblock.hpp"
-
-using namespace std;
-
-class Stream;
-class Listener;
-
-#define SCID_PORT 6188
-#define SCID_NAME "sciv1"
-
-class Initializer
-{
- public:
- bool pInfoUpdated;
- int notifyID;
- private:
- Initializer();
- static Initializer *instance;
- Listener *listener;
- Stream *inStream;
-
- int handle;
- string parentAddr;
- int parentPort;
- int parentID;
-
- string initEnv;
-
- public:
- ~Initializer();
- static Initializer* getInstance() {
- if (instance == NULL)
- instance = new Initializer();
- return instance;
- }
-
- int init();
- string getEnvStr();
- Listener * initListener();
- Listener * getListener();
- Stream * getInStream();
- void setInStream(Stream * s);
-
- int updateParentInfo(char * addr, int port);
- void setParentAddr(char * addr);
- string & getParentAddr();
- void setParentPort(int port);
- int getParentPort();
- int getParentID();
- int getOrgHandle();
-
- private:
- int initFE();
- int initAgent();
- Stream *initStream();
- int initBE();
- int initExtBE(int hndl);
- int getIntToken();
- int parseEnvStr(string &envStr);
- int connectBack();
- void setEnvStr(string env);
-};
-
-#define gInitializer Initializer::getInstance()
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/launcher.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/launcher.cpp
deleted file mode 100644
index a43abbd..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/launcher.cpp
+++ /dev/null
@@ -1,962 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Launcher
-
- Description: Runtime Launch the clients.
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 06/21/10 tuhongj Initial code (D153875)
- 07/19/12 ronglli Fix tree4 external launching mode support
- 07/19/12 ronglli Optimize tree launching
-
-****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <pwd.h>
-
-#include "log.hpp"
-#include "tools.hpp"
-#include "packer.hpp"
-#include "exception.hpp"
-#include "sshfunc.hpp"
-#include "ipconverter.hpp"
-
-#include "atomic.hpp"
-#include "launcher.hpp"
-#include "topology.hpp"
-#include "ctrlblock.hpp"
-#include "initializer.hpp"
-#include "message.hpp"
-#include "queue.hpp"
-#include "routinglist.hpp"
-#include "filterlist.hpp"
-#include "processor.hpp"
-#include "eventntf.hpp"
-#include "listener.hpp"
-#include "sshfunc.hpp"
-#include "purifierproc.hpp"
-#include "embedagent.hpp"
-
-#ifdef __APPLE__
-extern char **environ;
-#endif
-
-#define WAIT_TIMES 600 // 600s
-
-Launcher::Launcher(Topology &topo)
- : topology(topo), shell(""), localName(""), scidPort(SCID_PORT), mode(INTERNAL), embedMode(false), waitTimes(WAIT_TIMES)
-{
-}
-
-Launcher::~Launcher()
-{
- env.unsetAll();
- childMap.clear();
-}
-
-int Launcher::initEnv()
-{
- char *envp = NULL;
- string envStr;
- struct servent *serv = NULL;
- childMap.clear();
-
- envp = getenv("SCI_DAEMON_NAME");
- if (envp != NULL) {
- serv = getservbyname(envp, "tcp");
- } else {
- serv = getservbyname(SCID_NAME, "tcp");
- }
- if (serv != NULL) {
- scidPort = ntohs(serv->s_port);
- }
- envp = ::getenv("SCI_DEVICE_NAME");
- if (envp) {
- IPConverter converter;
- string ifname = envp;
- if (converter.getIP(ifname, true, localName) != 0) {
- localName = "";
- log_error("Launcher: invalid device name(%s). Will use the localhost", ifname.c_str());
- } else {
- env.set("SCI_DEVICE_NAME", envp);
- }
- }
- if (localName == "") {
- char tmp[256] = {0};
- ::gethostname(tmp, sizeof(tmp));
- localName = SysUtil::get_hostname(tmp);
- if (localName == "") {
- localName = tmp;
- }
- }
- int jobKey = gCtrlBlock->getJobKey();
-
- env.set("SCI_JOB_KEY", jobKey);
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- env.set("SCI_WORK_DIRECTORY", ::getenv("PWD"));
- } else {
- env.set("SCI_WORK_DIRECTORY", ::getenv("SCI_WORK_DIRECTORY"));
- }
- envp = ::getenv("SCI_EMBED_AGENT");
- if ((envp != NULL) && (strcasecmp(envp, "yes") == 0)) {
- embedMode = true;
- env.set("SCI_EMBED_AGENT", envp);
- }
- env.set("SCI_AGENT_PATH", topology.agentPath);
- envp = ::getenv("SCI_LIB_PATH");
- if (envp) {
- env.set("SCI_LIB_PATH", envp);
- envStr = envp;
- }
-#if defined(_SCI_LINUX)
- char *library_path = "LD_LIBRARY_PATH";
-#elif defined(__APPLE__)
- char *library_path = "DYLD_LIBRARY_PATH";
-#else
- char *library_path = "LIBPATH";
-#endif
- envp = ::getenv(library_path);
- if (envp) {
- if (envStr.length()) {
- envStr += ":";
- envStr += envp;
- } else {
- envStr = envp;
- }
- }
- if (envStr.length()) {
- env.set(library_path, envStr);
- }
-
- env.set("SCI_LOG_DIRECTORY", ::getenv("SCI_LOG_DIRECTORY"));
- env.set("SCI_LOG_LEVEL", ::getenv("SCI_LOG_LEVEL"));
- env.set("SCI_LOG_ENABLE", ::getenv("SCI_LOG_ENABLE"));
- envp = ::getenv("SCI_WAIT_TIMES");
- if (envp) {
- waitTimes = atoi(envp);
- env.set("SCI_WAIT_TIMES", waitTimes);
- }
- envp = ::getenv("SCI_REMOTE_SHELL");
- if (envp) {
- shell = envp;
- env.set("SCI_REMOTE_SHELL", shell);
- }
- env.set("SCI_USE_EXTLAUNCHER", "no");
- envp = ::getenv("SCI_USE_EXTLAUNCHER");
- if (envp && (::strcasecmp(envp, "yes") == 0)) {
- mode = REGISTER;
- env.set("SCI_USE_EXTLAUNCHER", "yes");
- }
- env.set("SCI_ENABLE_FAILOVER", "no");
- envp = ::getenv("SCI_ENABLE_FAILOVER");
- if (envp && (::strcasecmp(envp, "yes") == 0)) {
- env.set("SCI_ENABLE_FAILOVER", "yes");
- }
- envp = ::getenv("SCI_DEBUG_TREE");
- if (envp) {
- env.set("SCI_DEBUG_TREE", envp);
- }
- envp = ::getenv("SCI_SEGMENT_SIZE");
- if (envp) {
- env.set("SCI_SEGMENT_SIZE", envp);
- }
-
- // add any tool specific environment variables
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- char **tool_envp = NULL;
- tool_envp = gCtrlBlock->getEndInfo()->fe_info.beenvp;
- if (tool_envp) {
- while (*tool_envp) {
- // filter out SCI_ and library path.
- if (::strncmp(*tool_envp, "SCI_", 4) &&
- ::strncmp(*tool_envp, library_path, ::strlen(library_path))) {
- char *envstr = strdup(*tool_envp);
- char *value = ::strchr(envstr, '=');
- if (value) {
- *value = '\0';
- env.set(envstr, value+1);
- }
- free(envstr);
- }
- tool_envp++;
- }
- }
- } else {
- string savedEnv = gInitializer->getEnvStr();
- int size = savedEnv.size();
- char *st = strdup(savedEnv.c_str());
- char *key = NULL;
- char *value = NULL;
- const char *delim = ";";
- char *savePtr1 = NULL;
- key=strtok_r(st,delim,&savePtr1);
- if((key!= NULL) && (key < (st + size))) {
- if (::strncmp(key, "SCI_", 4) &&
- ::strncmp(key, library_path, ::strlen(library_path))) {
- value = strchr(key,'=');
- if(value != NULL) {
- (*value) = '\0';
- if((value!= key)&&((value + 1) != NULL) && ((value+1) < (st + size))) {
- if((*(value+1)) == '\0')
- env.set(key,"");
- else
- env.set(key,value+1);
- }
- } else {
- env.set(key,"");
- }
- }
- while(key = strtok_r(NULL,delim,&savePtr1)) {
- if (::strncmp(key, "SCI_", 4) &&
- ::strncmp(key, library_path, ::strlen(library_path))) {
- value = strchr(key,'=');
- if(value != NULL) {
- (*value) = '\0';
- if((value != key)&&((value + 1) != NULL) && ((value+1) < (st + size))) {
- if((*(value+1)) == '\0')
- env.set(key,"");
- else
- env.set(key,value+1);
- }
- } else {
- env.set(key,"");
- }
- }
- }
- }
- free(st);
- }
- env.set("SCI_PARENT_HOSTNAME", localName);
- env.set("SCI_ENABLE_LISTENER", ::getenv("SCI_ENABLE_LISTENER"));
- env.set("SCI_PARENT_ID", topology.agentID);
- // flow control threshold
- env.set("SCI_FLOWCTL_THRESHOLD", gCtrlBlock->getFlowctlThreshold());
-
- log_debug("Launcher: env(%s)", env.getEnvString().c_str());
- return SCI_SUCCESS;
-}
-
-int Launcher::launch()
-{
- int tree = 2;
- int rc = 0;
-
- char *envp = ::getenv("SCI_DEBUG_TREE");
- if (envp) {
- tree = ::atoi(envp);
- }
-
- try {
- initEnv();
- switch (tree) {
- case 1:
- rc = launch_tree1();
- break;
- case 2:
- rc = launch_tree2();
- break;
- case 3:
- rc = launch_tree3();
- break;
- case 4:
- rc = launch_tree4();
- break;
- default:
- return -1;
- }
- if (rc != SCI_SUCCESS) {
- return rc;
- }
-
- if ((shell.empty()) && (childMap.size() > 0)) {
- rc = startAll();
- if (rc != SCI_SUCCESS) {
- return rc;
- }
- }
- envp = getenv("SCI_ENABLE_LISTENER");
- if ((envp != NULL) && (strcasecmp(envp, "yes") == 0)) {
- gInitializer->initListener();
- }
- } catch (std::bad_alloc) {
- log_error("Launcher: out of memory");
- return SCI_ERR_NO_MEM;
- } catch (SocketException &e) {
- log_error("Launcher: socket exception: %s", e.getErrMsg().c_str());
- return SCI_ERR_LAUNCH_FAILED;
- } catch (ThreadException &e) {
- log_error("Launcher: thread exception %d", e.getErrCode());
- return SCI_ERR_LAUNCH_FAILED;
- } catch (...) {
- log_error("Launcher: unknown exception");
- return SCI_ERR_LAUNCH_FAILED;
- }
- if ((mode == REGISTER) || !shell.empty()) {
- int times = 0;
- while (!topology.routingList->allRouted()) {
- if (times >= (waitTimes * 1000000 / WAIT_INTERVAL))
- return SCI_ERR_LAUNCH_FAILED;
- times++;
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
-
- /*Moved the reader start into startRouting*/
- /* if (rc == SCI_SUCCESS)
- rc = topology.routingList->startReaders();
- }*/
-
- return rc;
-}
-
-int Launcher::startAll()
-{
- int rc = SCI_SUCCESS;
- CHILD_MAP::iterator it;
- int hndl;
- Stream *stream;
-
- try {
- for (it = childMap.begin(); it != childMap.end(); ++it) {
- struct iovec sign = {0};
- psec_idbuf_desc &usertok = SSHFUNC->get_token();
- hndl = it->first;
- stream = it->second;
-
- env.set("SCI_CLIENT_ID", hndl);
- log_debug("Launcher: start client(%d)", hndl);
- psec_sign_data(&sign, "%s", env.getEnvString().c_str());
- *stream << usertok << env.getEnvString() << sign << endl;
- psec_free_signature(&sign);
- rc = topology.routingList->startRouting(hndl, stream);
- if (rc != SCI_SUCCESS) {
- childMap.clear();
- return rc;
- }
- }
- } catch (SocketException &e) {
- rc = SCI_ERR_LAUNCH_FAILED;
- log_warn("Launcher: socket exception: %s", e.getErrMsg().c_str());
- }
- childMap.clear();
-
- return rc;
-}
-
-int Launcher::launchBE(int beID, const char * hostname)
-{
- int rc;
- char queueName[32];
- Message *flistMsg = topology.filterList->getFlistMsg();
-
- initEnv();
- topology.routingList->addBE(SCI_GROUP_ALL, VALIDBACKENDIDS, beID, true);
- topology.routingList->queryQueue(beID)->produce(flistMsg);
-
- rc = launchClient(beID, topology.bePath, hostname, mode);
- if (rc != SCI_SUCCESS) {
- topology.routingList->removeBE(beID);
- } else {
- if (mode == REGISTER) {
- int times = 0;
- while (!topology.routingList->allRouted()) {
- if (times >= (waitTimes * 1000000 / WAIT_INTERVAL))
- return SCI_ERR_LAUNCH_FAILED;
- times++;
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
- /*Moved the reader start into startRouting*/
- //topology.routingList->startReading(beID);
- }
-
- return rc;
-}
-
-int Launcher::launchAgent(int beID, const char * hostname)
-{
- int rc;
-
- initEnv();
- Topology *childTopo = new Topology(topology.nextAgentID--);
- childTopo->fanOut = topology.fanOut;
- childTopo->level = topology.level + 1;
- childTopo->height = topology.height + 1;
- childTopo->bePath = topology.bePath;
- childTopo->agentPath = topology.agentPath;
- childTopo->beMap[beID] = hostname;
-
- topology.routingList->addBE(SCI_GROUP_ALL, childTopo->agentID, beID, true);
- MessageQueue *queue = topology.routingList->queryQueue(childTopo->agentID);
-
- rc = launchClient(childTopo->agentID, childTopo->agentPath, hostname);
- if (rc == SCI_SUCCESS) {
- Message *flistMsg = topology.filterList->getFlistMsg();
- Message *topoMsg = childTopo->packMsg();
- if (flistMsg != NULL) {
- incRefCount(flistMsg->getRefCount());
- queue->produce(flistMsg);
- }
- queue->produce(topoMsg);
- topology.incWeight(childTopo->agentID);
- /*Moved the reader start into startRouting*/
- //topology.routingList->startReading(childTopo->agentID);
- } else {
- topology.routingList->removeBE(beID);
- }
- delete childTopo;
-
- return rc;
-}
-
-int Launcher::launchClient(int ID, string &path, string host, Launcher::MODE m, bool batch, int beID)
-{
- int rc = 0;
- Listener *listener = NULL;
- assert(!path.empty());
- if ((m == REGISTER) || !shell.empty()) {
- listener = gInitializer->initListener();
- }
- if (listener != NULL) {
- int port = 0;
- while (1) {
- port = listener->getBindPort();
- if (port > 0)
- break;
- SysUtil::sleep(WAIT_INTERVAL);
- }
-
- env.set("SCI_PARENT_PORT", port);
- }
- env.set("SCI_CLIENT_ID", ID);
- log_debug("Launch client: %s: %s", host.c_str(), path.c_str());
-
- if (shell.empty()) {
- string username = gCtrlBlock->getUsername();
- try {
- int hndl = ID;
- struct iovec sign = {0};
- int jobKey = gCtrlBlock->getJobKey();
- psec_idbuf_desc &usertok = SSHFUNC->get_token();
- Stream *stream = new Stream();
- SCI_connect_hndlr *conn = NULL;
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::AGENT)
- conn = gCtrlBlock->getEndInfo()->connect_hndlr;
- if (conn == NULL) {
- int cID = ID;
- if (embedMode && (beID >= 0)) {
- cID = beID;
- }
- rc = psec_sign_data(&sign, "%d%d%d%s%s", m, jobKey, cID, path.c_str(), env.getEnvString().c_str());
- stream->init(host.c_str(), scidPort);
- *stream << username << usertok << sign << (int)m << jobKey << cID << path << env.getEnvString() << endl;
- psec_free_signature(&sign);
- } else {
- int sockfd = conn(host.c_str());
- if (sockfd < 0) {
- log_error("Launcher: invalid return sockfd(%d) of the connection handler.", sockfd);
- return SCI_ERR_LAUNCH_FAILED;
- }
- stream->init(sockfd);
- }
- if (m == REGISTER) {
- stream->stop();
- delete stream;
- } else {
- if (batch) {
- childMap[hndl] = stream;
- } else {
- psec_sign_data(&sign, "%s", env.getEnvString().c_str());
- *stream << usertok << env.getEnvString() << sign << endl;
- psec_free_signature(&sign);
- rc = topology.routingList->startRouting(hndl, stream);
- }
- }
- } catch (SocketException &e) {
- rc = SCI_ERR_LAUNCH_FAILED;
- log_error("Launcher: socket exception: %s", e.getErrMsg().c_str());
- }
- } else {
- if ((strcasecmp(shell.c_str(), "rsh") == 0) || (strcasecmp(shell.c_str(), "ssh") == 0)) {
- string cmd = shell + " " + host + " -n '" + env.getExportcmd() + path + " >&- 2>&- <&- &'";
- rc = system(cmd.c_str());
- }
- }
-
- return rc;
-}
-
-int Launcher::launch_tree1()
-{
- int rc;
-
- // this tree will have minimum agents
- int totalSize = (int) topology.beMap.size();
- char queueName[32];
- Message *flistMsg = topology.filterList->getFlistMsg();
-
- if (totalSize <= topology.fanOut) {
- // no need to generate agent
- BEMap::iterator it = topology.beMap.begin();
-
- int initID = (*it).first;
- int startID = initID;
- int endID = initID + totalSize - 1;
- topology.routingList->initSubGroup(VALIDBACKENDIDS, startID, endID);
- if (flistMsg != NULL)
- flistMsg->setRefCount(totalSize + 1);
-
- for ( ; it != topology.beMap.end(); ++it) {
- MessageQueue *queue = topology.routingList->queryQueue((*it).first);
- queue->produce(flistMsg);
-
- rc = launchClient((*it).first, topology.bePath, (*it).second, mode, true);
- if (rc != SCI_SUCCESS) {
- return rc;
- }
- }
-
- return SCI_SUCCESS;
- }
-
- int stride = (int) ::ceil (::pow(double(topology.fanOut), topology.height - topology.level - 1));
- int divf;
- if ((totalSize % stride) == 0) {
- divf = totalSize / stride;
- } else {
- divf = (totalSize - totalSize%stride) / stride + 1;
- }
- int step;
- if ((totalSize % divf) == 0) {
- step = totalSize / divf;
- } else {
- step = (totalSize - (totalSize % divf)) / divf + 1;
- }
- if (flistMsg != NULL)
- flistMsg->setRefCount((totalSize + step - 1) / step + 1);
- ::srand((unsigned int) ::time(NULL));
- BEMap::iterator it = topology.beMap.begin();
- int initID = (*it).first;
- for (int i = 0; i < totalSize; i += step) {
- it = topology.beMap.begin();
- for (int j = 0; j < i; j++) {
- ++it;
- }
-
- // generate an agent
- Topology *childTopo = new Topology(topology.nextAgentID--);
- childTopo->fanOut = topology.fanOut;
- childTopo->level = topology.level + 1;
- childTopo->height = topology.height;
- childTopo->bePath = topology.bePath;
- childTopo->agentPath = topology.agentPath;
-
- int min = (totalSize - i) < step ? (totalSize - i) : step;
-
- int startID = initID + i;
- int endID = initID + i + min - 1;
- topology.routingList->initSubGroup(childTopo->agentID, startID, endID);
-
- string hostname;
-
- int pos = ::rand() % min;
- for (int j = 0; j < min; j++) {
- if (pos == j) {
- hostname = (*it).second;
- }
- childTopo->beMap[(*it).first] = (*it).second;
- topology.incWeight(childTopo->agentID);
- ++it;
- }
-
- rc = launchClient(childTopo->agentID, topology.agentPath, hostname, INTERNAL, true);
- if (rc == SCI_SUCCESS) {
- Message *msg = childTopo->packMsg();
- MessageQueue *queue = topology.routingList->queryQueue(childTopo->agentID);
- queue->produce(flistMsg); // before topology message
- queue->produce(msg);
- delete childTopo;
- } else {
- delete childTopo;
- return rc;
- }
- }
-
- return SCI_SUCCESS;
-}
-
-int Launcher::launch_tree2()
-{
- // this tree will have maximum agents but supposed to have better performance
- // after evaluated by HongJun
- int i, rc = SCI_SUCCESS;
- int left = 0;
- int totalSize = topology.beMap.size();
- int step;
- int size = 0;
- int out = topology.fanOut;
- Message *flistMsg = topology.filterList->getFlistMsg();
- int ref = 0;
- bool bottom = false;
-
- if (totalSize == 0)
- return SCI_SUCCESS;
-
- bottom = ((totalSize + out - 1) / out) > 1 ? false : true;
- ref = (totalSize > out) ? out : totalSize;
- if (flistMsg != NULL)
- flistMsg->setRefCount(ref + totalSize); // Keep it undeleted
- // launch all of my back ends
- BEMap::iterator it = topology.beMap.begin();
- int initID = it->first;
- while (size < totalSize) {
- BEMap::iterator fEnt = it; // first entry of each step
- left = totalSize - size;
- step = (left + out - 1) / out;
- out--;
- if (step == 1) {
- topology.routingList->addBE(SCI_GROUP_ALL, VALIDBACKENDIDS, it->first, true);
- MessageQueue *queue = topology.routingList->queryQueue(it->first);
- queue->produce(flistMsg);
- if ((gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT)
- && (fEnt == topology.beMap.begin())) {
- gCtrlBlock->getPurifierProcessor()->setInQueue(queue);
- gCtrlBlock->setMyHandle(it->first);
- gCtrlBlock->getPurifierProcessor()->start();
- } else {
- rc = launchClient(it->first, topology.bePath, it->second, mode, true);
- if (rc != SCI_SUCCESS) {
- topology.routingList->removeBE(it->first);
- return rc;
- }
- }
- it++;
- // do the notify when it is back agent.
- if ((size == (totalSize-1)) && bottom && (gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT)) {
- int tmp_hndl = gCtrlBlock->getMyEmbedHandle();
- int tmp_initID = gCtrlBlock->getAgent(tmp_hndl)->getRoutingList()->getTopology()->getInitID();
- if ((mode == REGISTER) || !shell.empty()) {
- int times = 0;
- while (!gCtrlBlock->allRouted()) {
- if (times >= (waitTimes * 1000000 / WAIT_INTERVAL)) {
- rc = SCI_ERR_LAUNCH_FAILED;
- *(int *)gNotifier->getRetVal(tmp_initID) = rc;
- break;
- }
- times++;
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
- gNotifier->notify(tmp_initID);
- }
- } else {
- int auxID = it->first;
- string &hostname = it->second;
- Topology *childTopo = new Topology(topology.nextAgentID--);
- childTopo->fanOut = topology.fanOut;
- childTopo->level = topology.level + 1;
- childTopo->height = topology.height;
- childTopo->bePath = topology.bePath;
- childTopo->agentPath = topology.agentPath;
-
- int startID = initID + size;
- int endID = initID + size + step - 1;
- topology.routingList->initSubGroup(childTopo->agentID, startID, endID);
- MessageQueue *queue = topology.routingList->queryQueue(childTopo->agentID);
-
- for (i = 0; i < step; i++) {
- childTopo->beMap[it->first] = it->second;
- topology.incWeight(childTopo->agentID);
- it++;
- }
-
- if ((gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT)
- && (fEnt == topology.beMap.begin())) {
- EmbedAgent *beAgent = new EmbedAgent();
- beAgent->init(childTopo->agentID, NULL, queue, gCtrlBlock->getUpQueue());
- rc = beAgent->work();
- } else {
- MODE m = INTERNAL;
- if (embedMode)
- m = mode;
- rc = launchClient(childTopo->agentID, topology.agentPath, hostname, m, true, auxID);
- }
- if (rc == SCI_SUCCESS) {
- Message *msg = childTopo->packMsg();
- queue->produce(flistMsg); // make the filter list loaded before topology
- queue->produce(msg);
- delete childTopo;
- } else {
- delete childTopo;
- return rc;
- }
- }
- size += step;
- }
-
- return rc;
-}
-
-int Launcher::launch_tree3()
-{
- // this tree will have maximum agents but supposed to have better performance
- // after evaluated by HongJun
- int i, rc = SCI_SUCCESS;
- int left = 0;
- int totalSize = topology.beMap.size();
- int step;
- int size = 0;
- int out = topology.fanOut;
- Message *flistMsg = topology.filterList->getFlistMsg();
- int ref = 0;
- bool shift = true;
- bool bottom = false;
-
- if (totalSize == 0)
- return SCI_SUCCESS;
-
- bottom = ((totalSize + out - 1) / out) > 1 ? false : true;
- ref = (totalSize > out) ? out : totalSize;
- if (flistMsg != NULL)
- flistMsg->setRefCount(ref + totalSize); // Keep it undeleted
- // launch all of my back ends
- BEMap::iterator it = topology.beMap.begin();
- int initID = it->first;
- while (size < totalSize) {
- BEMap::iterator fEnt = it; // first entry of each step
- left = totalSize - size;
- step = (left + out - 1) / out;
- out--;
- if (step == 1) {
- topology.routingList->addBE(SCI_GROUP_ALL, VALIDBACKENDIDS, it->first, true);
- MessageQueue *queue = topology.routingList->queryQueue(it->first);
- queue->produce(flistMsg);
- if ((gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT)
- && (fEnt == topology.beMap.begin())) {
- gCtrlBlock->getPurifierProcessor()->setInQueue(queue);
- gCtrlBlock->setMyHandle(it->first);
- gCtrlBlock->getPurifierProcessor()->start();
- } else {
- rc = launchClient(it->first, topology.bePath, it->second, mode, true);
- if (rc != SCI_SUCCESS) {
- topology.routingList->removeBE(it->first);
- return rc;
- }
- }
- it++;
- // do the notify when it is back agent.
- if ((size == (totalSize-1)) && bottom && (gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT)) {
- int tmp_hndl = gCtrlBlock->getMyEmbedHandle();
- int tmp_initID = gCtrlBlock->getAgent(tmp_hndl)->getRoutingList()->getTopology()->getInitID();
- if ((mode == REGISTER) || !shell.empty()) {
- int times = 0;
- while (!gCtrlBlock->allRouted()) {
- if (times >= (waitTimes * 1000000 / WAIT_INTERVAL)) {
- rc = SCI_ERR_LAUNCH_FAILED;
- *(int *)gNotifier->getRetVal(tmp_initID) = rc;
- break;
- }
- times++;
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
- gNotifier->notify(tmp_initID);
- }
- } else {
- string &hostname = it->second;
- if (shift) {
- int aID = topology.agentID;
- int tmp = aID;
- BEMap::iterator fh = it;
- do {
- tmp = aID / topology.fanOut;
- if (tmp * topology.fanOut == aID) {
- fh++;
- } else {
- break;
- }
- aID = tmp;
- } while (aID > 0);
- hostname = fh->second;
- shift = false;
- }
- Topology *childTopo = new Topology(topology.nextAgentID--);
- childTopo->fanOut = topology.fanOut;
- childTopo->level = topology.level + 1;
- childTopo->height = topology.height;
- childTopo->bePath = topology.bePath;
- childTopo->agentPath = topology.agentPath;
-
- int startID = initID + size;
- int endID = initID + size + step - 1;
- topology.routingList->initSubGroup(childTopo->agentID, startID, endID);
- MessageQueue *queue = topology.routingList->queryQueue(childTopo->agentID);
-
- for (i = 0; i < step; i++) {
- childTopo->beMap[it->first] = it->second;
- topology.incWeight(childTopo->agentID);
- it++;
- }
-
- if ((gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT)
- && (fEnt == topology.beMap.begin())) {
- EmbedAgent *beAgent = new EmbedAgent();
- beAgent->init(childTopo->agentID, NULL, queue, gCtrlBlock->getUpQueue());
- rc = beAgent->work();
- } else {
- rc = launchClient(childTopo->agentID, topology.agentPath, hostname, INTERNAL, true);
- }
- if (rc == SCI_SUCCESS) {
- Message *msg = childTopo->packMsg();
- queue->produce(flistMsg); // make the filter list loaded before topology
- queue->produce(msg);
- delete childTopo;
- } else {
- delete childTopo;
- return rc;
- }
- }
- size += step;
- }
-
- return rc;
-}
-
-int Launcher::launch_tree4()
-{
- // this tree will have maximum agents but supposed to have better performance
- // after evaluated by HongJun
- int i, rc = SCI_SUCCESS;
- int left = 0;
- int totalSize = topology.beMap.size();
- int step = 1;
- int size = 0;
- int out = topology.fanOut;
- Message *flistMsg = topology.filterList->getFlistMsg();
- int ref = 0;
- bool shift = true;
-
- if (totalSize == 0)
- return SCI_SUCCESS;
-
- ref = (totalSize > out) ? out : totalSize;
- if (flistMsg != NULL)
- flistMsg->setRefCount(ref + totalSize); // Keep it undeleted
- // launch all of my back ends
- BEMap::iterator it = topology.beMap.begin();
- int initID = it->first;
- while (1) {
- BEMap::iterator fEnt = it; // first entry of each step
- if (step == 1) {
- topology.routingList->addBE(SCI_GROUP_ALL, VALIDBACKENDIDS, it->first, true);
- MessageQueue *queue = topology.routingList->queryQueue(it->first);
- queue->produce(flistMsg);
- if ((gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT)
- && (fEnt == topology.beMap.begin())) {
- gCtrlBlock->getPurifierProcessor()->setInQueue(queue);
- gCtrlBlock->setMyHandle(it->first);
- gCtrlBlock->getPurifierProcessor()->start();
- } else {
- rc = launchClient(it->first, topology.bePath, it->second, mode, true);
- if (rc != SCI_SUCCESS) {
- topology.routingList->removeBE(it->first);
- return rc;
- }
- }
- it++;
- } else {
- int auxID = it->first;
- string &hostname = it->second;
- Topology *childTopo = new Topology(topology.nextAgentID--);
- childTopo->fanOut = topology.fanOut;
- childTopo->level = topology.level + 1;
- childTopo->height = topology.height;
- childTopo->bePath = topology.bePath;
- childTopo->agentPath = topology.agentPath;
-
- int startID = initID + size;
- int endID = initID + size + step - 1;
- topology.routingList->initSubGroup(childTopo->agentID, startID, endID);
- MessageQueue *queue = topology.routingList->queryQueue(childTopo->agentID);
-
- for (i = 0; i < step; i++) {
- childTopo->beMap[it->first] = it->second;
- topology.incWeight(childTopo->agentID);
- it++;
- }
-
- if ((gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT)
- && (fEnt == topology.beMap.begin())) {
- assert(!"should not come here");
- } else {
- MODE m = INTERNAL;
- if (embedMode)
- m = mode;
- rc = launchClient(childTopo->agentID, topology.agentPath, hostname, m, true, auxID);
- }
- if (rc == SCI_SUCCESS) {
- Message *msg = childTopo->packMsg();
- queue->produce(flistMsg); // make the filter list loaded before topology
- queue->produce(msg);
- delete childTopo;
- } else {
- delete childTopo;
- return rc;
- }
- }
- size += step;
- if (size >= totalSize) {
- // do the notify when it is back agent.
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT) {
- int tmp_hndl = gCtrlBlock->getMyEmbedHandle();
- int tmp_initID = gCtrlBlock->getAgent(tmp_hndl)->getRoutingList()->getTopology()->getInitID();
- if ((mode == REGISTER) || !shell.empty()) {
- int times = 0;
- while (!gCtrlBlock->allRouted()) {
- if (times >= (waitTimes * 1000000 / WAIT_INTERVAL)) {
- rc = SCI_ERR_LAUNCH_FAILED;
- *(int *)gNotifier->getRetVal(tmp_initID) = rc;
- break;
- }
- times++;
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
- gNotifier->notify(tmp_initID);
- }
- break;
- }
- left = totalSize - size;
- step = (left + out - 1) / out;
- out--;
- }
-
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/launcher.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/launcher.hpp
deleted file mode 100644
index 0f7f06e..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/launcher.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Launcher
-
- Description: Runtime Launch the clients.
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 06/21/10 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _LAUNCHER_HPP
-#define _LAUNCHER_HPP
-
-#include "envvar.hpp"
-
-#include <map>
-#include <string>
-
-using namespace std;
-
-class Topology;
-class Stream;
-
-class Launcher
-{
- public:
- enum MODE {
- INTERNAL,
- REGISTER,
- REQUEST
- };
- typedef map<int, Stream *> CHILD_MAP;
-
- private:
- Topology &topology;
- EnvVar env;
- string shell;
- string localName;
- int scidPort;
- MODE mode;
- bool embedMode;
- CHILD_MAP childMap;
- int waitTimes;
-
- public:
- Launcher(Topology &topy);
- ~Launcher();
-
- int initEnv();
- int launch();
-
- int launchBE(int beID, const char *hostname);
- int launchAgent(int beID, const char *hostname);
-
- private:
- int launchClient(int ID, string &path, string host, MODE m = INTERNAL, bool batch = false, int beID = -1);
-
- int launch_tree1(); // mininum agents
- int launch_tree2(); // maximum agents
- int launch_tree3(); // maximum agents
- int launch_tree4(); // maximum agents
-
- int startAll();
-};
-
-#endif
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/listener.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/listener.cpp
deleted file mode 100644
index b807226..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/listener.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Listener
-
- Description: Listener Thread.
-
- Author: Tu HongJ, Liu Wei, Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/socket.h>
-#include <sys/wait.h>
-
-#include "log.hpp"
-#include "stream.hpp"
-#include "sshfunc.hpp"
-#include "exception.hpp"
-
-#include "listener.hpp"
-#include "ctrlblock.hpp"
-#include "embedagent.hpp"
-#include "socket.hpp"
-#include "readerproc.hpp"
-#include "writerproc.hpp"
-#include "routinglist.hpp"
-#include "queue.hpp"
-#include "tools.hpp"
-#include "ipconverter.hpp"
-
-Listener:: Listener(int hndl)
- : Thread(hndl), bindPort(-1)
-{
- char tmp[256] = {0};
- socket = new Socket();
- ::gethostname(tmp, sizeof(tmp));
- bindName = SysUtil::get_hostname(tmp);
- if (bindName == "") {
- bindName = tmp;
- }
-}
-
-Listener::~Listener()
-{
- delete socket;
-}
-
-int Listener::init()
-{
- bindPort = 0;
- char *envp = ::getenv("SCI_LISTENER_PORT");
- if (envp) {
- bindPort = atoi(envp);
- }
- envp = ::getenv("SCI_DEVICE_NAME");
- if (envp) {
- IPConverter converter;
- string ifname = envp;
- if (converter.getIP(ifname, true, bindName) == 0) {
- socket->iflisten(bindPort, ifname);
- } else {
- log_error("Listener: invalid device name(%s). Will use the localhost", ifname.c_str());
- socket->listen(bindPort, NULL);
- }
- } else {
- socket->listen(bindPort, NULL);
- }
-
- log_debug("listener binded to port %d", bindPort);
-
- return bindPort;
-}
-
-int Listener::stop()
-{
- setState(false);
- socket->stopAccept();
- join();
-
- return 0;
-}
-
-void Listener::run()
-{
- int child = -1;
- int hndl = -1;
- int pID = -1;
- int key;
- int rc;
- struct iovec sign = {0};
- bool state = true;
-
- while (getState()) {
- child = -1;
- try {
- if (!state) {
- init();
- state = true;
- }
- child = socket->accept();
- } catch (SocketException &e) {
- log_warn("Listener: socket broken: %s", e.getErrMsg().c_str());
- if (child >= 0) {
- shutdown(child, SHUT_RDWR);
- close(child);
- }
- state = false;
- SysUtil::sleep(WAIT_INTERVAL);
- continue;
- } catch (...) {
- log_warn("Listener: unknown exception: %s");
- break;
- }
- if (child < 0) {
- // invalid connection
- continue;
- }
- if (!gCtrlBlock->isEnabled()) {
- log_debug("Listener: uninitialized, rejected this connection");
- break;
- }
-
- log_debug("Listener: accepted a child agent sockfd %d", child);
-
- if (gCtrlBlock->getRecoverMode()) {
- rc = gCtrlBlock->isActiveSockfd(child);
- if (rc != 0) {
- log_warn("Listener: the fd %d is already used", child);
- shutdown(child, SHUT_RDWR);
- close(child);
- log_warn("Listener: closed the fd %d", child);
- continue;
- }
- }
-
- Stream *stream = NULL;
- try {
- stream = new Stream();
- stream->init(child);
-
- *stream >> key >> hndl;
- if (key != gCtrlBlock->getJobKey()) {
- log_warn("Listener: client with invalid credential is trying to connect. key = %d, JobKey = %d, hndl = %d",
- key, gCtrlBlock->getJobKey(), hndl);
- stream->stop();
- delete stream;
- stream = NULL;
- continue;
- }
- if (hndl >= 0) {
- log_debug("Listener: back end %d is connected. Parent ID is %d", hndl, pID);
- } else {
- log_debug("Listener: agent %d is connected. Parent ID is %d", hndl, pID);
- }
-
- log_debug("Listener: begin to get pID and sign");
- *stream >> pID >> sign >> endl;
-
- rc = psec_verify_data(&sign, "%d%d%d", key, hndl, pID);
- delete [] (char *)sign.iov_base;
- if (rc != 0) {
- log_warn("Misleading message comes.");
- stream->stop();
- delete stream;
- stream = NULL;
- continue;
- }
- log_debug("Listener: begin to send back endl");
- *stream << endl;
- rc = gCtrlBlock->getAgent(pID)->getRoutingList()->startRouting(hndl, stream);
- } catch (Exception &e) {
- log_error("Listener: exception %s", e.getErrMsg());
- break;
- } catch (ThreadException &e) {
- log_error("Listener: thread exception %d", e.getErrCode());
- continue; // sometimes, the writer thread is starting
- } catch (SocketException &e) {
- log_error("Listener: socket exception: %s", e.getErrMsg().c_str());
- if (stream != NULL) {
- stream->stop();
- delete stream;
- stream = NULL;
- }
- continue;
- } catch (std::bad_alloc) {
- log_error("Listener: out of memory");
- break;
- } catch (...) {
- log_error("Listener: unknown exception");
- break;
- }
- }
-
- setState(false);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/listener.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/listener.hpp
deleted file mode 100644
index a028191..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/listener.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Listener
-
- Description: Listener Thread.
-
- Author: Tu HongJ, Liu Wei, Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _LISTENER_HPP
-#define _LISTENER_HPP
-
-#include "general.hpp"
-#include "thread.hpp"
-#include <string>
-
-using namespace std;
-
-class Socket;
-
-class Listener : public Thread
-{
- private:
- int bindPort;
- Socket *socket;
- string bindName;
-
- public:
- Listener(int hndl);
- virtual ~Listener();
-
- int init();
- int stop();
-
- int getBindPort() { return bindPort; }
- string & getBindName() { return bindName; }
-
- int numOfSockFds() { return socket->numOfListenFds(); }
- int getSockFds(int *fds) { return socket->getListenSockfds(fds); }
-
- virtual void run();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/message.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/message.cpp
deleted file mode 100644
index 6100a87..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/message.cpp
+++ /dev/null
@@ -1,251 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Message
-
- Description: SCI internal message
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
- 07/23/12 ronglli Detect error message type
-
-****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <pthread.h>
-#include <sys/time.h>
-#include <time.h>
-#include <errno.h>
-#include <assert.h>
-#include <string.h>
-
-#include "exception.hpp"
-#include "log.hpp"
-#include "sshfunc.hpp"
-#include "atomic.hpp"
-
-#include "message.hpp"
-#include "queue.hpp"
-
-Message::Message(Type t)
- : type(t)
-{
- msgID = DEFAULT_MSG_ID;
- filterID = SCI_FILTER_NULL;
- group= SCI_GROUP_ALL;
- len = 0;
- buf = NULL;
-
- refCount = 1;
-}
-
-Message::~Message()
-{
- if (buf && len) {
- delete [] buf;
- }
-
- buf = NULL;
- len = 0;
-}
-
-Message * Message::joinSegments(Message *msg, Stream *inS, MessageQueue *inQ)
-{
- int i = 0;
- int segnum = msg->getID() - 1; // exclude the SEGMENT header
- Message *newMsg = NULL;
- Message **segments = (Message **)::malloc(segnum * sizeof(Message *));
- newMsg = new Message();
- if (inS) {
- delete msg;
- for (i = 0; i < segnum; i++) {
- segments[i] = new Message();
- *inS >> *segments[i];
- }
- } else {
- inQ->remove();
- inQ->multiConsume(segments, segnum);
- }
- newMsg->joinSegments(segments, segnum);
- ::free(segments);
-
- return newMsg;
-}
-
-int Message::joinSegments(Message **segments, int segnum)
-{
- int i;
- char **bufs = (char **)malloc(segnum * sizeof(char *));
- int *sizes = new int[segnum];
- int fid = segments[0]->getFilterID();
- sci_group_t gid = segments[0]->getGroup();
- Type typ = segments[0]->getType();
- int id = segments[0]->getID();
-
- for (i = 0; i < segnum; i++) {
- bufs[i] = segments[i]->getContentBuf();
- sizes[i] = segments[i]->getContentLen();
- }
- build(fid, gid, segnum, bufs, sizes, typ, id);
- ::free(bufs);
- delete []sizes;
- for (i = 0; i < segnum; i++) {
- if (decRefCount(segments[i]->getRefCount()) == 0) {
- delete segments[i];
- }
- }
-
- return 0;
-}
-
-void Message::build(int fid, sci_group_t g, int num_bufs, char *bufs[], int sizes[], Type t, int id)
-{
- type = t;
- msgID = id;
-
- filterID = fid;
- group = g;
-
- len = 0;
- for (int i=0; i<num_bufs; i++) {
- len += sizes[i];
- }
-
- if (len > 0) {
- buf = new char[len];
- char *ptr = buf;
- for (int i=0; i<num_bufs; i++) {
- if (sizes[i] > 0) {
- ::memcpy(ptr, bufs[i], sizes[i]);
- ptr += sizes[i];
- }
- }
- }
-}
-
-void Message::setRefCount(int cnt)
-{
- refCount = cnt;
-}
-
-int & Message::getRefCount()
-{
- return refCount;
-}
-
-bool Message::isValidType(int type)
-{
- bool flag = false;
- switch (type) {
- case Message::UNKNOWN:
- case Message::CONFIG:
- case Message::COMMAND:
- case Message::FILTER_LOAD:
- case Message::FILTER_UNLOAD:
- case Message::GROUP_CREATE:
- case Message::GROUP_FREE:
- case Message::GROUP_OPERATE:
- case Message::GROUP_OPERATE_EXT:
- case Message::QUIT:
- case Message::DATA:
- case Message::BE_REMOVE:
- case Message::BE_ADD:
- case Message::FILTER_LIST:
- case Message::RELEASE:
- case Message::UNCLE:
- case Message::UNCLE_LIST:
- case Message::PARENT:
- case Message::ERROR_EVENT:
- case Message::GROUP_MERGE:
- case Message::GROUP_DROP:
- case Message::SHUTDOWN:
- case Message::KILLNODE:
- case Message::INVALID_POLL:
- case Message::SOCKET_BROKEN:
- case Message::ERROR_DATA:
- case Message::ERROR_THREAD:
- case Message::SEGMENT:
- flag = true;
- break;
- default:
- flag = false;
- break;
- }
- return flag;
-}
-
-Stream & operator >> (Stream &stream, Message &msg)
-{
- int rc;
- struct iovec vecs[6];
- struct iovec sign = {0};
- char fmt[32] = {0};
-
- // receive message header
- stream >> (int &) msg.type;
- if (!msg.isValidType(msg.type)) {
- log_error("message: invalid message type %d", msg.type);
- throw SocketException(SocketException::NET_ERR_DATA);
- }
-
- stream >> msg.msgID;
- stream >> msg.filterID;
- stream >> (int &) msg.group;
-
- // receive message content
- stream >> msg.len;
- if (msg.len > 0) {
- msg.buf = new char[msg.len];
- ::memset(msg.buf, 0, msg.len);
- stream.read(msg.buf, msg.len);
- }
- stream >> sign;
- sprintf(fmt, "%%d%%d%%d%%d%%d%%%ds", msg.len);
- rc = psec_verify_data(&sign, fmt, msg.type, msg.msgID, msg.filterID, msg.group, msg.len, msg.buf);
- delete [] (char *)sign.iov_base;
- if (rc != 0) {
- throw Exception(Exception::INVALID_SIGNATURE);
- }
-
- return stream;
-}
-
-Stream & operator << (Stream &stream, Message &msg)
-{
- struct iovec vecs[6];
- struct iovec sign = {0};
- char fmt[32] = {0};
-
- sprintf(fmt, "%%d%%d%%d%%d%%d%%%ds", msg.len);
- psec_sign_data(&sign, fmt, msg.type, msg.msgID, msg.filterID, msg.group, msg.len, msg.buf);
- // send message header
- stream << (int) msg.type;
- stream << msg.msgID;
- stream << msg.filterID;
- stream << (int) msg.group;
-
- // send message content
- stream << msg.len;
- if (msg.len > 0) {
- stream.write(msg.buf, msg.len);
- }
- stream << sign;
- psec_free_signature(&sign);
-
- return stream.flush();
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/message.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/message.hpp
deleted file mode 100644
index f27393c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/message.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Message
-
- Description: SCI internal message
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
- 01/16/12 ronglli Add codes to detect SOCKET_BROKEN
-
-****************************************************************************/
-
-#ifndef _MESSAGE_HPP
-#define _MESSAGE_HPP
-
-#include "sci.h"
-
-#include "stream.hpp"
-
-#include "general.hpp"
-
-const int DEFAULT_MSG_ID = (-1024 * 1024);
-
-class MessageQueue;
-class Stream;
-
-class Message
-{
- public:
- enum Type {
- UNKNOWN = -1,
- // used for downstream messages
- CONFIG = -1001,
- COMMAND = -1002,
- FILTER_LOAD = -1003,
- FILTER_UNLOAD = -1004,
- GROUP_CREATE = -1005,
- GROUP_FREE = -1006,
- GROUP_OPERATE = -1007,
- GROUP_OPERATE_EXT = -1008,
- QUIT = -1009,
- // used for upstream messages
- DATA = -1010,
- // used for dynamic +/- backend messages
- BE_REMOVE = -1011,
- BE_ADD = -1012,
- FILTER_LIST = -1013,
- RELEASE = -1014,
- // used for error handling
- UNCLE = -2001,
- UNCLE_LIST = -2002,
- PARENT = -2003,
- ERROR_EVENT = -2004, // failure/recovery events
- GROUP_MERGE = -2005,
- GROUP_DROP = -2006,
- // used for error injection
- SHUTDOWN = -3001,
- KILLNODE = -3002,
- // used for polling mode
- INVALID_POLL = -4001,
- SOCKET_BROKEN = -4002,
- ERROR_DATA = -4003,
- ERROR_THREAD = -4004,
- // used for message segmentation
- SEGMENT = -5001
- };
-
- private:
- // message header
- Type type;
- int msgID;
- int filterID;
- sci_group_t group;
-
- // message content
- int len;
-
- int refCount;
- char *buf;
-
- public:
- Message(Type t = UNKNOWN);
- ~Message();
-
- int joinSegments(Message **segments, int segnum);
- static Message *joinSegments(Message *msg, Stream *inS, MessageQueue *inQ);
- void build(int fid, sci_group_t g, int num_bufs, char *bufs[], int sizes[], Type t,
- int id = DEFAULT_MSG_ID);
- void setRefCount(int cnt);
- int & getRefCount();
- bool isValidType(int type);
-
- void setID(int id) { msgID = id; }
- void setFilterID(int id) { filterID = id; }
- void setGroup(sci_group_t g) { group = g; }
- Type getType() { return type; }
- int getID() { return msgID; }
- int getFilterID() { return filterID; }
- sci_group_t getGroup() { return group; }
-
- char * getContentBuf() { return buf; }
- int getContentLen() { return len; }
-
- friend Stream & operator >> (Stream &stream, Message &msg);
- friend Stream & operator << (Stream &stream, Message &msg);
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/observer.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/observer.cpp
deleted file mode 100644
index 954d16b..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/observer.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Observer
-
- Description: For external notification usage.
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/12/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include "observer.hpp"
-#include <assert.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stddef.h>
-#include <fcntl.h>
-#include <stdio.h>
-
-#include "exception.hpp"
-
-Observer::Observer()
-{
- pipeFd[0] = -1;
- pipeFd[1] = -1;
-
- count = 0;
- hasChar = false;
-
- int rc = ::pipe(pipeFd);
- if (rc != 0) {
- throw Exception(Exception::SYS_CALL);
- }
- async(pipeFd[0]);
- async(pipeFd[1]);
-
- ::pthread_mutex_init(&mtx, NULL);
-}
-
-Observer::~Observer()
-{
- ::close(pipeFd[0]);
- ::close(pipeFd[1]);
-
- ::pthread_mutex_destroy(&mtx);
-}
-
-void Observer::notify()
-{
- lock();
- try {
- count++;
- check();
- } catch (...) {
- unlock();
- throw;
- }
- unlock();
-}
-
-void Observer::unnotify()
-{
- lock();
- try {
- if (hasChar) {
- readChar();
- hasChar = false;
- }
- check();
- } catch (...) {
- unlock();
- throw;
- }
- unlock();
-}
-
-int Observer::getPollFd()
-{
- return pipeFd[0];
-}
-
-int Observer::getPipeWriteFd()
-{
- return pipeFd[1];
-}
-
-void Observer::async(int fd)
-{
- int flags, newflags;
-
- flags = ::fcntl(fd, F_GETFL);
- if (flags < 0)
- throw Exception(Exception::SYS_CALL);
-
- newflags = flags & ~O_NONBLOCK;
-
- if (newflags != flags) {
- if (::fcntl(fd, F_SETFL, newflags) < 0) {
- throw Exception(Exception::SYS_CALL);
- }
- }
-}
-
-void Observer::readChar()
-{
- // read a char signal from the socket
- char signal;
- while (true) {
- int bytes = ::read(pipeFd[0], &signal, sizeof(char));
- if (bytes < 0) {
- if (errno == EINTR) {
- continue;
- }
- if ((errno == EAGAIN) || (errno == EWOULDBLOCK)) {
- break;
- }
- throw Exception(Exception::SYS_CALL);
- }
- break;
- }
-}
-
-void Observer::writeChar()
-{
- // write a char signal to the socket
- char signal = 'a';
- while (true) {
- int bytes = ::write(pipeFd[1], &signal, sizeof(char));
- if (bytes < 0) {
- if ((errno == EAGAIN) || (errno == EWOULDBLOCK) || (errno == EINTR)) {
- continue;
- }
- throw Exception(Exception::SYS_CALL);
- }
- break;
- }
-}
-
-void Observer::check()
-{
- if (!hasChar) {
- if (count > 0) {
- hasChar = true;
- writeChar();
- count--;
- }
- }
-}
-
-void Observer::lock()
-{
- ::pthread_mutex_lock(&mtx);
-}
-
-void Observer::unlock()
-{
- ::pthread_mutex_unlock(&mtx);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/observer.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/observer.hpp
deleted file mode 100644
index 0a1369c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/observer.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Observer
-
- Description: For external notification usage.
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/12/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _OBSERVER_HPP
-#define _OBSERVER_HPP
-
-#include <pthread.h>
-
-class Observer
-{
- private:
- int pipeFd[2];
- long long count;
- bool hasChar;
-
- pthread_mutex_t mtx;
-
- public:
- Observer();
- ~Observer();
-
- void notify();
- void unnotify();
-
- // access
- int getPollFd();
- int getPipeWriteFd();
-
- private:
- void async(int fd);
- void readChar();
- void writeChar();
-
- void check();
-
- void lock();
- void unlock();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/privatedata.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/privatedata.cpp
deleted file mode 100644
index 97e5b77..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/privatedata.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: PrivateData
-
- Description: thread specific data
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code ()
-
-****************************************************************************/
-
-#include "privatedata.hpp"
-#include "filterproc.hpp"
-#include "routerproc.hpp"
-#include "routinglist.hpp"
-#include "filterlist.hpp"
-
-PrivateData::PrivateData(RoutingList *rt, FilterList *fl, FilterProcessor *fp, RouterProcessor *rp)
- : routingList(rt), filterList(fl), routerProc(rp), filterProc(fp)
-{
-}
-
-PrivateData::~PrivateData()
-{
-}
-
-FilterProcessor * PrivateData::getFilterProcessor()
-{
- return filterProc;
-}
-
-RouterProcessor * PrivateData::getRouterProcessor()
-{
- return routerProc;
-}
-
-RoutingList * PrivateData::getRoutingList()
-{
- return routingList;
-}
-
-Topology * PrivateData::getTopology()
-{
- return routingList->getTopology();
-}
-
-FilterList * PrivateData::getFilterList()
-{
- return filterList;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/privatedata.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/privatedata.hpp
deleted file mode 100644
index 7bfe156..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/privatedata.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: PrivateData
-
- Description: thread specific data
-
- Author: Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code ()
-
-****************************************************************************/
-
-#ifndef _PRIVATEDATA_HPP
-#define _PRIVATEDATA_HPP
-
-#include <stdlib.h>
-
-class FilterProcessor;
-class RouterProcessor;
-class RoutingList;
-class FilterList;
-class Topology;
-
-class PrivateData {
- private:
- RoutingList *routingList;
- FilterList *filterList;
- FilterProcessor * filterProc;
- RouterProcessor * routerProc;
-
- public:
- PrivateData(RoutingList *rt = NULL, FilterList *fl = NULL, FilterProcessor *fp = NULL, RouterProcessor *rp = NULL);
- ~PrivateData();
- FilterProcessor * getFilterProcessor();
- RouterProcessor * getRouterProcessor();
- RoutingList * getRoutingList();
- FilterList * getFilterList();
- Topology * getTopology();
-};
-
-#endif
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/processor.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/processor.cpp
deleted file mode 100644
index 11cf34a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/processor.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Processor
-
- Description: Properties of class 'Processor':
- input: a. a stream
- b. a message queue
- output: a. none
- b. a stream
- c. one or multiple message queues
- action: any kind message processing actions
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include "processor.hpp"
-#include <assert.h>
-
-#include "ctrlblock.hpp"
-#include "log.hpp"
-#include "tools.hpp"
-#include "exception.hpp"
-#include "socket.hpp"
-
-#include "message.hpp"
-#include "queue.hpp"
-
-Processor::Processor(int hndl)
- : Thread(hndl), inQueue(NULL), outQueue(NULL), hState(CtrlBlock::HEALTH)
-{
- name = "Processor";
-
- totalCount = 0;
- totalSize = 0;
-}
-
-void Processor::run()
-{
- log_debug("Processor %s: started", name.c_str());
-
- Message *msg = NULL;
- while (getState() || isActive()) {
- try {
- // read a message
- msg = read();
- if (msg == NULL) {
- log_debug("Processor %s: read a NULL message", name.c_str());
- continue;
- }
-
- totalCount++;
- totalSize += msg->getContentLen();
- log_debug("Processor %s: processing a message, type=%d, filter ID=%d, group=%d, size=%d",
- name.c_str(), msg->getType(), msg->getFilterID(), msg->getGroup(), msg->getContentLen());
-
- // process the message
- process(msg);
-
- // write the message
- write(msg);
-
- log_debug("Processor %s: finished", name.c_str());
- } catch (Exception &e) {
- if (e.getErrCode() == Exception::INVALID_SIGNATURE) {
- log_warn("Receives a misleading message");
- continue;
- }
- hState = CtrlBlock::ERROR_THREAD;
- seize();
- log_error("Processor %s: exception %s", name.c_str(), e.getErrMsg());
- break;
- } catch (SocketException &e) {
- if (e.getErrCode() == SocketException::NET_ERR_DATA) {
- hState = CtrlBlock::ERROR_DATA;
- } else {
- if (recover() == 0) {
- continue;
- }
- hState = CtrlBlock::ERROR_CHILD_BROKEN;
- }
- seize();
- if (e.getErrCode() == SocketException::NET_ERR_CLOSED) {
- log_warn("Processor %s: socket exception %s", name.c_str(), e.getErrMsg().c_str());
- } else {
- log_error("Processor %s: socket exception %s", name.c_str(), e.getErrMsg().c_str());
- }
- break;
- } catch (ThreadException &e) {
- hState = CtrlBlock::ERROR_THREAD;
- seize();
- log_error("Processor %s: thread exception %d", name.c_str(), e.getErrCode());
- break;
- } catch (std::bad_alloc) {
- hState = CtrlBlock::ERROR_THREAD;
- seize();
- log_error("Processor %s: out of memory", name.c_str());
- break;
- } catch (...) {
- hState = CtrlBlock::ERROR_THREAD;
- seize();
- log_error("Processor %s: unknown exception", name.c_str());
- break;
- }
- }
-
- // do cleanup works
- clean();
-
- log_debug("Processor %s: exited", name.c_str());
-}
-
-void Processor::release()
-{
- while (!isLaunched()) {
- // before join, this thread should have been launched
- SysUtil::sleep(WAIT_INTERVAL);
- }
- setState(false);
- if (inQueue)
- inQueue->release();
- join();
-}
-
-bool Processor::isActive()
-{
- if ((inQueue) && (inQueue->getState()))
- return (inQueue->getSize() > 0);
- return false;
-}
-
-void Processor::dump()
-{
- log_perf("Until now, processor %s has processed %d messages, total size is %d bytes",
- name.c_str(), totalCount, totalSize);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/processor.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/processor.hpp
deleted file mode 100644
index 7a4fc08..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/processor.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Processor
-
- Description: Properties of class 'Processor':
- input: a. a stream
- b. a message queue
- output: a. none
- b. a stream
- c. one or multiple message queues
- action: any kind message processing actions
-
- Author: Nicole Nie, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _PROCESSOR_HPP
-#define _PROCESSOR_HPP
-
-#include <string>
-
-using namespace std;
-
-#include "thread.hpp"
-
-class Message;
-class MessageQueue;
-
-class Processor : public Thread
-{
- protected:
- string name;
-
- // for performance counting
- int totalCount;
- int totalSize;
- MessageQueue *inQueue;
- MessageQueue *outQueue;
- int hState;
-
- public:
- Processor(int hndl = -1);
-
- virtual void run();
-
- virtual Message * read() = 0;
- virtual void process(Message *msg) = 0;
- virtual void write(Message *msg) = 0;
- virtual void seize() = 0;
- virtual int recover() = 0;
- virtual void clean() = 0;
-
- virtual bool isActive();
-
- void dump();
- void setName(char *str) { name = str; }
- string getName() { return name; }
- virtual void release();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/purifierproc.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/purifierproc.cpp
deleted file mode 100644
index e727334..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/purifierproc.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: PurifierProcessor
-
- Description: Properties of class 'PurifierProcessor':
- input: a. a stream
- output: a. a message queue
- action: purify message, discarded useless messages
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/25/09 nieyy Initial code (D153875)
- 01/16/12 ronglli Add codes to detect SOCKET_BROKEN
-
-****************************************************************************/
-
-#include "purifierproc.hpp"
-#include <assert.h>
-
-#include "log.hpp"
-#include "exception.hpp"
-#include "socket.hpp"
-
-#include "atomic.hpp"
-#include "ctrlblock.hpp"
-#include "routinglist.hpp"
-#include "message.hpp"
-#include "stream.hpp"
-#include "privatedata.hpp"
-#include "queue.hpp"
-#include "observer.hpp"
-#include "filter.hpp"
-#include "filterlist.hpp"
-#include "writerproc.hpp"
-#include "initializer.hpp"
-#include "eventntf.hpp"
-#include "tools.hpp"
-#include "sshfunc.hpp"
-
-PurifierProcessor::PurifierProcessor(int hndl)
- : Processor(hndl), inStream(NULL), outErrorQueue(NULL), peerProcessor(NULL), observer(NULL), joinSegs(false)
-{
- name = "Purifier";
- hndlr = gCtrlBlock->getEndInfo()->be_info.hndlr;
- param = gCtrlBlock->getEndInfo()->be_info.param;
- routingList = new RoutingList(hndl);
- routingList->addBE(SCI_GROUP_ALL, VALIDBACKENDIDS, hndl);
- filterList = new FilterList();
- PrivateData *pData = new PrivateData(routingList, filterList, NULL);
- setSpecific(pData);
-}
-
-PurifierProcessor::~PurifierProcessor()
-{
- if (inQueue)
- delete inQueue;
- if (routingList)
- delete routingList;
- if (filterList)
- delete filterList;
-}
-
-RoutingList * PurifierProcessor::getRoutingList()
-{
- return routingList;
-}
-
-FilterList * PurifierProcessor::getFilterList()
-{
- return filterList;
-}
-
-Message * PurifierProcessor::read()
-{
- Message *msg = NULL;
- assert(inStream || inQueue);
-
- if (inStream != NULL) {
- msg = new Message();
- *inStream >> *msg;
- } else {
- msg = inQueue->consume();
- }
-
- if (msg && (msg->getType() == Message::SEGMENT)) {
- joinSegs = true;
- msg = Message::joinSegments(msg, inStream, inQueue);
- }
-
- return msg;
-}
-
-void PurifierProcessor::process(Message * msg)
-{
- Filter *filter = NULL;
- switch(msg->getType()) {
- case Message::SEGMENT:
- case Message::COMMAND:
- if (observer) {
- observer->notify();
- incRefCount(msg->getRefCount()); // inQueue and outQueue
- outQueue->produce(msg);
- } else {
- hndlr(param, msg->getGroup(), msg->getContentBuf(), msg->getContentLen());
- }
- break;
- case Message::UNCLE:
- case Message::UNCLE_LIST:
- case Message::PARENT:
- case Message::ERROR_EVENT:
- case Message::SHUTDOWN:
- case Message::KILLNODE:
- isError = true;
- msg->setID(handle);
- break;
- case Message::GROUP_CREATE:
- case Message::GROUP_OPERATE:
- case Message::GROUP_OPERATE_EXT:
- routingList->addBE(msg->getGroup(), VALIDBACKENDIDS, gCtrlBlock->getMyHandle());
- break;
- case Message::GROUP_FREE:
- routingList->removeGroup(msg->getGroup());
- break;
- case Message::FILTER_LOAD:
- filter = new Filter();
- filter->unpackMsg(*msg);
- filterList->loadFilter(filter->getId(), filter, false);
- break;
- case Message::FILTER_UNLOAD:
- filterList->unloadFilter(msg->getFilterID(), false);
- break;
- case Message::FILTER_LIST:
- filterList->loadFilterList(*msg, false);
- break;
- case Message::BE_REMOVE:
- case Message::QUIT:
- gCtrlBlock->setTermState(true);
- gCtrlBlock->setRecoverMode(0);
- setState(false);
- break;
- default:
- break;
- }
-}
-
-void PurifierProcessor::write(Message * msg)
-{
- if (joinSegs || inStream) {
- joinSegs = false;
- if (decRefCount(msg->getRefCount()) == 0)
- delete msg;
- return;
- }
- inQueue->remove();
-}
-
-int PurifierProcessor::recover()
-{
- int rc = -1;
-
- if ((gCtrlBlock->getTermState()) || (!gCtrlBlock->getRecoverMode())) {
- return rc;
- }
-
- log_debug("Purifier: begin to do the recover.");
- if (gCtrlBlock->getParentInfoWaitState()) {
- while (gInitializer->pInfoUpdated == false) {
- if (gCtrlBlock->getTermState()) {
- log_debug("Purifier: incorrect state");
- return rc;
- }
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
-
- while ((rc != 0) && (!gCtrlBlock->getTermState())) {
- log_debug("Purifier: begin to do the reconnect...");
- try {
- struct iovec sign = {0};
- int hndl = gInitializer->getOrgHandle();
- int pID = gInitializer->getParentID();
- string pAddr = gInitializer->getParentAddr();
- int pPort = gInitializer->getParentPort();
-
- inStream->stopRead();
-
- WriterProcessor * writer = getPeerProcessor();
- while(!(writer->isLaunched())) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
- if (!writer->getRecoverState()) {
- Message *msg = new Message();
- // The writer thread may be in consume, which will not enter into recover. Need to send a notification msg to it
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 0, NULL, NULL, Message::RELEASE);
-
- log_debug("Purifier: begin to set the writer release state to false, and produce rel msg to writer");
- writer->setReleaseState(true);
- writer->getInQueue()->produce(msg);
- }
- while(!(writer->getRecoverState())) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
-
- rc = inStream->init(pAddr.c_str(), pPort);
- log_debug("Purifier: Recover: rc = %d, My parent host is %s, parent port is %d, parent id is %d", rc, pAddr.c_str(), pPort, pID);
- if (rc != 0) {
- SysUtil::sleep(WAIT_INTERVAL);
- continue;
- }
- log_debug("Purifier: begin to send jobkey %d, hndl %d, pID %d", gCtrlBlock->getJobKey(), hndl, pID);
- psec_sign_data(&sign, "%d%d%d", gCtrlBlock->getJobKey(), hndl, pID);
- *inStream << gCtrlBlock->getJobKey() << hndl << pID << sign << endl;
- *inStream >> endl;
-
- psec_free_signature(&sign);
- log_debug("Purifier: after sending the jobkey, hndl, pID");
-
- writer->setOutStream(inStream);
-
- if ((rc == 0) && (gCtrlBlock->getParentInfoWaitState())) {
- gInitializer->pInfoUpdated = false;
- gCtrlBlock->setParentInfoWaitState(false);
- gNotifier->notify(gInitializer->notifyID);
- }
- } catch (SocketException &e) {
- rc = -1;
- log_error("Purifier: recover exception: socket exception: %s", e.getErrMsg().c_str());
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
-
- return rc;
-}
-
-void PurifierProcessor::seize()
-{
- setState(false);
-}
-
-void PurifierProcessor::clean()
-{
- if (inStream)
- inStream->stopRead();
- if (observer) {
- try {
- gCtrlBlock->releasePollQueue();
- } catch (std::bad_alloc) {
- log_error("Processor Purifier: out of memory");
- // To do; add correct error handling
- }
- }
- gCtrlBlock->setFlowctlState(false);
-
- gCtrlBlock->disable();
- if (peerProcessor) {
- peerProcessor->release();
- delete peerProcessor;
- }
-}
-
-void PurifierProcessor::setInStream(Stream * stream)
-{
- inStream = stream;
-}
-
-Stream * PurifierProcessor::getInStream()
-{
- return inStream;
-}
-
-void PurifierProcessor::setInQueue(MessageQueue * queue)
-{
- inQueue = queue;
-}
-
-MessageQueue * PurifierProcessor::getInQueue()
-{
- return inQueue;
-}
-
-void PurifierProcessor::setOutQueue(MessageQueue * queue)
-{
- outQueue = queue;
-}
-
-void PurifierProcessor::setOutErrorQueue(MessageQueue * queue)
-{
- outErrorQueue = queue;
-}
-
-void PurifierProcessor::setPeerProcessor(WriterProcessor * processor)
-{
- peerProcessor = processor;
-}
-
-WriterProcessor * PurifierProcessor::getPeerProcessor()
-{
- return peerProcessor;
-}
-
-void PurifierProcessor::setObserver(Observer * ob)
-{
- observer = ob;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/purifierproc.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/purifierproc.hpp
deleted file mode 100644
index 70980fe..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/purifierproc.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: PurifierProcessor
-
- Description: Properties of class 'PurifierProcessor':
- input: a. a stream
- output: a. two message queues
- action: purify message, discarded useless messages
-
- Author: Nicole Nie, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 04/28/09 nieyy Initial code (F156654)
-
-****************************************************************************/
-
-#ifndef _PURIFERPROC_HPP
-#define _PURIFERPROC_HPP
-
-#include "sci.h"
-#include "processor.hpp"
-
-class Stream;
-class MessageQueue;
-class Observer;
-class WriterProcessor;
-class RoutingList;
-class FilterList;
-
-class PurifierProcessor : public Processor
-{
- private:
- Stream *inStream;
- MessageQueue *outErrorQueue;
- WriterProcessor *peerProcessor;
- RoutingList *routingList;
- FilterList *filterList;
- Observer *observer;
- SCI_msg_hndlr *hndlr;
- void *param;
-
- bool isCmd;
- bool isError;
- bool joinSegs;
-
- public:
- PurifierProcessor(int hndl = -1);
- ~PurifierProcessor();
-
- virtual Message * read();
- virtual void process(Message *msg);
- virtual void write(Message *msg);
- virtual void seize();
- virtual int recover();
- virtual void clean();
-
- void setInStream(Stream *stream);
- Stream * getInStream();
- void setOutQueue(MessageQueue *queue);
- void setInQueue(MessageQueue *queue);
- MessageQueue * getInQueue();
- void setOutErrorQueue(MessageQueue *queue);
- void setPeerProcessor(WriterProcessor *processor);
- WriterProcessor * getPeerProcessor();
- void setObserver(Observer *ob);
- RoutingList * getRoutingList();
- FilterList * getFilterList();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/queue.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/queue.cpp
deleted file mode 100644
index 4430ed4..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/queue.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: MessageQueue
-
- Description: Messages manipulation.
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
- 01/16/12 ronglli Fix the issue of semaphore overflow
-
-****************************************************************************/
-
-#include "queue.hpp"
-#include <stdlib.h>
-#include <sys/time.h>
-#include <time.h>
-#include <errno.h>
-#include <assert.h>
-#ifdef __APPLE__
-#include <mach/mach.h>
-#endif /* __APPLE__ */
-
-#include "exception.hpp"
-#include "ctrlblock.hpp"
-#include "log.hpp"
-
-#include "atomic.hpp"
-#include "message.hpp"
-#include "tools.hpp"
-
-MessageQueue::MessageQueue(bool ctl)
- : thresHold(0), flowCtl(ctl)
-{
- state = true;
- ::pthread_mutex_init(&mtx, NULL);
-#ifndef __APPLE__
- ::sem_init(&sem, 0, 0);
-#else /* __APPLE__ */
- task = ::mach_task_self();
- ::semaphore_create(task, &sem, SYNC_POLICY_FIFO, 0);
-#endif /* __APPLE__ */
-}
-
-MessageQueue::~MessageQueue()
-{
- Message *msg = NULL;
- while (!queue.empty()) {
- msg = queue.front();
- queue.pop_front();
- if (decRefCount(msg->getRefCount()) == 0) {
- delete msg;
- }
- }
- queue.clear();
-
- ::pthread_mutex_destroy(&mtx);
-#ifndef __APPLE__
- ::sem_destroy(&sem);
-#else /* __APPLE__ */
- ::semaphore_destroy(task, sem);
-#endif /* __APPLE__ */
-}
-
-int MessageQueue::flowControl(int size)
-{
- long long flowctlThreshold = gCtrlBlock->getFlowctlThreshold();
-
- if(flowCtl) {
- if ((gCtrlBlock->getMyRole() != CtrlBlock::BACK_END) && (size > 0)) {
- while ((thresHold > flowctlThreshold) && (gCtrlBlock->getFlowctlState())) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
- }
-
- return 0;
-}
-
-int MessageQueue::multiProduce(Message **msgs, int num)
-{
- assert(msgs && (num > 0));
- int i;
- int len = 0;
-
- for (i = 0; i < num; i++) {
- assert(msgs[i]);
- len += msgs[i]->getContentLen();
- }
- lock();
- for (i = 0; i < num; i++) {
- queue.push_back(msgs[i]);
-
- }
- thresHold += len;
- unlock();
-
- release();
- flowControl(len);
-
- return 0;
-}
-
-void MessageQueue::release()
-{
- int cnt = 0;
-#ifndef __APPLE__
- while (::sem_post(&sem) != 0) {
-#else /* __APPLE__ */
- while (::semaphore_signal(sem) != 0) {
-#endif /* __APPLE__ */
- if (!state)
- break;
- if (!gCtrlBlock->getFlowctlState()) {
- if (cnt > 10) {
- state = false;
- break;
- }
- cnt++;
- }
- SysUtil::sleep(WAIT_INTERVAL);
- }
-}
-
-int MessageQueue::sem_getvalue_i()
-{
- int i = -1;
-#ifndef __APPLE__
- ::sem_getvalue(&sem, &i);
-#endif /* __APPLE__ */
- return i;
-}
-
-void MessageQueue::produce(Message *msg)
-{
- int len = 0;
-
- if (!msg) {
- return;
- }
- len = msg->getContentLen();
- lock();
- queue.push_back(msg);
-
- thresHold += len;
-
- unlock();
-#ifdef _SCI_DEBUG
-#ifndef __APPLE__
- int val = sem_getvalue_i();
- log_debug("queue %s: produce: sem value = %ld, thresHold = %ld", name.c_str(), val, thresHold);
-#endif /* __APPLE__ */
-#endif
- release();
- flowControl(len);
-
- return;
-}
-
-int MessageQueue::multiConsume(Message **msgs, int num)
-{
- int i;
- int len = 0;
-
- for (i = 0; i < num; i++) {
- if (sem_wait_i(-1) != 0) {
- return -1;
- }
- }
- lock();
- for (i = 0; i < num; i++) {
- msgs[i] = queue.front();
- queue.pop_front();
- len += msgs[i]->getContentLen();
- }
- thresHold -= len;
-
- unlock();
-
- return 0;
-}
-
-Message* MessageQueue::consume(int millisecs)
-{
- int len = 0;
-
- if (sem_wait_i(millisecs*1000) != 0) {
- return NULL;
- }
-
- Message *msg = NULL;
-
- lock();
- if (!queue.empty()) {
- msg = queue.front();
- len = msg->getContentLen();
- thresHold -= len;
- }
- unlock();
-
- return msg;
-}
-
-void MessageQueue::remove()
-{
- Message *msg = NULL;
-
- lock();
- if (queue.empty()) {
- unlock();
- return;
- }
-
- msg = queue.front();
- queue.pop_front();
- unlock();
- if (decRefCount(msg->getRefCount()) == 0) {
- delete msg;
- }
-}
-
-int MessageQueue::getSize()
-{
- int size;
-
- lock();
- size = queue.size();
- unlock();
-
- return size;
-}
-
-bool MessageQueue::getState()
-{
- return state;
-}
-
-void MessageQueue::setName(char *str)
-{
- name = str;
- if (name == "filterInQ") {
- flowCtl = true;
- }
-}
-
-string MessageQueue::getName()
-{
- return name;
-}
-
-int MessageQueue::sem_wait_i(int usecs)
-{
- int rc = 0;
-
-#ifdef _SCI_DEBUG
-#ifndef __APPLE__
- int val = sem_getvalue_i();
- log_debug("queue %s: sem value = %ld, thresHold = %ld", name.c_str(), val, thresHold);
-#endif /* __APPLE__ */
-#endif
-
-#ifndef __APPLE__
- if (usecs < 0) {
- while (((rc = ::sem_wait(&sem)) != 0) && (errno == EINTR));
- return rc;
- } else {
- timespec ts;
- ::clock_gettime(CLOCK_REALTIME, &ts); // get current time
- ts.tv_nsec += (usecs % 1000000) * 1000;
- int ca = (ts.tv_nsec >= 1000000000) ? 1 : 0;
- ts.tv_nsec %= 1000000000;
- ts.tv_sec += (usecs / 1000000) + ca;
-
- while (((rc=::sem_timedwait(&sem, &ts))!=0) && (errno == EINTR));
- return rc;
- }
-#else /* __APPLE__ */
- if (usecs < 0) {
- ::semaphore_wait(sem);
- } else {
- mach_timespec_t ts;
- struct timeval tv;
- ::gettimeofday(&tv, NULL); // get current time
- ts.tv_nsec = (tv.tv_usec + (usecs % 1000000)) * 1000;
- int ca = (ts.tv_nsec >= 1000000000) ? 1 : 0;
- ts.tv_nsec %= 1000000000;
- ts.tv_sec = tv.tv_sec + (usecs / 1000000) + ca;
-
- ::semaphore_timedwait(sem, ts);
- }
- return 0;
-#endif /* __APPLE__ */
-}
-
-void MessageQueue::lock()
-{
- ::pthread_mutex_lock(&mtx);
-}
-
-void MessageQueue::unlock()
-{
- ::pthread_mutex_unlock(&mtx);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/queue.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/queue.hpp
deleted file mode 100644
index cff4456..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/queue.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: MessageQueue
-
- Description: Messages manipulation.
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 tuhongj Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _QUEUE_HPP
-#define _QUEUE_HPP
-
-#include <deque>
-#include <string>
-
-using namespace std;
-
-#include <semaphore.h>
-#include <pthread.h>
-#ifdef __APPLE__
-#include <mach/task.h>
-#include <mach/semaphore.h>
-#endif /* __APPLE__ */
-
-#include "sci.h"
-#include "general.hpp"
-
-#include "stream.hpp"
-
-class Message;
-
-class MessageQueue
-{
- private:
- deque<Message*> queue;
- pthread_mutex_t mtx;
-#ifndef __APPLE__
- sem_t sem;
-#else /* __APPLE__ */
- semaphore_t sem;
- task_t task;
-#endif /* __APPLE__ */
- string name;
- volatile long long thresHold;
- bool flowCtl;
- bool state;
-
- public:
- MessageQueue(bool ctl = false);
- ~MessageQueue();
-
- void produce(Message *msg);
- void release();
- int multiProduce(Message **msgs, int num);
- int multiConsume(Message **msgs, int num);
- Message *consume(int millisecs=-1);
- void remove();
-
- int getSize();
- bool getState();
-
- void setName(char *str);
- string getName();
-
- private:
- int sem_wait_i(int usecs);
- int sem_getvalue_i();
-
- void lock();
- void unlock();
- int flowControl(int size);
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/readerproc.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/readerproc.cpp
deleted file mode 100644
index b4f142e..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/readerproc.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: ReaderProcessor
-
- Description: Properties of class 'ReaderProcessor':
- input: a stream
- output: two message queues
- action: relay messages from the stream to the queues, normal messages to a
- queue, error handling messages to another queue
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/25/09 nieyy Initial code (F156654)
- 01/16/12 ronglli Add codes to detect SOCKET_BROKEN
-
-****************************************************************************/
-
-#include "readerproc.hpp"
-#include <assert.h>
-
-#include "log.hpp"
-#include "exception.hpp"
-#include "socket.hpp"
-
-#include "ctrlblock.hpp"
-#include "routinglist.hpp"
-#include "message.hpp"
-#include "stream.hpp"
-#include "queue.hpp"
-#include "writerproc.hpp"
-
-#include "eventntf.hpp"
-#include "tools.hpp"
-
-ReaderProcessor::ReaderProcessor(int hndl)
- : Processor(hndl), recoverID(-1), notifyID(-1), peerProcessor(NULL)
-{
- name = "Reader";
-
- inStream = NULL;
- outQueue = NULL;
-
- outErrorQueue = NULL;
-}
-
-ReaderProcessor::~ReaderProcessor()
-{
-}
-
-Message * ReaderProcessor::read()
-{
- assert(inStream);
- Message *msg = NULL;
-
- msg = new Message();
- *inStream >> *msg;
-
- return msg;
-}
-
-void ReaderProcessor::process(Message * msg)
-{
- assert(msg);
- // no action
-}
-
-void ReaderProcessor::write(Message * msg)
-{
- assert(outQueue);
-
- // normal and error messages to different queues
- switch (msg->getType()) {
- case Message::GROUP_MERGE:
- case Message::ERROR_EVENT:
- // use 'id' field to store child agent id information, and transfer this message
- // to router processor
- msg->setID(handle);
- case Message::UNCLE:
- case Message::UNCLE_LIST:
- case Message::PARENT:
- case Message::SHUTDOWN:
- case Message::KILLNODE:
- if (outErrorQueue) {
- outErrorQueue->produce(msg);
- } else {
- delete msg;
- }
- break;
- case Message::SOCKET_BROKEN:
- case Message::ERROR_DATA:
- case Message::ERROR_THREAD:
- {
- gCtrlBlock->notifyChildHealthState(msg);
- }
- break;
- default:
- outQueue->produce(msg);
- break;
- }
-}
-
-void ReaderProcessor::seize()
-{
- // exit the peer relay processor thread related to the same socket
- setState(false);
- if (!gCtrlBlock->getTermState()) {
- gCtrlBlock->notifyChildHealthState(handle, hState);
- }
-}
-
-int ReaderProcessor::recover()
-{
- // exit the peer relay processor thread related to the same socket
- if ((gCtrlBlock->getTermState()) || (!gCtrlBlock->getRecoverMode())) {
- return -1;
- }
- inStream->stopRead();
-
- WriterProcessor * writer = getPeerProcessor();
- while(!(writer->isLaunched())) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
- if (!(writer->getRecoverState())) {
- Message *msg = new Message();
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 0, NULL, NULL, Message::RELEASE);
- writer->setReleaseState(true);
- writer->getInQueue()->produce(msg);
- }
-
- if (recoverID == -1) {
- recoverID = gNotifier->allocate();
- }
-
- Stream *st;
- if (gNotifier->freeze_i(recoverID, &st) != 0) {
- log_debug("reader%d: recover error: freeze_i failed for the stream %p, recoverID = %d", handle, st, recoverID);
- return -1;
- }
- log_debug("reader%d: finish freeze for the stream %p, recoverID = %d", handle, st, recoverID);
- recoverID = gNotifier->allocate();
- log_debug("reader%d: begin to notify notifyID %d", handle, notifyID);
- if (gNotifier->notify_i(notifyID) != 0) {
- log_debug("reader%d: recover error: notify_i failed for the stream %p, recoverID = %d", handle, st, recoverID);
- return -1;
- }
-
- inStream = st;
- return 0;
-}
-
-void ReaderProcessor::clean()
-{
- inStream->stopRead();
- setState(false);
-}
-
-void ReaderProcessor::setInStream(Stream * stream)
-{
- if (inStream == NULL) {
- log_debug("reader%d: begin to set the stream. Original is NULL", handle);
- inStream = stream;
- } else {
- log_debug("reader%d: begin to notify the stream %p, recoverID = %d", handle, stream, recoverID);
- while (recoverID == -1) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
- if (notifyID == -1) {
- notifyID = gNotifier->allocate();
- }
- *(Stream **)gNotifier->getRetVal(recoverID) = stream;
- gNotifier->notify(recoverID);
- log_debug("reader%d: finish notify the recoverID %d", handle, recoverID);
- log_debug("reader%d: begin to freeze the notifyID %d", handle, notifyID);
- gNotifier->freeze(notifyID, NULL);
- log_debug("reader%d: finish freeze the notifyID %d", handle, notifyID);
- notifyID = gNotifier->allocate();
- }
-
-}
-
-void ReaderProcessor::setOutQueue(MessageQueue * queue)
-{
- outQueue = queue;
-}
-
-void ReaderProcessor::setOutErrorQueue(MessageQueue * queue)
-{
- outErrorQueue = queue;
-}
-
-void ReaderProcessor::setPeerProcessor(WriterProcessor* processor)
-{
- peerProcessor = processor;
-}
-
-WriterProcessor *ReaderProcessor::getPeerProcessor()
-{
- return peerProcessor;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/readerproc.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/readerproc.hpp
deleted file mode 100644
index 5a707a6..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/readerproc.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: ReaderProcessor
-
- Description: Properties of class 'ReaderProcessor':
- input: a stream
- output: two message queues
- action: relay messages from the stream to the queues, normal messages to a
- queue, error handling messages to another queue
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/25/09 nieyy Initial code (F156654)
-
-****************************************************************************/
-
-#ifndef _READERPROC_HPP
-#define _READERPROC_HPP
-
-#include "processor.hpp"
-
-class Stream;
-class MessageQueue;
-
-class WriterProcessor;
-
-class ReaderProcessor : public Processor
-{
- private:
- Stream *inStream;
- MessageQueue *outErrorQueue;
- int recoverID;
- int notifyID;
- WriterProcessor *peerProcessor;
-
- public:
- ReaderProcessor(int hndl = -1);
- ~ReaderProcessor();
-
- virtual Message * read();
- virtual void process(Message *msg);
- virtual void write(Message *msg);
- virtual void seize();
- virtual int recover();
- virtual void clean();
-
- void setInStream(Stream *stream);
- void setOutQueue(MessageQueue *queue);
-
- void setOutErrorQueue(MessageQueue *queue);
-
- void setPeerProcessor(WriterProcessor* processor);
- WriterProcessor *getPeerProcessor();
-
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/routerproc.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/routerproc.cpp
deleted file mode 100644
index 611100c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/routerproc.cpp
+++ /dev/null
@@ -1,346 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: RouterProcessor
-
- Description: Properties of class 'RouterProcessor':
- input: a. a stream
- b. a message queue
- output: a set of message queues
- action: route the message to the designated destination
-
- Author: Nicole Nie
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
- 01/16/12 ronglli Add codes to detect SOCKET_BROKEN
-
-****************************************************************************/
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "sci.h"
-
-#include "log.hpp"
-#include "exception.hpp"
-#include "socket.hpp"
-
-#include "atomic.hpp"
-#include "routerproc.hpp"
-#include "ctrlblock.hpp"
-#include "message.hpp"
-#include "queue.hpp"
-#include "filter.hpp"
-#include "filterlist.hpp"
-#include "routinglist.hpp"
-#include "topology.hpp"
-#include "eventntf.hpp"
-#include "privatedata.hpp"
-#include "initializer.hpp"
-#include "sshfunc.hpp"
-#include "writerproc.hpp"
-#include "tools.hpp"
-
-RouterProcessor::RouterProcessor(int hndl, RoutingList *rlist, FilterList *flist)
- : Processor(hndl), curFilterID(SCI_FILTER_NULL), curGroup(SCI_GROUP_ALL), inStream(NULL), routingList(rlist), filterList(flist), joinSegs(false), peerProcessor(NULL)
-{
- name = "Router";
- PrivateData *pData = new PrivateData(routingList, filterList, NULL, this);
- setSpecific(pData);
-}
-
-RouterProcessor::~RouterProcessor()
-{
- if (inQueue)
- delete inQueue;
-}
-
-Message * RouterProcessor::read()
-{
- assert(inQueue || inStream);
-
- Message *msg = NULL;
- if (inStream) {
- msg = new Message();
- *inStream >> *msg;
- } else {
- msg = inQueue->consume();
- }
-
- if (msg && (msg->getType() == Message::SEGMENT) && (msg->getFilterID() == SCI_JOIN_SEGMENT)) {
- joinSegs = true;
- msg = Message::joinSegments(msg, inStream, inQueue);
- }
-
- return msg;
-}
-
-void RouterProcessor::process(Message * msg)
-{
- Filter *filter = NULL;
- Topology *topo = routingList->getTopology();
- int rc;
-
- switch (msg->getType()) {
- case Message::SEGMENT:
- routingList->bcast(msg->getGroup(), msg);
- break;
- case Message::COMMAND:
- if (msg->getFilterID() == SCI_FILTER_NULL) {
- // bcast the message
- routingList->bcast(msg->getGroup(), msg);
- } else {
- filter = filterList->getFilter(msg->getFilterID());
- if (filter != NULL) {
- // call user's filter handler
- curFilterID = msg->getFilterID();
- curGroup = msg->getGroup();
- filter->input(msg->getGroup(), msg->getContentBuf(), msg->getContentLen());
- } else {
- // bcast the message
- routingList->bcast(msg->getGroup(), msg);
- }
- }
- break;
- case Message::CONFIG:
- topo->unpackMsg(*msg);
- topo->setRoutingList(routingList);
- topo->setFilterList(filterList);
-
- rc = topo->deploy();
- break;
- case Message::FILTER_LOAD:
- case Message::FILTER_UNLOAD:
- if (msg->getType() == Message::FILTER_LOAD) {
- filter = new Filter();
- filter->unpackMsg(*msg);
- rc = filterList->loadFilter(filter->getId(), filter);
- } else {
- rc = filterList->unloadFilter(msg->getFilterID());
- }
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- *(int *)gNotifier->getRetVal(msg->getID()) = rc;
- gNotifier->notify(msg->getID());
- }
-
- routingList->bcast(SCI_GROUP_ALL, msg);
- break;
- case Message::FILTER_LIST:
- filterList->loadFilterList(*msg);
- break;
- case Message::GROUP_CREATE:
- case Message::GROUP_FREE:
- case Message::GROUP_OPERATE:
- case Message::GROUP_OPERATE_EXT:
- case Message::GROUP_DROP:
- case Message::GROUP_MERGE:
- routingList->parseCmd(msg);
- break;
- case Message::BE_ADD:
- rc = gCtrlBlock->getTopology()->addBE(msg);
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- *(int *)gNotifier->getRetVal(msg->getID()) = rc;
- gNotifier->notify(msg->getID());
- }
- break;
- case Message::BE_REMOVE:
- rc = gCtrlBlock->getTopology()->removeBE(msg);
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- *(int *)gNotifier->getRetVal(msg->getID()) = rc;
- gNotifier->notify(msg->getID());
- }
- break;
- case Message::QUIT:
- gCtrlBlock->setTermState(true);
- gCtrlBlock->setRecoverMode(0);
- routingList->bcast(SCI_GROUP_ALL, msg);
- setState(false);
- break;
- case Message::RELEASE:
- setState(false);
- break;
- case Message::UNCLE_LIST:
- case Message::ERROR_EVENT:
- case Message::SHUTDOWN:
- case Message::KILLNODE:
- routingList->bcast(SCI_GROUP_ALL, msg);
- break;
- default:
- log_error("Processor %s: received unknown command", name.c_str());
- break;
- }
-}
-
-void RouterProcessor::write(Message * msg)
-{
- if (joinSegs || inStream) {
- joinSegs = false;
- if (decRefCount(msg->getRefCount()) == 0)
- delete msg;
- return;
- }
-
- inQueue->remove();
-}
-
-void RouterProcessor::seize()
-{
- try {
- Message *msg = new Message();
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 0, NULL, NULL, Message::QUIT);
- routingList->bcast(SCI_GROUP_ALL, msg);
- } catch (std::bad_alloc) {
- log_error("Processor Router: out of memory");
- // To do; add correct error handling
- }
- gCtrlBlock->setTermState(true); // do not need to notify the parent the error children
- setState(false);
-}
-
-int RouterProcessor::recover()
-{
- int rc = -1;
-
- if ((gCtrlBlock->getTermState()) || (!gCtrlBlock->getRecoverMode())) {
- return rc;
- }
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- return rc;
- }
-
- log_debug("Routerproc: begin to do the recover");
- if (gCtrlBlock->getParentInfoWaitState()) {
- while (gInitializer->pInfoUpdated == false) {
- if (gCtrlBlock->getTermState()) {
- log_debug("Routerproc: incorrect state");
- return rc;
- }
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
-
- while ((rc != 0) && (!gCtrlBlock->getTermState())) {
- try {
- struct iovec sign = {0};
- int hndl = gInitializer->getOrgHandle();
- int pID = gInitializer->getParentID();
- string pAddr = gInitializer->getParentAddr();
- int pPort = gInitializer->getParentPort();
-
- inStream->stopRead();
-
- WriterProcessor * writer = getPeerProcessor();
- while(!(writer->isLaunched())) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
-
- if (!writer->getRecoverState()) {
- Message *msg = new Message();
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 0, NULL, NULL, Message::RELEASE);
-
- log_debug("Routerproc: begin to set the writer release state to false");
- writer->setReleaseState(true);
- writer->getInQueue()->produce(msg);
- }
- while(!(writer->getRecoverState())) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
-
- log_debug("Routerproc: Begin to do Recover: My parent host is %s, parent port is %d, parent id is %d", pAddr.c_str(), pPort, pID);
- rc = inStream->init(pAddr.c_str(), pPort);
- if (rc != 0) {
- SysUtil::sleep(WAIT_INTERVAL);
- continue;
- }
- gInitializer->setInStream(inStream);
- psec_sign_data(&sign, "%d%d%d", gCtrlBlock->getJobKey(), hndl, pID);
- *inStream << gCtrlBlock->getJobKey() << hndl << pID << sign << endl;
- *inStream >> endl;
-
- psec_free_signature(&sign);
- log_debug("Routerproc: Recover: My parent host is %s, parent port is %d, parent id is %d", pAddr.c_str(), pPort, pID);
-
- writer->setOutStream(inStream);
-
- if ((rc == 0) && (gCtrlBlock->getParentInfoWaitState())) {
- log_debug("Routerproc: begin to notify %d", gInitializer->notifyID);
- gInitializer->pInfoUpdated = false;
- gCtrlBlock->setParentInfoWaitState(false);
- gNotifier->notify(gInitializer->notifyID);
- log_debug("Routerproc: finish notify %d", gInitializer->notifyID);
- }
-
- } catch (SocketException &e) {
- rc = -1;
- log_error("Routerproc: socket exception: %s", e.getErrMsg().c_str());
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
-
- return rc;
-}
-
-void RouterProcessor::clean()
-{
- if (inStream)
- inStream->stopRead();
- gCtrlBlock->setFlowctlState(false);
- routingList->stopRouting();
- gCtrlBlock->disable();
-}
-
-int RouterProcessor::getCurFilterID()
-{
- return curFilterID;
-}
-
-sci_group_t RouterProcessor::getCurGroup()
-{
- return curGroup;
-}
-
-void RouterProcessor::setInQueue(MessageQueue * queue)
-{
- inQueue = queue;
-}
-
-MessageQueue * RouterProcessor::getInQueue()
-{
- return inQueue;
-}
-
-void RouterProcessor::setInStream(Stream * stream)
-{
- inStream = stream;
-}
-
-RoutingList * RouterProcessor::getRoutingList()
-{
- return routingList;
-}
-
-void RouterProcessor::setPeerProcessor(WriterProcessor * processor)
-{
- peerProcessor = processor;
-}
-
-WriterProcessor *RouterProcessor::getPeerProcessor()
-{
- return peerProcessor;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/routerproc.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/routerproc.hpp
deleted file mode 100644
index 790e830..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/routerproc.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: RouterProcessor
-
- Description: Properties of class 'RouterProcessor':
- input: a. a stream
- b. a message queue
- output: a set of message queues
- action: route the message to the designated destination
-
- Author: Nicole Nie Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/10/09 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _ROUTERPROC_HPP
-#define _ROUTERPROC_HPP
-
-#include "sci.h"
-
-#include "processor.hpp"
-
-class MessageQueue;
-class Stream;
-class RoutingList;
-class FilterList;
-
-class WriterProcessor;
-
-class RouterProcessor : public Processor
-{
- private:
- Stream *inStream;
- RoutingList *routingList;
- FilterList *filterList;
-
- int curFilterID;
- sci_group_t curGroup;
- bool joinSegs;
-
- WriterProcessor *peerProcessor;
-
- public:
- RouterProcessor(int hndl, RoutingList *rlist, FilterList *flist);
- ~RouterProcessor();
-
- virtual Message * read();
- virtual void process(Message *msg);
- virtual void write(Message *msg);
- virtual void seize();
- virtual int recover();
- virtual void clean();
-
- int getCurFilterID();
- sci_group_t getCurGroup();
-
- void setInQueue(MessageQueue *queue);
- MessageQueue * getInQueue();
- void setInStream(Stream * stream);
- RoutingList * getRoutingList();
-
- void setPeerProcessor(WriterProcessor * processor);
- WriterProcessor * getPeerProcessor();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/routinglist.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/routinglist.cpp
deleted file mode 100644
index a59abc2..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/routinglist.cpp
+++ /dev/null
@@ -1,661 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: RoutingList
-
- Description: Provide routing services for all threads.
-
- Author: Nicole Nie, Liu Wei, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/08/09 nieyy Initial code (D156654)
- 01/16/12 ronglli Add codes to retrieve BE list
-
-****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include <string.h>
-
-#include <vector>
-
-#include "log.hpp"
-#include "packer.hpp"
-#include "group.hpp"
-#include "tools.hpp"
-#include "exception.hpp"
-#include "stream.hpp"
-#include "sshfunc.hpp"
-
-#include "routinglist.hpp"
-#include "eventntf.hpp"
-#include "initializer.hpp"
-#include "message.hpp"
-#include "queue.hpp"
-#include "ctrlblock.hpp"
-#include "filterproc.hpp"
-#include "readerproc.hpp"
-#include "topology.hpp"
-#include "writerproc.hpp"
-#include "eventntf.hpp"
-#include "dgroup.hpp"
-
-
-using namespace std;
-
-const int MAX_SUCCESSOR_NUM = 1024;
-const int MAX_SEGMENT_SIZE = 11680;
-const int MIN_SEGMENT_SIZE = 1440; // 1500 - 40 - 20 (ethernet MTU - tcp/ip header - message header)
-
-RoutingList::RoutingList(int hndl)
- : handle(hndl), maxSegmentSize(MAX_SEGMENT_SIZE), filterProc(NULL), myDistriGroup(NULL), topology(NULL)
-{
- char *envp = ::getenv("SCI_SEGMENT_SIZE");
- if (envp != NULL) {
- maxSegmentSize = atoi(envp);
- maxSegmentSize = maxSegmentSize > MIN_SEGMENT_SIZE ? maxSegmentSize : MIN_SEGMENT_SIZE;
- }
-
- if (handle == -1) {
- // this is a front end, not parent
- myDistriGroup = new DistributedGroup(0);
- } else {
- int pid = -1;
- envp = ::getenv("SCI_PARENT_ID");
- if (envp) {
- pid = ::atoi(envp);
- } else {
- throw Exception(Exception::INVALID_LAUNCH);
- }
- myDistriGroup = new DistributedGroup(pid);
- }
-
- if (gCtrlBlock->getMyRole() != CtrlBlock::BACK_END) {
- topology = new Topology(0); // 0 is an impossible agent ID so it will be changed when it receives a real topology
- }
- successorList = new int[MAX_SUCCESSOR_NUM];
- queueInfo.clear();
- routers.clear();
- ::pthread_mutex_init(&mtx, NULL);
-}
-
-RoutingList::~RoutingList()
-{
- delete myDistriGroup;
- delete [] successorList;
- delete topology;
- ::pthread_mutex_destroy(&mtx);
-}
-
-void RoutingList::parseCmd(Message *msg)
-{
- bool notify = false;
- int rc = SCI_SUCCESS;
- if (msg->getType() == Message::GROUP_CREATE) {
- Packer packer(msg->getContentBuf());
-
- int num_bes = packer.unpackInt();
- int be_list[num_bes];
- for (int i=0; i<num_bes; i++) {
- be_list[i] = packer.unpackInt();
- }
-
- myDistriGroup->create(num_bes, be_list, msg->getGroup());
- bcast(msg->getGroup(), msg);
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- notify = true;
- }
- } else if (msg->getType() == Message::GROUP_FREE) {
- sci_group_t group = msg->getGroup();
-
- bcast(group, msg);
- myDistriGroup->remove(group);
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- notify = true;
- }
- } else if (msg->getType() == Message::GROUP_OPERATE) {
- Packer packer(msg->getContentBuf());
-
- sci_op_t op = (sci_op_t) packer.unpackInt();
- sci_group_t group1 = (sci_group_t) packer.unpackInt();
- sci_group_t group2 = (sci_group_t) packer.unpackInt();
-
- rc = myDistriGroup->operate(group1, group2, op, msg->getGroup());
- if (rc == SCI_SUCCESS) {
- bcast(msg->getGroup(), msg);
- }
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- notify = true;
- }
- } else if (msg->getType() == Message::GROUP_OPERATE_EXT) {
- Packer packer(msg->getContentBuf());
-
- sci_op_t op = (sci_op_t) packer.unpackInt();
- sci_group_t group = (sci_group_t) packer.unpackInt();
- int num_bes = packer.unpackInt();
- int be_list[num_bes];
- for (int i=0; i<num_bes; i++) {
- be_list[i] = packer.unpackInt();
- }
-
- rc = myDistriGroup->operateExt(group, num_bes, be_list, op, msg->getGroup());
- if (rc == SCI_SUCCESS) {
- bcast(msg->getGroup(), msg);
- }
-
- if (gCtrlBlock->getMyRole() == CtrlBlock::FRONT_END) {
- notify = true;
- }
- } else if (msg->getType() == Message::GROUP_DROP) {
- myDistriGroup->dropSuccessor(msg->getID());
- } else if (msg->getType() == Message::GROUP_MERGE) {
- DistributedGroup subDistriGroup(-1);
- subDistriGroup.unpackMsg(*msg);
-
- if (subDistriGroup.getPID() == handle) {
- // if this message is from my son
- myDistriGroup->merge(msg->getID(), subDistriGroup, false);
- } else if (isSuccessorExist(subDistriGroup.getPID())){
- // if this message is from my grandson
- myDistriGroup->merge(msg->getID(), subDistriGroup, false);
- } else {
- // if this message is from my nephew
- myDistriGroup->merge(msg->getID(), subDistriGroup, true);
-
- // now update its parent id to me
- subDistriGroup.setPID(handle);
-
- // repack a message and send to my parent
- Message *newmsg = subDistriGroup.packMsg();
- filterProc->getOutQueue()->produce(newmsg);
- }
- } else {
- assert(!"should never be here");
- }
-
- if (notify) {
- void *ret = gNotifier->getRetVal(msg->getID());
- *((int *) ret) = rc;
- gNotifier->notify(msg->getID());
- }
-}
-
-void RoutingList::propagateGroupInfo()
-{
- // propgate my group information to my parent
- Message *msg = myDistriGroup->packMsg();
- if (gCtrlBlock->getMyRole() == CtrlBlock::AGENT) {
- filterProc->getOutQueue()->produce(msg);
- } else if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END) {
- gCtrlBlock->getUpQueue()->produce(msg);
- } else {
- assert(!"should not be here");
- }
-}
-
-int RoutingList::getSegments(Message *msg, Message ***segments, int ref)
-{
- int i = 0;
- int segnum = (msg->getContentLen() + maxSegmentSize - 1) / maxSegmentSize + 1;
- int size = 0;
- char *ptr = msg->getContentBuf();
- sci_group_t gid = msg->getGroup();
- Message::Type typ = msg->getType();
- int mid = msg->getID();
- int mfid = msg->getFilterID();
- int hfid = mfid;
- int mlen = msg->getContentLen();
- *segments = (Message **)::malloc(segnum * sizeof(Message *));
- Message **segs = *segments;
-
- if ((mfid != SCI_FILTER_NULL) || (typ != Message::COMMAND)) {
- hfid = SCI_JOIN_SEGMENT;
- }
- ::memset(segs, 0, segnum * sizeof(Message *));
- segs[0] = new Message();
- segs[0]->build(hfid, gid, 0, NULL, NULL, Message::SEGMENT, segnum);
- segs[0]->setRefCount(ref);
-
- for (i = 1; i < segnum; i++) {
- segs[i] = new Message();
- size = (i < (segnum - 1)) ? maxSegmentSize : ((mlen - 1) % maxSegmentSize + 1);
- segs[i]->build(mfid, gid, 1, &ptr, &size, typ, mid);
- segs[i]->setRefCount(ref);
- ptr += size;
- }
-
- return segnum;
-}
-
-int RoutingList::bcast(sci_group_t group, Message *msg)
-{
- if (group > SCI_GROUP_ALL) {
- int hndl = querySuccessorId((int) group);
- if (hndl == INVLIDSUCCESSORID) {
- return SCI_ERR_GROUP_NOTFOUND;
- } else if (hndl == VALIDBACKENDIDS) {
- ucast((int)group, msg);
- } else {
- ucast(hndl, msg);
- }
- return SCI_SUCCESS;
- }
-
- if (!isGroupExist(group)) {
- return SCI_ERR_GROUP_NOTFOUND;
- }
-
- splitBcast(group, msg);
-
- return SCI_SUCCESS;
-}
-
-void RoutingList::splitBcast(sci_group_t group, Message *msg)
-{
- int numSor = numOfSuccessor(group);
- retrieveSuccessorList(group, successorList);
- mcast(msg, successorList, numSor);
-}
-
-void RoutingList::mcast(Message *msg, int *sorList, int num)
-{
- int i = 0;
-
- if (msg->getContentLen() <= maxSegmentSize) {
- msg->setRefCount(msg->getRefCount() + num);
- for (i = 0; i < num; i++) {
- queryQueue(sorList[i])->produce(msg);
- }
- return;
- }
-
- Message **segments;
- int segnum = getSegments(msg, &segments, num);
- for (i = 0; i < num; i++) {
- queryQueue(sorList[i])->multiProduce(segments, segnum);
- }
- ::free(segments);
-}
-
-void RoutingList::ucast(int successor_id, Message *msg, int refInc)
-{
- log_debug("Processor Router: send msg to successor %d", successor_id);
- mcast(msg, &successor_id, refInc);
-
- return;
-}
-
-void RoutingList::initSubGroup(int successor_id, int start_be_id, int end_be_id)
-{
- char qName[64] = {0};
- MessageQueue *queue = NULL;
-
- if (successor_id != VALIDBACKENDIDS) {
- queue = new MessageQueue();
- ::sprintf(qName, "Agent%d_inQ", successor_id);
- queue->setName(qName);
- mapQueue(successor_id, queue);
- } else {
- int i = 0;
- for (i = start_be_id; i <= end_be_id; i++) {
- queue = new MessageQueue();
- ::sprintf(qName, "BE%d_inQ", i);
- queue->setName(qName);
- mapQueue(i, queue);
- }
- }
-
- myDistriGroup->initSubGroup(successor_id, start_be_id, end_be_id);
-}
-
-int RoutingList::startReading(int hndl)
-{
- ROUTING_MAP::iterator it = routers.find(hndl);
- assert(it != routers.end());
- ReaderProcessor *reader = it->second.processor->getPeerProcessor();
- reader->start();
-
- return 0;
-}
-
-int RoutingList::startReaders()
-{
- ReaderProcessor *reader = NULL;
- ROUTING_MAP::iterator pit;
-
- for (pit = routers.begin(); pit != routers.end(); ++pit) {
- while (pit->second.processor == NULL) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
- reader = pit->second.processor->getPeerProcessor();
- while (reader == NULL) {
- SysUtil::sleep(WAIT_INTERVAL);
- reader = pit->second.processor->getPeerProcessor();
- }
- reader->start();
- }
-
- return 0;
-}
-
-int RoutingList::numOfStreams()
-{
- int size;
- lock();
- size = routers.size();
- unlock();
- return size;
-}
-
-int RoutingList::getStreamsSockfds(int *fds)
-{
- int i = 0;
- ROUTING_MAP::iterator it;
-
- lock();
- for (it = routers.begin(); it != routers.end(); ++it) {
- fds[i] = it->second.stream->getSocket();
- i++;
- }
- unlock();
-
- return i;
-}
-
-int RoutingList::isActiveSockfd(int fd)
-{
- int isSocket = 0;
- ROUTING_MAP::iterator it;
-
- lock();
- for (it = routers.begin(); it != routers.end(); ++it) {
- if (fd == it->second.stream->getSocket()) {
- if ((it->second.stream->isReadActive()) || (it->second.stream->isWriteActive()) ){
- isSocket = 1;
- break;
- }
- }
- }
- unlock();
-
- return isSocket;
-}
-
-bool RoutingList::allActive()
-{
- bool active = true;
- ROUTING_MAP::iterator it;
-
- lock();
- for (it = routers.begin(); it != routers.end(); ++it) {
- if ((!(it->second.stream->isReadActive())) || (!(it->second.stream->isWriteActive())) ){
- active = false;
- break;
- }
- }
- unlock();
-
- return active;
-}
-
-void RoutingList::mapRouters(int hndl, WriterProcessor *writer, Stream *stream)
-{
- lock();
- if (writer != NULL) {
- routers[hndl].processor = writer;
- }
- routers[hndl].stream = stream;
- unlock();
-}
-
-int RoutingList::startRouting(int hndl, Stream *stream)
-{
- char name[64] = {0};
- MessageQueue *inQ = queryQueue(hndl);
- while (inQ == NULL) {
- SysUtil::sleep(WAIT_INTERVAL);
- inQ = queryQueue(hndl);
- }
-
- WriterProcessor *writer = NULL;
- if ((routers.find(hndl) != routers.end()) && (routers[hndl].stream != NULL)) {
- if (!gCtrlBlock->getRecoverMode()) {
- log_error("Duplicated client are trying to connect!!!");
- return -1;
- }
- writer = routers[hndl].processor;
- while(!(writer->getRecoverState())) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
-
- writer->setOutStream(stream);
- mapRouters(hndl, NULL, stream);
- return 0;
- }
-
- log_debug("routers[%d].stream = %p", hndl, stream);
- ReaderProcessor *reader = new ReaderProcessor(hndl);
- reader->setInStream(stream);
- reader->setOutQueue(filterProc->getInQueue());
- ::sprintf(name, "Reader%d", hndl);
- reader->setName(name);
-
- writer = new WriterProcessor(hndl);
- writer->setInQueue(inQ);
- writer->setOutStream(stream);
- ::sprintf(name, "Writer%d", hndl);
- writer->setName(name);
-
- // reader is a peer processor of writer
- writer->setPeerProcessor(reader);
- reader->setPeerProcessor(writer);
- mapRouters(hndl, writer, stream);
-
- log_debug("The Reader%d thread has been newed!", hndl);
- writer->start();
- reader->start();
-
- return 0;
-}
-
-int RoutingList::stopRouting(int hndl)
-{
- ROUTING_MAP::iterator pit = routers.find(hndl);
- if (pit != routers.end()) {
- pit->second.processor->release();
- delete pit->second.processor;
-
- routers.erase(hndl);
- queueInfo.erase(hndl);
- }
-
- return 0;
-}
-
-int RoutingList::stopRouting()
-{
- // waiting for all processor threads terminate
- ROUTING_MAP::iterator pit;
- for (pit = routers.begin(); pit != routers.end(); ++pit) {
- pit->second.processor->release();
- delete pit->second.processor;
- }
-
- routers.clear();
- queueInfo.clear();
-
- return 0;
-}
-
-bool RoutingList::allRouted()
-{
- if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_AGENT) {
- char *envp = getenv("SCI_EMBED_AGENT");
- if ((envp != NULL) && (strcasecmp(envp, "yes") == 0)) {
- return (numOfQueues() == (numOfStreams() + 1)); // queueInfo contains itself
- }
- }
-
- return (numOfQueues() == numOfStreams());
-}
-
-void RoutingList::addBE(sci_group_t group, int successor_id, int be_id, bool init)
-{
- if (init) {
- char qName[64] = {0};
- int qID = 0;
- MessageQueue *queue = new MessageQueue();
-
- if (successor_id == VALIDBACKENDIDS) {
- qID = be_id;
- ::sprintf(qName, "BE%d_inQ", qID);
- } else {
- qID = successor_id;
- ::sprintf(qName, "Agent%d_inQ", qID);
- }
- queue->setName(qName);
- mapQueue(qID, queue);
- }
-
- myDistriGroup->addBE(group, successor_id, be_id);
-}
-
-void RoutingList::removeBE(int be_id)
-{
- myDistriGroup->removeBE(be_id);
-}
-
-void RoutingList::removeGroup(sci_group_t group)
-{
- myDistriGroup->remove(group);
-}
-
-void RoutingList::updateParentId(int pid)
-{
- ::setenv("SCI_PARENT_ID", SysUtil::itoa(pid).c_str(), 1);
- myDistriGroup->setPID(pid);
-}
-
-bool RoutingList::isGroupExist(sci_group_t group)
-{
- return myDistriGroup->isGroupExist(group);
-}
-
-bool RoutingList::isSuccessorExist(int successor_id)
-{
- return myDistriGroup->isSuccessorExist(successor_id);
-}
-
-
-int RoutingList::numOfBE(sci_group_t group)
-{
- return myDistriGroup->numOfBE(group);
-}
-
-int RoutingList::numOfSuccessor(sci_group_t group)
-{
- return myDistriGroup->numOfSuccessor(group);
-}
-
-int RoutingList::numOfBEOfSuccessor(int successor_id)
-{
- if (successor_id >= 0) {
- // if it is a back end
- return 1;
- }
-
- return myDistriGroup->numOfBEOfSuccessor(successor_id);
-}
-
-int RoutingList::querySuccessorId(int be_id)
-{
- return myDistriGroup->querySuccessorId(be_id);
-}
-
-void RoutingList::retrieveBEList(sci_group_t group, int * ret_val)
-{
- assert(ret_val);
- myDistriGroup->retrieveBEList(group, ret_val);
-}
-
-void RoutingList::retrieveSuccessorList(sci_group_t group, int * ret_val)
-{
- assert(ret_val);
- myDistriGroup->retrieveSuccessorList(group, ret_val);
-}
-
-void RoutingList::retrieveBEListOfSuccessor(int successor_id, int * ret_val)
-{
- assert(ret_val);
- myDistriGroup->retrieveBEListOfSuccessor(successor_id, ret_val);
-}
-
-void RoutingList::mapQueue(int hndl, MessageQueue *queue)
-{
- lock();
- queueInfo[hndl] = queue;
- unlock();
-}
-
-MessageQueue * RoutingList::queryQueue(int hndl)
-{
- MessageQueue *queue = NULL;
-
- lock();
- QUEUE_MAP::iterator qit = queueInfo.find(hndl);
- if (qit != queueInfo.end()) {
- queue = (*qit).second;
- }
- unlock();
-
- return queue;
-}
-
-int RoutingList::numOfQueues()
-{
- int size;
- lock();
- size = queueInfo.size();
- unlock();
- return size;
-}
-
-void RoutingList::lock()
-{
- ::pthread_mutex_lock(&mtx);
-}
-
-void RoutingList::unlock()
-{
- ::pthread_mutex_unlock(&mtx);
-}
-
-Topology * RoutingList::getTopology()
-{
- return topology;
-}
-
-FilterProcessor * RoutingList::getFilterProcessor()
-{
- return filterProc;
-}
-
-void RoutingList::setFilterProcessor(FilterProcessor *proc)
-{
- filterProc = proc;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/routinglist.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/routinglist.hpp
deleted file mode 100644
index fb7115a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/routinglist.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: RoutingList
-
- Description: Provide routing services for all threads.
-
- Author: Nicole Nie, Liu Wei, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/08/09 nieyy Initial code (D156654)
- 01/16/12 ronglli Add codes to retrieve BE list
-
-****************************************************************************/
-
-#ifndef _ROUTINGLIST_HPP
-#define _ROUTINGLIST_HPP
-
-#include <pthread.h>
-#include "sci.h"
-#include "general.hpp"
-
-#include <map>
-
-class Message;
-class DistributedGroup;
-class Stream;
-class MessageQueue;
-class WriterProcessor;
-class FilterProcessor;
-class Topology;
-
-#define SCI_JOIN_SEGMENT -1001
-
-using namespace std;
-
-struct routingInfo {
- Stream *stream;
- WriterProcessor *processor;
-};
-
-class RoutingList
-{
- public:
- typedef map<int, MessageQueue*> QUEUE_MAP;
- typedef map<int, struct routingInfo> ROUTING_MAP;
-
- private:
- int handle;
- DistributedGroup *myDistriGroup;
- int *successorList;
- int maxSegmentSize;
- pthread_mutex_t mtx;
- QUEUE_MAP queueInfo;
- ROUTING_MAP routers;
- FilterProcessor *filterProc;
- Topology *topology;
-
- public:
- RoutingList(int hndl);
- ~RoutingList();
-
- void lock();
- void unlock();
- void parseCmd(Message *msg);
- void propagateGroupInfo();
- void mapQueue(int hndl, MessageQueue *queue);
- MessageQueue * queryQueue(int hndl);
- int numOfQueues();
- void mapRouters(int hndl, WriterProcessor *writer, Stream *stream);
-
- int startRouting(int hndl, Stream *stream);
- int startReading(int hndl);
- int startReaders();
- int stopRouting(int hndl);
- int stopRouting();
- bool allRouted();
-
- void setFilterProcessor(FilterProcessor *proc);
- FilterProcessor * getFilterProcessor();
- Topology * getTopology();
-
- int getSegments(Message *msg, Message ***segments, int ref);
- int bcast(sci_group_t group, Message *msg);
- void ucast(int successor_id, Message *msg, int refInc = 1);
- void mcast(Message *msg, int *sorList, int num);
- void splitBcast(sci_group_t group, Message *msg);
-
- void initSubGroup(int successor_id, int start_be_id, int end_be_id);
- void addBE(sci_group_t group, int successor_id, int be_id, bool init = false);
- void removeBE(int be_id);
- void removeGroup(sci_group_t group);
-
- void updateParentId(int pid);
-
- bool isGroupExist(sci_group_t group);
- bool isSuccessorExist(int successor_id);
-
- int numOfBE(sci_group_t group);
- int numOfSuccessor(sci_group_t group);
- int numOfBEOfSuccessor(int successor_id);
-
- int querySuccessorId(int be_id);
- void retrieveBEList(sci_group_t group, int *ret_val);
- void retrieveSuccessorList(sci_group_t, int *ret_val);
- void retrieveBEListOfSuccessor(int successor_id, int * ret_val);
- int getStreamsSockfds(int *fds);
- int numOfStreams();
-
- int isActiveSockfd(int fd);
- bool allActive();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/topology.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/topology.cpp
deleted file mode 100644
index 0e9b3a7..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/topology.cpp
+++ /dev/null
@@ -1,364 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: BEMap, Topology, Launcher
-
- Description: Runtime topology manipulation.
-
- Author: Nicole Nie, Liu Wei, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include <math.h>
-#include <ctype.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-
-#include "log.hpp"
-#include "tools.hpp"
-#include "packer.hpp"
-#include "exception.hpp"
-#include "ipconverter.hpp"
-
-#include "topology.hpp"
-#include "launcher.hpp"
-#include "ctrlblock.hpp"
-#include "initializer.hpp"
-#include "message.hpp"
-#include "queue.hpp"
-#include "routinglist.hpp"
-#include "filterlist.hpp"
-#include "processor.hpp"
-#include "eventntf.hpp"
-#include "listener.hpp"
-#include "sshfunc.hpp"
-#include "purifierproc.hpp"
-#include "embedagent.hpp"
-
-#ifdef __APPLE__
-extern char **environ;
-#endif
-
-Topology::Topology(int id)
- : agentID(id), initID(-1)
-{
- beMap.clear();
- weightMap.clear();
-}
-
-Topology::~Topology()
-{
- beMap.clear();
- weightMap.clear();
-}
-
-void Topology::setInitID()
-{
- initID = gNotifier->allocate();
-}
-
-int Topology::getInitID()
-{
- return initID;
-}
-
-Message * Topology::packMsg()
-{
- Packer packer;
- packer.packInt(agentID);
- packer.packInt(fanOut);
- packer.packInt(level);
- packer.packInt(height);
- packer.packStr(bePath);
- packer.packStr(agentPath);
-
- BEMap::iterator it;
- packer.packInt(beMap.size());
- for (it = beMap.begin(); it != beMap.end(); ++it) {
- packer.packInt((*it).first);
- packer.packStr((*it).second);
- }
-
- char *bufs[1];
- int sizes[1];
-
- bufs[0] = packer.getPackedMsg();
- sizes[0] = packer.getPackedMsgLen();
-
- Message *msg = new Message(Message::CONFIG);
- msg->build(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes, Message::CONFIG);
- delete [] bufs[0];
-
- return msg;
-}
-
-Topology & Topology::unpackMsg(Message &msg)
-{
- int i, id, size;
- Packer packer(msg.getContentBuf());
-
- agentID = packer.unpackInt();
- fanOut = packer.unpackInt();
- level = packer.unpackInt();
- height = packer.unpackInt();
- bePath = packer.unpackStr();
- agentPath = packer.unpackStr();
-
- size = packer.unpackInt();
- for (i = 0; i < size; i++) {
- id = packer.unpackInt();
- beMap[id] = packer.unpackStr();
- }
-
- return *this;
-}
-
-int Topology::init()
-{
- int rc;
- char *envp = NULL;
- int numItem = -1;
- char **hostlist = gCtrlBlock->getEndInfo()->fe_info.host_list;
-
- if ((envp = ::getenv("SCI_BACKEND_NUM")) != NULL) {
- int n = ::atoi(envp);
- if (n > 0) {
- numItem = n;
- } else {
- log_warn("Ignore invalid SCI_BACKEND_NUM value(%d)", n);
- }
- }
- if (hostlist != NULL) {
- rc = beMap.input((const char **)hostlist, numItem);
- } else {
- // check host file & num of be
- char *hostfile = gCtrlBlock->getEndInfo()->fe_info.hostfile;
- if ((envp = ::getenv("SCI_HOST_FILE")) != NULL) {
- hostfile = envp;
- }
- if (hostfile == NULL) {
- hostfile = "host.list";
- }
-
- rc = beMap.input(hostfile, numItem);
- }
- if (rc != SCI_SUCCESS) {
- return rc;
- }
-
- // check fanout
- fanOut = 32;
- if ((envp = ::getenv("SCI_DEBUG_FANOUT")) != NULL) {
- fanOut = ::atoi(envp);
- }
-
- level = 0;
- height = (int) ::ceil(::log((double)beMap.size()) / ::log((double)fanOut));
-
- // check be path
- if ((envp = ::getenv("SCI_BACKEND_PATH")) != NULL) {
- bePath = envp;
- } else {
- if (gCtrlBlock->getEndInfo()->fe_info.bepath != NULL) {
- bePath = gCtrlBlock->getEndInfo()->fe_info.bepath;
- } else {
- return SCI_ERR_UNKNOWN_INFO;
- }
- }
-
-#ifdef __64BIT__
- const char *agentName = "scia64";
-#else
- const char *agentName = "scia";
-#endif
-
- envp = ::getenv("SCI_EMBED_AGENT");
- if ((envp != NULL) && (strcasecmp(envp, "yes") == 0)) {
- agentPath = bePath;
- } else if ((envp = ::getenv("SCI_AGENT_PATH")) != NULL) {
- agentPath = envp;
- agentPath += "/";
- agentPath += agentName;
- } else {
- char * tmpp = SysUtil::get_path_name(agentName);
- if (tmpp == NULL) {
- return SCI_ERR_AGENT_NOTFOUND;
- }
- agentPath = tmpp;
- }
-
- return SCI_SUCCESS;
-}
-
-int Topology::deploy()
-{
- Launcher launcher(*this);
- nextAgentID = (agentID + 1) * fanOut - 2; // A formular to calculate the agentID of the first child
-
- int rc = launcher.launch();
- if ((initID != -1) && ((gCtrlBlock->getMyRole() != CtrlBlock::BACK_AGENT))){
- *(int *)gNotifier->getRetVal(initID) = rc;
- gNotifier->notify(initID);
- }
-
- return rc;
-}
-
-int Topology::addBE(Message *msg)
-{
- assert(msg);
-
- Packer packer(msg->getContentBuf());
- char *host = packer.unpackStr();
- int lev = packer.unpackInt();
- int id = (int) msg->getGroup();
-
- // find the first child agent with weight < fanOut
- int aID = INVLIDSUCCESSORID;
- map<int, int>::iterator it = weightMap.begin();
- for (; it!=weightMap.end(); ++it) {
- int weight = (*it).second;
- if (!isFullTree(weight)) {
- aID = (*it).first;
- break;
- }
- }
-
- int rc = SCI_SUCCESS;
- if ((aID == INVLIDSUCCESSORID) && ((lev <= level) || (level == height))) {
- // if do not find
- Launcher launcher(*this);
- if (weightMap.size() == 0) { // if this agent does not have any child agents, launch a back end
- rc = launcher.launchBE(id, host);
- } else { // if this agent has child agent(s), launch an agent
- rc = launcher.launchAgent(id, host);
- }
- } else {
- if (aID == INVLIDSUCCESSORID)
- aID = weightMap.begin()->first;
- // otherwise delegate this command
- routingList->addBE(SCI_GROUP_ALL, aID, id);
- routingList->ucast(aID, msg);
- incWeight(aID);
- }
-
- if (rc == SCI_SUCCESS) {
- beMap[id] = host;
- }
-
- return rc;
-}
-
-int Topology::removeBE(Message *msg)
-{
- assert(msg);
-
- int id = (int) msg->getGroup();
- if (!hasBE(id)) {
- return SCI_ERR_BACKEND_NOTFOUND;
- }
-
- int aID = routingList->querySuccessorId(id);
- assert(aID != INVLIDSUCCESSORID);
-
- routingList->removeBE(id);
- if (aID == VALIDBACKENDIDS) {
- routingList->ucast(id, msg);
- routingList->stopRouting(id);
- } else {
- routingList->ucast(aID, msg);
- decWeight(aID);
- }
-
- beMap.erase(id);
- return SCI_SUCCESS;
-}
-
-int Topology::getBENum()
-{
- return beMap.size();
-}
-
-int Topology::getLevel()
-{
- return level;
-}
-
-bool Topology::hasBE(int beID)
-{
- if (beMap.find(beID) != beMap.end())
- return true;
- else
- return false;
-}
-
-void Topology::incWeight(int id)
-{
- if (weightMap.find(id) == weightMap.end()) {
- weightMap[id] = 1;
- } else {
- weightMap[id] = weightMap[id] + 1;
- }
-}
-
-void Topology::decWeight(int id)
-{
- assert(weightMap.find(id) != weightMap.end());
-
- weightMap[id] = weightMap[id] - 1;
- if (weightMap[id] == 0) {
- weightMap.erase(id);
- }
-}
-
-bool Topology::isFullTree(int beNum)
-{
- if (beNum >= fanOut)
- return true;
-
- return false;
-}
-
-RoutingList * Topology::getRoutingList()
-{
- return routingList;
-}
-
-void Topology::setRoutingList(RoutingList *rlist)
-{
- routingList = rlist;
-}
-
-FilterList * Topology::getFilterList()
-{
- return filterList;
-}
-
-void Topology::setFilterList(FilterList *flist)
-{
- filterList = flist;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/topology.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/topology.hpp
deleted file mode 100644
index 209449f..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/topology.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: BEMap, Topology, Launcher
-
- Description: Runtime topology manipulation.
-
- Author: Nicole Nie, Liu Wei, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifndef _TOPOLOGY_HPP
-#define _TOPOLOGY_HPP
-
-#include <map>
-#include <string>
-
-using namespace std;
-
-#include "sci.h"
-#include "general.hpp"
-#include "stream.hpp"
-#include "envvar.hpp"
-#include "bemap.hpp"
-
-class Message;
-class Launcher;
-class RoutingList;
-class FilterList;
-
-class Topology
-{
- private:
- // primary members
- int initID;
- int agentID;
- int fanOut;
- int level;
- int height;
- string bePath;
- string agentPath;
- BEMap beMap;
-
- // other members
- int nextAgentID;
- RoutingList *routingList;
- FilterList *filterList;
-
- // weight factors
- map<int, int> weightMap;
-
- public:
- Topology(int id);
- ~Topology();
-
- Message * packMsg();
- Topology & unpackMsg(Message &msg);
-
- int init(); // only called by FE
- int deploy();
- int getInitID();
- void setInitID();
-
- int addBE(Message *msg);
- int removeBE(Message *msg);
-
- bool hasBE(int beID);
- int getBENum();
- int getLevel();
- int getFanout() { return fanOut; }
-
- void incWeight(int id);
- void decWeight(int id);
- RoutingList * getRoutingList();
- void setRoutingList(RoutingList *rlist);
- FilterList * getFilterList();
- void setFilterList(FilterList *flist);
-
- friend class Launcher;
-
- private:
- bool isFullTree(int beNum);
-};
-
-const int MAX_FD = 256;
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/writerproc.cpp b/tools/sci/org.eclipse.ptp.sci/libsci/writerproc.cpp
deleted file mode 100644
index 64cb835..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/writerproc.cpp
+++ /dev/null
@@ -1,196 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: WriterProcessor
-
- Description: Properties of class 'WriterProcessor':
- input: a message queue
- output: a stream
- action: relay messages from the queue to the stream.
-
- Author: Nicole Nie, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/25/09 nieyy Initial code (F156654)
- 01/16/12 ronglli Add codes to detect SOCKET_BROKEN
-
-****************************************************************************/
-
-#include "writerproc.hpp"
-#include <assert.h>
-
-#include "log.hpp"
-#include "exception.hpp"
-#include "socket.hpp"
-
-#include "ctrlblock.hpp"
-#include "tools.hpp"
-#include "message.hpp"
-#include "stream.hpp"
-#include "queue.hpp"
-#include "readerproc.hpp"
-
-#include "eventntf.hpp"
-#include "tools.hpp"
-
-WriterProcessor::WriterProcessor(int hndl)
- : Processor(hndl), peerProcessor(NULL), recoverID(-1), notifyID(-1), recoverState(false), releaseState(false)
-{
- name = "Writer";
-
- inQueue = NULL;
- outStream = NULL;
-}
-
-WriterProcessor::~WriterProcessor()
-{
- if (outStream)
- delete outStream;
- if (inQueue)
- delete inQueue;
-}
-
-Message * WriterProcessor::read()
-{
- assert(inQueue);
-
- Message *msg = NULL;
-
- msg = inQueue->consume();
-
- return msg;
-}
-
-void WriterProcessor::process(Message * msg)
-{
- // no action
-}
-
-void WriterProcessor::write(Message * msg)
-{
- assert(outStream);
-
- switch (msg->getType()) {
- case Message::RELEASE:
- inQueue->remove();
- if (getReleaseState()) {
- throw (SocketException(SocketException::NET_ERR_CLOSED));
- }
- break;
- default:
- try {
- *outStream << *msg;
- } catch (SocketException &e) {
- inQueue->release();
- throw;
- } catch (...) {
- inQueue->release();
- throw;
- }
- inQueue->remove();
- break;
- }
-}
-
-void WriterProcessor::seize()
-{
- setState(false);
-}
-
-int WriterProcessor::recover()
-{
- if ((gCtrlBlock->getTermState()) || (!gCtrlBlock->getRecoverMode())) {
- return -1;
- }
-
- outStream->stopWrite();
-
- if (recoverID == -1) {
- recoverID = gNotifier->allocate();
- }
- setRecoverState(true);
- Stream *st;
- if (gNotifier->freeze_i(recoverID, &st) != 0) {
- return -1;
- }
- log_debug("writer%d: have set the outStream to st %p, recoverID %d", handle, st, recoverID);
- recoverID = gNotifier->allocate();
- outStream = st;
- setReleaseState(false);
- setRecoverState(false);
- log_debug("writer%d: begin to notify notifyID %d", handle, notifyID);
- if (gNotifier->notify_i(notifyID) != 0) {
- return -1;
- }
-
- return 0;
-}
-
-void WriterProcessor::clean()
-{
- outStream->stopWrite();
- gCtrlBlock->setFlowctlState(false);
- if (peerProcessor) {
- while (!peerProcessor->isLaunched()) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
- peerProcessor->join(); // ReaderProcessor
- delete peerProcessor;
- }
-}
-
-void WriterProcessor::setInQueue(MessageQueue * queue)
-{
- inQueue = queue;
-}
-
-void WriterProcessor::setOutStream(Stream * stream)
-{
- if (outStream == NULL) {
- outStream = stream;
- } else {
- log_debug("writer%d: begin to notify the stream %p, recoverID = %d", handle, stream, recoverID);
- if (peerProcessor) {
- peerProcessor->setInStream(stream);
- }
- while (recoverID == -1) {
- SysUtil::sleep(WAIT_INTERVAL);
- }
- if (notifyID == -1) {
- notifyID = gNotifier->allocate();
- }
- *(Stream **)gNotifier->getRetVal(recoverID) = stream;
- gNotifier->notify(recoverID);
- log_debug("writer%d: finish notify the recoverID %d", handle, recoverID);
- log_debug("writer%d: begin to freeze the notifyID %d", handle, notifyID);
- gNotifier->freeze(notifyID, NULL);
- log_debug("writer%d: finish freeze the notifyID %d", handle, notifyID);
- notifyID = gNotifier->allocate();
- }
-}
-
-MessageQueue * WriterProcessor::getInQueue()
-{
- return inQueue;
-}
-
-void WriterProcessor::setPeerProcessor(ReaderProcessor * processor)
-{
- peerProcessor = processor;
-}
-
-ReaderProcessor *WriterProcessor::getPeerProcessor()
-{
- return peerProcessor;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/libsci/writerproc.hpp b/tools/sci/org.eclipse.ptp.sci/libsci/writerproc.hpp
deleted file mode 100644
index 99ffe64..0000000
--- a/tools/sci/org.eclipse.ptp.sci/libsci/writerproc.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: WriterProcessor
-
- Description: Properties of class 'WriterProcessor':
- input: a message queue
- output: a stream
- action: relay messages from the queue to the stream.
-
- Author: Nicole Nie, Tu HongJ
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 05/25/09 nieyy Initial code (F156654)
-
-****************************************************************************/
-
-#ifndef _WRITERPROC_HPP
-#define _WRITERPROC_HPP
-
-#include "processor.hpp"
-
-class Stream;
-class MessageQueue;
-class ReaderProcessor;
-
-class WriterProcessor : public Processor
-{
- private:
- Stream *outStream;
- ReaderProcessor *peerProcessor;
- int recoverID;
- int notifyID;
-
- bool recoverState;
- bool releaseState;
-
- public:
- WriterProcessor(int hndl = -1);
- ~WriterProcessor();
-
- virtual Message * read();
- virtual void process(Message *msg);
- virtual void write(Message *msg);
- virtual void seize();
- virtual int recover();
- virtual void clean();
-
- void setInQueue(MessageQueue *queue);
- MessageQueue * getInQueue();
- void setOutStream(Stream *stream);
- void setPeerProcessor(ReaderProcessor *processor);
- ReaderProcessor *getPeerProcessor();
-
- bool getRecoverState() { return recoverState; }
- void setRecoverState(bool state) { recoverState = state; }
- bool getReleaseState() { return releaseState; }
- void setReleaseState(bool state) { releaseState = state; }
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/ltmain.sh b/tools/sci/org.eclipse.ptp.sci/ltmain.sh
deleted file mode 100644
index a72f2fd..0000000
--- a/tools/sci/org.eclipse.ptp.sci/ltmain.sh
+++ /dev/null
@@ -1,8406 +0,0 @@
-# Generated from ltmain.m4sh.
-
-# ltmain.sh (GNU libtool) 2.2.6b
-# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions. There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool 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 2 of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-# --config show all configuration variables
-# --debug enable verbose shell tracing
-# -n, --dry-run display commands without modifying any files
-# --features display basic configuration information and exit
-# --mode=MODE use operation mode MODE
-# --preserve-dup-deps don't remove duplicate dependency libraries
-# --quiet, --silent don't print informational messages
-# --tag=TAG use configuration variables from tag TAG
-# -v, --verbose print informational messages (default)
-# --version print version information
-# -h, --help print short or long help message
-#
-# MODE must be one of the following:
-#
-# clean remove files from the build directory
-# compile compile a source file into a libtool object
-# execute automatically set library path, then run a program
-# finish complete the installation of libtool libraries
-# install install libraries or executables
-# link create a library or an executable
-# uninstall remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-# host-triplet: $host
-# shell: $SHELL
-# compiler: $LTCC
-# compiler flags: $LTCFLAGS
-# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.2.6b
-# automake: $automake_version
-# autoconf: $autoconf_version
-#
-# Report bugs to <bug-libtool@gnu.org>.
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=2.2.6b
-TIMESTAMP=""
-package_revision=1.3017
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# NLS nuisances: We save the old values to restore during execute mode.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
- eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- $lt_var=C
- export $lt_var
- lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
- lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
- fi"
-done
-
-$lt_unset CDPATH
-
-
-
-
-
-: ${CP="cp -f"}
-: ${ECHO="echo"}
-: ${EGREP="/bin/grep -E"}
-: ${FGREP="/bin/grep -F"}
-: ${GREP="/bin/grep"}
-: ${LN_S="ln -s"}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SED="/bin/sed"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
-
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-# Generated shell functions inserted here.
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-# In the unlikely event $progname began with a '-', it would play havoc with
-# func_echo (imagine progname=-n), so we prepend ./ in that case:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
-case $progname in
- -*) progname=./$progname ;;
-esac
-
-# Make sure we have an absolute path for reexecution:
-case $progpath in
- [\\/]*|[A-Za-z]:\\*) ;;
- *[\\/]*)
- progdir=$func_dirname_result
- progdir=`cd "$progdir" && pwd`
- progpath="$progdir/$progname"
- ;;
- *)
- save_IFS="$IFS"
- IFS=:
- for progdir in $PATH; do
- IFS="$save_IFS"
- test -x "$progdir/$progname" && break
- done
- IFS="$save_IFS"
- test -n "$progdir" || progdir=`pwd`
- progpath="$progdir/$progname"
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
- s/$bs4/&\\
-/g
- s/^$bs2$dollar/$bs&/
- s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
- s/\n//g"
-
-# Standard options:
-opt_dry_run=false
-opt_help=false
-opt_quiet=false
-opt_verbose=false
-opt_warning=:
-
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
- $ECHO "$progname${mode+: }$mode: $*"
-}
-
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
- $opt_verbose && func_echo ${1+"$@"}
-
- # A bug in bash halts the script if the last line of a function
- # fails when set -e is in force, so we need another command to
- # work around that:
- :
-}
-
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
- $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
-}
-
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
- $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
-
- # bash bug again:
- :
-}
-
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
- func_error ${1+"$@"}
- exit $EXIT_FAILURE
-}
-
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
- func_error ${1+"$@"}
- func_fatal_error "$help"
-}
-help="Try \`$progname --help' for more information." ## default
-
-
-# func_grep expression filename
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
- $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_mkdir_p directory-path
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
- my_directory_path="$1"
- my_dir_list=
-
- if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
-
- # Protect directory names starting with `-'
- case $my_directory_path in
- -*) my_directory_path="./$my_directory_path" ;;
- esac
-
- # While some portion of DIR does not yet exist...
- while test ! -d "$my_directory_path"; do
- # ...make a list in topmost first order. Use a colon delimited
- # list incase some portion of path contains whitespace.
- my_dir_list="$my_directory_path:$my_dir_list"
-
- # If the last portion added has no slash in it, the list is done
- case $my_directory_path in */*) ;; *) break ;; esac
-
- # ...otherwise throw away the child directory and loop
- my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
- done
- my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
-
- save_mkdir_p_IFS="$IFS"; IFS=':'
- for my_dir in $my_dir_list; do
- IFS="$save_mkdir_p_IFS"
- # mkdir can fail with a `File exist' error if two processes
- # try to create one of the directories concurrently. Don't
- # stop in that case!
- $MKDIR "$my_dir" 2>/dev/null || :
- done
- IFS="$save_mkdir_p_IFS"
-
- # Bail out if we (or some other process) failed to create a directory.
- test -d "$my_directory_path" || \
- func_fatal_error "Failed to create \`$1'"
- fi
-}
-
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
-
- if test "$opt_dry_run" = ":"; then
- # Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
- else
-
- # If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
- if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
-
- save_mktempdir_umask=`umask`
- umask 0077
- $MKDIR "$my_tmpdir"
- umask $save_mktempdir_umask
- fi
-
- # If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || \
- func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
- fi
-
- $ECHO "X$my_tmpdir" | $Xsed
-}
-
-
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
-{
- case $1 in
- *[\\\`\"\$]*)
- func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
- *)
- func_quote_for_eval_unquoted_result="$1" ;;
- esac
-
- case $func_quote_for_eval_unquoted_result in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and and variable
- # expansion for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
- ;;
- *)
- func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
- esac
-}
-
-
-# func_quote_for_expand arg
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
- case $1 in
- *[\\\`\"]*)
- my_arg=`$ECHO "X$1" | $Xsed \
- -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
- *)
- my_arg="$1" ;;
- esac
-
- case $my_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting and command substitution for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- my_arg="\"$my_arg\""
- ;;
- esac
-
- func_quote_for_expand_result="$my_arg"
-}
-
-
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
- my_cmd="$1"
- my_fail_exp="${2-:}"
-
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
-
- if ${opt_dry_run-false}; then :; else
- eval "$my_cmd"
- my_status=$?
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
- fi
- fi
-}
-
-
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it. Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
- my_cmd="$1"
- my_fail_exp="${2-:}"
-
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
-
- if ${opt_dry_run-false}; then :; else
- eval "$lt_user_locale
- $my_cmd"
- my_status=$?
- eval "$lt_safe_locale"
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
- fi
- fi
-}
-
-
-
-
-
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
- $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
- s/^# //
- s/^# *$//
- s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
- p
- }' < "$progpath"
- exit $?
-}
-
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
-{
- $SED -n '/^# Usage:/,/# -h/ {
- s/^# //
- s/^# *$//
- s/\$progname/'$progname'/
- p
- }' < "$progpath"
- $ECHO
- $ECHO "run \`$progname --help | more' for full usage"
- exit $?
-}
-
-# func_help
-# Echo long help message to standard output and exit.
-func_help ()
-{
- $SED -n '/^# Usage:/,/# Report bugs to/ {
- s/^# //
- s/^# *$//
- s*\$progname*'$progname'*
- s*\$host*'"$host"'*
- s*\$SHELL*'"$SHELL"'*
- s*\$LTCC*'"$LTCC"'*
- s*\$LTCFLAGS*'"$LTCFLAGS"'*
- s*\$LD*'"$LD"'*
- s/\$with_gnu_ld/'"$with_gnu_ld"'/
- s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
- s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
- p
- }' < "$progpath"
- exit $?
-}
-
-# func_missing_arg argname
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
- func_error "missing argument for $1"
- exit_cmd=exit
-}
-
-exit_cmd=:
-
-
-
-
-
-# Check that we have a working $ECHO.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
- # Yippee, $ECHO works!
- :
-else
- # Restart under the correct shell, and then maybe $ECHO will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
-
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
-
-# Global variables.
-# $mode is unset
-nonopt=
-execute_dlfiles=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-opt_dry_run=false
-opt_duplicate_deps=false
-opt_silent=false
-opt_debug=:
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-# func_fatal_configuration arg...
-# Echo program name prefixed message to standard error, followed by
-# a configuration failure hint, and exit.
-func_fatal_configuration ()
-{
- func_error ${1+"$@"}
- func_error "See the $PACKAGE documentation for more information."
- func_fatal_error "Fatal configuration error."
-}
-
-
-# func_config
-# Display the configuration for all the tags in this script.
-func_config ()
-{
- re_begincf='^# ### BEGIN LIBTOOL'
- re_endcf='^# ### END LIBTOOL'
-
- # Default configuration.
- $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
-
- # Now print the configurations for the tags.
- for tagname in $taglist; do
- $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
- done
-
- exit $?
-}
-
-# func_features
-# Display the features supported by this script.
-func_features ()
-{
- $ECHO "host: $host"
- if test "$build_libtool_libs" = yes; then
- $ECHO "enable shared libraries"
- else
- $ECHO "disable shared libraries"
- fi
- if test "$build_old_libs" = yes; then
- $ECHO "enable static libraries"
- else
- $ECHO "disable static libraries"
- fi
-
- exit $?
-}
-
-# func_enable_tag tagname
-# Verify that TAGNAME is valid, and either flag an error and exit, or
-# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
-# variable here.
-func_enable_tag ()
-{
- # Global variable:
- tagname="$1"
-
- re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
- re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
- sed_extractcf="/$re_begincf/,/$re_endcf/p"
-
- # Validate tagname.
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- func_fatal_error "invalid tag name: $tagname"
- ;;
- esac
-
- # Don't test for the "default" C tag, as we know it's
- # there but not specially marked.
- case $tagname in
- CC) ;;
- *)
- if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
- taglist="$taglist $tagname"
-
- # Evaluate the configuration. Be careful to quote the path
- # and the sed script, to avoid splitting on whitespace, but
- # also don't use non-portable quotes within backquotes within
- # quotes we have to do it in 2 steps:
- extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
- eval "$extractedcf"
- else
- func_error "ignoring unknown tag $tagname"
- fi
- ;;
- esac
-}
-
-# Parse options once, thoroughly. This comes as soon as possible in
-# the script to make things like `libtool --version' happen quickly.
-{
-
- # Shorthand for --mode=foo, only valid as the first argument
- case $1 in
- clean|clea|cle|cl)
- shift; set dummy --mode clean ${1+"$@"}; shift
- ;;
- compile|compil|compi|comp|com|co|c)
- shift; set dummy --mode compile ${1+"$@"}; shift
- ;;
- execute|execut|execu|exec|exe|ex|e)
- shift; set dummy --mode execute ${1+"$@"}; shift
- ;;
- finish|finis|fini|fin|fi|f)
- shift; set dummy --mode finish ${1+"$@"}; shift
- ;;
- install|instal|insta|inst|ins|in|i)
- shift; set dummy --mode install ${1+"$@"}; shift
- ;;
- link|lin|li|l)
- shift; set dummy --mode link ${1+"$@"}; shift
- ;;
- uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
- shift; set dummy --mode uninstall ${1+"$@"}; shift
- ;;
- esac
-
- # Parse non-mode specific arguments:
- while test "$#" -gt 0; do
- opt="$1"
- shift
-
- case $opt in
- --config) func_config ;;
-
- --debug) preserve_args="$preserve_args $opt"
- func_echo "enabling shell trace mode"
- opt_debug='set -x'
- $opt_debug
- ;;
-
- -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
- execute_dlfiles="$execute_dlfiles $1"
- shift
- ;;
-
- --dry-run | -n) opt_dry_run=: ;;
- --features) func_features ;;
- --finish) mode="finish" ;;
-
- --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
- case $1 in
- # Valid mode arguments:
- clean) ;;
- compile) ;;
- execute) ;;
- finish) ;;
- install) ;;
- link) ;;
- relink) ;;
- uninstall) ;;
-
- # Catch anything else as an error
- *) func_error "invalid argument for $opt"
- exit_cmd=exit
- break
- ;;
- esac
-
- mode="$1"
- shift
- ;;
-
- --preserve-dup-deps)
- opt_duplicate_deps=: ;;
-
- --quiet|--silent) preserve_args="$preserve_args $opt"
- opt_silent=:
- ;;
-
- --verbose| -v) preserve_args="$preserve_args $opt"
- opt_silent=false
- ;;
-
- --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
- preserve_args="$preserve_args $opt $1"
- func_enable_tag "$1" # tagname is set here
- shift
- ;;
-
- # Separate optargs to long options:
- -dlopen=*|--mode=*|--tag=*)
- func_opt_split "$opt"
- set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
- shift
- ;;
-
- -\?|-h) func_usage ;;
- --help) opt_help=: ;;
- --version) func_version ;;
-
- -*) func_fatal_help "unrecognized option \`$opt'" ;;
-
- *) nonopt="$opt"
- break
- ;;
- esac
- done
-
-
- case $host in
- *cygwin* | *mingw* | *pw32* | *cegcc*)
- # don't eliminate duplications in $postdeps and $predeps
- opt_duplicate_compiler_generated_deps=:
- ;;
- *)
- opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
- ;;
- esac
-
- # Having warned about all mis-specified options, bail out if
- # anything was wrong.
- $exit_cmd $EXIT_FAILURE
-}
-
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
- if test "$package_revision" != "$macro_revision"; then
- if test "$VERSION" != "$macro_version"; then
- if test -z "$macro_version"; then
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
- else
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
- fi
- else
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
- fi
-
- exit $EXIT_MISMATCH
- fi
-}
-
-
-## ----------- ##
-## Main. ##
-## ----------- ##
-
-$opt_help || {
- # Sanity checks first:
- func_check_version_match
-
- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- func_fatal_configuration "not configured to build any kind of library"
- fi
-
- test -z "$mode" && func_fatal_error "error: you must specify a MODE."
-
-
- # Darwin sucks
- eval std_shrext=\"$shrext_cmds\"
-
-
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$execute_dlfiles" && test "$mode" != execute; then
- func_error "unrecognized option \`-dlopen'"
- $ECHO "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$progname --help --mode=$mode' for more information."
-}
-
-
-# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
- test -f "$1" &&
- $SED -e 4q "$1" 2>/dev/null \
- | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs. To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway. Works if `file' does not exist.
-func_lalib_unsafe_p ()
-{
- lalib_p=no
- if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
- for lalib_p_l in 1 2 3 4
- do
- read lalib_p_line
- case "$lalib_p_line" in
- \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
- esac
- done
- exec 0<&5 5<&-
- fi
- test "$lalib_p" = yes
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
- func_lalib_p "$1"
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
- func_ltwrapper_exec_suffix=
- case $1 in
- *.exe) ;;
- *) func_ltwrapper_exec_suffix=.exe ;;
- esac
- $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
- func_ltwrapper_scriptname_result=""
- if func_ltwrapper_executable_p "$1"; then
- func_dirname_and_basename "$1" "" "."
- func_stripname '' '.exe' "$func_basename_result"
- func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
- fi
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
- func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
- $opt_debug
- save_ifs=$IFS; IFS='~'
- for cmd in $1; do
- IFS=$save_ifs
- eval cmd=\"$cmd\"
- func_show_eval "$cmd" "${2-:}"
- done
- IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)! Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
- $opt_debug
- case $1 in
- */* | *\\*) . "$1" ;;
- *) . "./$1" ;;
- esac
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
- $opt_debug
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- func_quote_for_eval "$arg"
- CC_quoted="$CC_quoted $func_quote_for_eval_result"
- done
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
- *)
- for z in $available_tags; do
- if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- func_quote_for_eval "$arg"
- CC_quoted="$CC_quoted $func_quote_for_eval_result"
- done
- case "$@ " in
- " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- func_echo "unable to infer tagged configuration"
- func_fatal_error "specify a tag with \`--tag'"
-# else
-# func_verbose "using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
- write_libobj=${1}
- if test "$build_libtool_libs" = yes; then
- write_lobj=\'${2}\'
- else
- write_lobj=none
- fi
-
- if test "$build_old_libs" = yes; then
- write_oldobj=\'${3}\'
- else
- write_oldobj=none
- fi
-
- $opt_dry_run || {
- cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-pic_object=$write_lobj
-
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
-
-EOF
- $MV "${write_libobj}T" "${write_libobj}"
- }
-}
-
-# func_mode_compile arg...
-func_mode_compile ()
-{
- $opt_debug
- # Get the compilation command and the source file.
- base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
- suppress_opt=yes
- suppress_output=
- arg_mode=normal
- libobj=
- later=
- pie_flag=
-
- for arg
- do
- case $arg_mode in
- arg )
- # do not "continue". Instead, add this to base_compile
- lastarg="$arg"
- arg_mode=normal
- ;;
-
- target )
- libobj="$arg"
- arg_mode=normal
- continue
- ;;
-
- normal )
- # Accept any command-line options.
- case $arg in
- -o)
- test -n "$libobj" && \
- func_fatal_error "you cannot specify \`-o' more than once"
- arg_mode=target
- continue
- ;;
-
- -pie | -fpie | -fPIE)
- pie_flag="$pie_flag $arg"
- continue
- ;;
-
- -shared | -static | -prefer-pic | -prefer-non-pic)
- later="$later $arg"
- continue
- ;;
-
- -no-suppress)
- suppress_opt=no
- continue
- ;;
-
- -Xcompiler)
- arg_mode=arg # the next one goes into the "base_compile" arg list
- continue # The current "srcfile" will either be retained or
- ;; # replaced later. I would guess that would be a bug.
-
- -Wc,*)
- func_stripname '-Wc,' '' "$arg"
- args=$func_stripname_result
- lastarg=
- save_ifs="$IFS"; IFS=','
- for arg in $args; do
- IFS="$save_ifs"
- func_quote_for_eval "$arg"
- lastarg="$lastarg $func_quote_for_eval_result"
- done
- IFS="$save_ifs"
- func_stripname ' ' '' "$lastarg"
- lastarg=$func_stripname_result
-
- # Add the arguments to base_compile.
- base_compile="$base_compile $lastarg"
- continue
- ;;
-
- *)
- # Accept the current argument as the source file.
- # The previous "srcfile" becomes the current argument.
- #
- lastarg="$srcfile"
- srcfile="$arg"
- ;;
- esac # case $arg
- ;;
- esac # case $arg_mode
-
- # Aesthetically quote the previous argument.
- func_quote_for_eval "$lastarg"
- base_compile="$base_compile $func_quote_for_eval_result"
- done # for arg
-
- case $arg_mode in
- arg)
- func_fatal_error "you must specify an argument for -Xcompile"
- ;;
- target)
- func_fatal_error "you must specify a target with \`-o'"
- ;;
- *)
- # Get the name of the library object.
- test -z "$libobj" && {
- func_basename "$srcfile"
- libobj="$func_basename_result"
- }
- ;;
- esac
-
- # Recognize several different file suffixes.
- # If the user specifies -o file.o, it is replaced with file.lo
- case $libobj in
- *.[cCFSifmso] | \
- *.ada | *.adb | *.ads | *.asm | \
- *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
- *.[fF][09]? | *.for | *.java | *.obj | *.sx)
- func_xform "$libobj"
- libobj=$func_xform_result
- ;;
- esac
-
- case $libobj in
- *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
- *)
- func_fatal_error "cannot determine name of library object from \`$libobj'"
- ;;
- esac
-
- func_infer_tag $base_compile
-
- for arg in $later; do
- case $arg in
- -shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
- build_old_libs=no
- continue
- ;;
-
- -static)
- build_libtool_libs=no
- build_old_libs=yes
- continue
- ;;
-
- -prefer-pic)
- pic_mode=yes
- continue
- ;;
-
- -prefer-non-pic)
- pic_mode=no
- continue
- ;;
- esac
- done
-
- func_quote_for_eval "$libobj"
- test "X$libobj" != "X$func_quote_for_eval_result" \
- && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && func_warning "libobj name \`$libobj' may not contain shell special characters."
- func_dirname_and_basename "$obj" "/" ""
- objname="$func_basename_result"
- xdir="$func_dirname_result"
- lobj=${xdir}$objdir/$objname
-
- test -z "$base_compile" && \
- func_fatal_help "you must specify a compilation command"
-
- # Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
- removelist="$obj $lobj $libobj ${libobj}T"
- else
- removelist="$lobj $libobj ${libobj}T"
- fi
-
- # On Cygwin there's no "real" PIC flag so we must build both object types
- case $host_os in
- cygwin* | mingw* | pw32* | os2* | cegcc*)
- pic_mode=default
- ;;
- esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
- # non-PIC code in shared libraries is not supported
- pic_mode=default
- fi
-
- # Calculate the filename of the output object if compiler does
- # not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
- else
- output_obj=
- need_locks=no
- lockfile=
- fi
-
- # Lock this critical section if it is needed
- # We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
- until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
- func_echo "Waiting for $lockfile to be removed"
- sleep 2
- done
- elif test "$need_locks" = warn; then
- if test -f "$lockfile"; then
- $ECHO "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $opt_dry_run || $RM $removelist
- exit $EXIT_FAILURE
- fi
- removelist="$removelist $output_obj"
- $ECHO "$srcfile" > "$lockfile"
- fi
-
- $opt_dry_run || $RM $removelist
- removelist="$removelist $lockfile"
- trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
- fi
- func_quote_for_eval "$srcfile"
- qsrcfile=$func_quote_for_eval_result
-
- # Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
- # Without this assignment, base_compile gets emptied.
- fbsd_hideous_sh_bug=$base_compile
-
- if test "$pic_mode" != no; then
- command="$base_compile $qsrcfile $pic_flag"
- else
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- fi
-
- func_mkdir_p "$xdir$objdir"
-
- if test -z "$output_obj"; then
- # Place PIC objects in $objdir
- command="$command -o $lobj"
- fi
-
- func_show_eval_locale "$command" \
- 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $opt_dry_run || $RM $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed, then go on to compile the next one
- if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- func_show_eval '$MV "$output_obj" "$lobj"' \
- 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
- fi
-
- # Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
- fi
- fi
-
- # Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
- # Don't build PIC code
- command="$base_compile $qsrcfile$pie_flag"
- else
- command="$base_compile $qsrcfile $pic_flag"
- fi
- if test "$compiler_c_o" = yes; then
- command="$command -o $obj"
- fi
-
- # Suppress compiler output if we already did a PIC compilation.
- command="$command$suppress_output"
- func_show_eval_locale "$command" \
- '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $opt_dry_run || $RM $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed
- if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- func_show_eval '$MV "$output_obj" "$obj"' \
- 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
- fi
- fi
-
- $opt_dry_run || {
- func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- removelist=$lockfile
- $RM "$lockfile"
- fi
- }
-
- exit $EXIT_SUCCESS
-}
-
-$opt_help || {
-test "$mode" = compile && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
- # We need to display help for each of the modes.
- case $mode in
- "")
- # Generic help is extracted from the usage comments
- # at the start of this file.
- func_help
- ;;
-
- clean)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
-
- compile)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -no-suppress do not suppress compiler output for multiple passes
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -shared do not build a \`.o' file suitable for static linking
- -static only build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
- execute)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
- finish)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
- install)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
- -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
- link)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -shared only do dynamic linking of libtool libraries
- -shrext SUFFIX override the standard shared library file extension
- -static do not do any dynamic linking of uninstalled libtool libraries
- -static-libtool-libs
- do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
- -weak LIBNAME declare that the target provides the LIBNAME interface
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
- uninstall)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
- *)
- func_fatal_help "invalid operation mode \`$mode'"
- ;;
- esac
-
- $ECHO
- $ECHO "Try \`$progname --help' for more information about other modes."
-
- exit $?
-}
-
- # Now that we've collected a possible --mode arg, show help if necessary
- $opt_help && func_mode_help
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
- $opt_debug
- # The first argument is the command name.
- cmd="$nonopt"
- test -z "$cmd" && \
- func_fatal_help "you must specify a COMMAND"
-
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- test -f "$file" \
- || func_fatal_help "\`$file' is not a file"
-
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$lib' is not a valid libtool archive"
-
- # Read the libtool library.
- dlname=
- library_names=
- func_source "$file"
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && \
- func_warning "\`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
-
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- if test ! -f "$dir/$dlname"; then
- func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
- fi
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
- ;;
-
- *)
- func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if func_ltwrapper_script_p "$file"; then
- func_source "$file"
- # Transform arg to wrapped name.
- file="$progdir/$program"
- elif func_ltwrapper_executable_p "$file"; then
- func_ltwrapper_scriptname "$file"
- func_source "$func_ltwrapper_scriptname_result"
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- func_quote_for_eval "$file"
- args="$args $func_quote_for_eval_result"
- done
-
- if test "X$opt_dry_run" = Xfalse; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
-
- # Restore saved environment variables
- for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
- do
- eval "if test \"\${save_$lt_var+set}\" = set; then
- $lt_var=\$save_$lt_var; export $lt_var
- else
- $lt_unset $lt_var
- fi"
- done
-
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
- $ECHO "export $shlibpath_var"
- fi
- $ECHO "$cmd$args"
- exit $EXIT_SUCCESS
- fi
-}
-
-test "$mode" = execute && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
- $opt_debug
- libdirs="$nonopt"
- admincmds=
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
-
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $opt_dry_run || eval "$cmds" || admincmds="$admincmds
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- $opt_silent && exit $EXIT_SUCCESS
-
- $ECHO "X----------------------------------------------------------------------" | $Xsed
- $ECHO "Libraries have been installed in:"
- for libdir in $libdirs; do
- $ECHO " $libdir"
- done
- $ECHO
- $ECHO "If you ever happen to want to link against installed libraries"
- $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
- $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $ECHO "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $ECHO " during execution"
- fi
- if test -n "$runpath_var"; then
- $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
- $ECHO " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $ECHO " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $ECHO " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $ECHO
-
- $ECHO "See any operating system documentation about shared libraries for"
- case $host in
- solaris2.[6789]|solaris2.1[0-9])
- $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
- $ECHO "pages."
- ;;
- *)
- $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
- ;;
- esac
- $ECHO "X----------------------------------------------------------------------" | $Xsed
- exit $EXIT_SUCCESS
-}
-
-test "$mode" = finish && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
- $opt_debug
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
- # Aesthetically quote it.
- func_quote_for_eval "$nonopt"
- install_prog="$func_quote_for_eval_result "
- arg=$1
- shift
- else
- install_prog=
- arg=$nonopt
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- func_quote_for_eval "$arg"
- install_prog="$install_prog$func_quote_for_eval_result"
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest=$arg
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
- ;;
- -g | -m | -o)
- prev=$arg
- ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
- ;;
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest=$arg
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- func_quote_for_eval "$arg"
- install_prog="$install_prog $func_quote_for_eval_result"
- done
-
- test -z "$install_prog" && \
- func_fatal_help "you must specify an install program"
-
- test -n "$prev" && \
- func_fatal_help "the \`$prev' option requires an argument"
-
- if test -z "$files"; then
- if test -z "$dest"; then
- func_fatal_help "no file or destination specified"
- else
- func_fatal_help "you must specify a destination"
- fi
- fi
-
- # Strip any trailing slash from the destination.
- func_stripname '' '/' "$dest"
- dest=$func_stripname_result
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- func_dirname_and_basename "$dest" "" "."
- destdir="$func_dirname_result"
- destname="$func_basename_result"
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files; shift
- test "$#" -gt 1 && \
- func_fatal_help "\`$dest' is not a directory"
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- func_fatal_help "\`$destdir' must be an absolute directory name"
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
-
- *.la)
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$file' is not a valid libtool archive"
-
- library_names=
- old_library=
- relink_command=
- func_source "$file"
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- func_dirname "$file" "/" ""
- dir="$func_dirname_result"
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- test "$inst_prefix_dir" = "$destdir" && \
- func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
- else
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
- fi
-
- func_warning "relinking \`$file'"
- func_show_eval "$relink_command" \
- 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
- fi
-
- # See the names of the shared library.
- set dummy $library_names; shift
- if test -n "$1"; then
- realname="$1"
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
- 'exit $?'
- tstripme="$stripme"
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- case $realname in
- *.dll.a)
- tstripme=""
- ;;
- esac
- ;;
- esac
- if test -n "$tstripme" && test -n "$striplib"; then
- func_show_eval "$striplib $destdir/$realname" 'exit $?'
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- test "$linkname" != "$realname" \
- && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- func_execute_cmds "$postinstall_cmds" 'exit $?'
- fi
-
- # Install the pseudo-library for information purposes.
- func_basename "$file"
- name="$func_basename_result"
- instname="$dir/$name"i
- func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- func_lo2o "$destfile"
- staticdest=$func_lo2o_result
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- func_fatal_help "cannot copy a libtool object to \`$destfile'"
- ;;
- esac
-
- # Install the libtool object if requested.
- test -n "$destfile" && \
- func_show_eval "$install_prog $file $destfile" 'exit $?'
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- func_lo2o "$file"
- staticobj=$func_lo2o_result
- func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- func_stripname '' '.exe' "$file"
- file=$func_stripname_result
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin* | *mingw*)
- if func_ltwrapper_executable_p "$file"; then
- func_ltwrapper_scriptname "$file"
- wrapper=$func_ltwrapper_scriptname_result
- else
- func_stripname '' '.exe' "$file"
- wrapper=$func_stripname_result
- fi
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if func_ltwrapper_script_p "$wrapper"; then
- notinst_deplibs=
- relink_command=
-
- func_source "$wrapper"
-
- # Check the variables that should have been set.
- test -z "$generated_by_libtool_version" && \
- func_fatal_error "invalid libtool wrapper script \`$wrapper'"
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- func_source "$lib"
- fi
- libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- func_warning "\`$lib' has not been installed in \`$libdir'"
- finalize=no
- fi
- done
-
- relink_command=
- func_source "$wrapper"
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- $opt_dry_run || {
- if test "$finalize" = yes; then
- tmpdir=`func_mktempdir`
- func_basename "$file$stripped_ext"
- file="$func_basename_result"
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
- $opt_silent || {
- func_quote_for_expand "$relink_command"
- eval "func_echo $func_quote_for_expand_result"
- }
- if eval "$relink_command"; then :
- else
- func_error "error: relink \`$file' with the above command before installing it"
- $opt_dry_run || ${RM}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- func_warning "cannot relink \`$file'"
- fi
- }
- else
- # Install the binary that we compiled earlier.
- file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- func_stripname '' '.exe' "$destfile"
- destfile=$func_stripname_result
- ;;
- esac
- ;;
- esac
- func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
- $opt_dry_run || if test -n "$outputname"; then
- ${RM}r "$tmpdir"
- fi
- ;;
- esac
- done
-
- for file in $staticlibs; do
- func_basename "$file"
- name="$func_basename_result"
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
-
- func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- func_show_eval "$old_striplib $oldlib" 'exit $?'
- fi
-
- # Do each command in the postinstall commands.
- func_execute_cmds "$old_postinstall_cmds" 'exit $?'
- done
-
- test -n "$future_libdirs" && \
- func_warning "remember to run \`$progname --finish$future_libdirs'"
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- $opt_dry_run && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
-}
-
-test "$mode" = install && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
- $opt_debug
- my_outputname="$1"
- my_originator="$2"
- my_pic_p="${3-no}"
- my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
- my_dlsyms=
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- my_dlsyms="${my_outputname}S.c"
- else
- func_error "not configured to extract global symbols from dlpreopened files"
- fi
- fi
-
- if test -n "$my_dlsyms"; then
- case $my_dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${my_outputname}.nm"
-
- func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
- # Parse the name list into a source file.
- func_verbose "creating $output_objdir/$my_dlsyms"
-
- $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- func_verbose "generating symbol list for \`$output'"
-
- $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for progfile in $progfiles; do
- func_verbose "extracting global C symbols from \`$progfile'"
- $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -n "$exclude_expsyms"; then
- $opt_dry_run || {
- eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- }
- fi
-
- if test -n "$export_symbols_regex"; then
- $opt_dry_run || {
- eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- }
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $opt_dry_run || {
- $RM $export_symbols
- eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- }
- else
- $opt_dry_run || {
- eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- case $host in
- *cygwin | *mingw* | *cegcc* )
- eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- }
- fi
- fi
-
- for dlprefile in $dlprefiles; do
- func_verbose "extracting global C symbols from \`$dlprefile'"
- func_basename "$dlprefile"
- name="$func_basename_result"
- $opt_dry_run || {
- eval '$ECHO ": $name " >> "$nlist"'
- eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
- }
- done
-
- $opt_dry_run || {
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $MV "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if $GREP -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- $GREP -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
- else
- $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
- fi
-
- $ECHO >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols. */
-typedef struct {
- const char *name;
- void *address;
-} lt_dlsymlist;
-"
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- $ECHO >> "$output_objdir/$my_dlsyms" "\
-/* DATA imports from DLLs on WIN32 con't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs. */"
- lt_dlsym_const= ;;
- *osf5*)
- echo >> "$output_objdir/$my_dlsyms" "\
-/* This system does not cope well with relocations in const data */"
- lt_dlsym_const= ;;
- *)
- lt_dlsym_const=const ;;
- esac
-
- $ECHO >> "$output_objdir/$my_dlsyms" "\
-extern $lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
-$lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
- { \"$my_originator\", (void *) 0 },"
-
- case $need_lib_prefix in
- no)
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
- ;;
- *)
- eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
- ;;
- esac
- $ECHO >> "$output_objdir/$my_dlsyms" "\
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- } # !$opt_dry_run
-
- pic_flag_for_symtable=
- case "$compile_command " in
- *" -static "*) ;;
- *)
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
- *-*-hpux*)
- pic_flag_for_symtable=" $pic_flag" ;;
- *)
- if test "X$my_pic_p" != Xno; then
- pic_flag_for_symtable=" $pic_flag"
- fi
- ;;
- esac
- ;;
- esac
- symtab_cflags=
- for arg in $LTCFLAGS; do
- case $arg in
- -pie | -fpie | -fPIE) ;;
- *) symtab_cflags="$symtab_cflags $arg" ;;
- esac
- done
-
- # Now compile the dynamic symbol file.
- func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
- # Clean up the generated files.
- func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
-
- # Transform the symbol file into the correct name.
- symfileobj="$output_objdir/${my_outputname}S.$objext"
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- if test -f "$output_objdir/$my_outputname.def"; then
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- else
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- fi
- ;;
- *)
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- ;;
- esac
- ;;
- *)
- func_fatal_error "unknown suffix for \`$my_dlsyms'"
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
- fi
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
- $opt_debug
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
- $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 |
- $SED -n -e '
- 1,100{
- / I /{
- s,.*,import,
- p
- q
- }
- }'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
- esac
- ;;
- esac
- $ECHO "$win32_libid_type"
-}
-
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
- $opt_debug
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
- func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
- fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
- $opt_debug
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
-
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- func_basename "$my_xlib"
- my_xlib="$func_basename_result"
- my_xlib_u=$my_xlib
- while :; do
- case " $extracted_archives " in
- *" $my_xlib_u "*)
- func_arith $extracted_serial + 1
- extracted_serial=$func_arith_result
- my_xlib_u=lt$extracted_serial-$my_xlib ;;
- *) break ;;
- esac
- done
- extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
-
- func_mkdir_p "$my_xdir"
-
- case $host in
- *-darwin*)
- func_verbose "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- $opt_dry_run || {
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`basename "$darwin_archive"`
- darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
- if test -n "$darwin_arches"; then
- darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we've a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- $LIPO -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- $RM -rf unfat-$$
- cd "$darwin_orig_dir"
- else
- cd $darwin_orig_dir
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- } # !$opt_dry_run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
-
- func_extract_archives_result="$my_oldobjs"
-}
-
-
-
-# func_emit_wrapper_part1 [arg=no]
-#
-# Emit the first part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part1 ()
-{
- func_emit_wrapper_part1_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_part1_arg1=$1
- fi
-
- $ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variables:
- generated_by_libtool_version='$macro_version'
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$ECHO are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- ECHO=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$ECHO works!
- :
- else
- # Restart under the correct shell, and then maybe \$ECHO will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $ECHO "\
-
- # Find the directory that this script lives in.
- thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
-"
-}
-# end: func_emit_wrapper_part1
-
-# func_emit_wrapper_part2 [arg=no]
-#
-# Emit the second part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part2 ()
-{
- func_emit_wrapper_part2_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_part2_arg1=$1
- fi
-
- $ECHO "\
-
- # Usually 'no', except on cygwin/mingw when embedded into
- # the cwrapper.
- WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
- if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
- # special case for '.'
- if test \"\$thisdir\" = \".\"; then
- thisdir=\`pwd\`
- fi
- # remove .libs from thisdir
- case \"\$thisdir\" in
- *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
- $objdir ) thisdir=. ;;
- esac
- fi
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $ECHO "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" ||
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $MKDIR \"\$progdir\"
- else
- $RM \"\$progdir/\$file\"
- fi"
-
- $ECHO "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $ECHO \"\$relink_command_output\" >&2
- $RM \"\$progdir/\$file\"
- exit 1
- fi
- fi
-
- $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $RM \"\$progdir/\$program\";
- $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $RM \"\$progdir/\$file\"
- fi"
- else
- $ECHO "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $ECHO "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $ECHO "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $ECHO "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
-
- $ECHO "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2* | *-cegcc*)
- $ECHO "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $ECHO "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $ECHO "\
- \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
- exit 1
- fi
- else
- # The program doesn't exist.
- \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
- $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
- exit 1
- fi
-fi\
-"
-}
-# end: func_emit_wrapper_part2
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable. Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take. If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory. This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
- func_emit_wrapper_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_arg1=$1
- fi
-
- # split this up so that func_emit_cwrapperexe_src
- # can call each part independently.
- func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
- func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
-}
-
-
-# func_to_host_path arg
-#
-# Convert paths to host format when used with build tools.
-# Intended for use with "native" mingw (where libtool itself
-# is running under the msys shell), or in the following cross-
-# build environments:
-# $build $host
-# mingw (msys) mingw [e.g. native]
-# cygwin mingw
-# *nix + wine mingw
-# where wine is equipped with the `winepath' executable.
-# In the native mingw case, the (msys) shell automatically
-# converts paths for any non-msys applications it launches,
-# but that facility isn't available from inside the cwrapper.
-# Similar accommodations are necessary for $host mingw and
-# $build cygwin. Calling this function does no harm for other
-# $host/$build combinations not listed above.
-#
-# ARG is the path (on $build) that should be converted to
-# the proper representation for $host. The result is stored
-# in $func_to_host_path_result.
-func_to_host_path ()
-{
- func_to_host_path_result="$1"
- if test -n "$1" ; then
- case $host in
- *mingw* )
- lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
- case $build in
- *mingw* ) # actually, msys
- # awkward: cmd appends spaces to result
- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
- func_to_host_path_tmp1=`( cmd //c echo "$1" |\
- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
- $SED -e "$lt_sed_naive_backslashify"`
- ;;
- *cygwin* )
- func_to_host_path_tmp1=`cygpath -w "$1"`
- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
- $SED -e "$lt_sed_naive_backslashify"`
- ;;
- * )
- # Unfortunately, winepath does not exit with a non-zero
- # error code, so we are forced to check the contents of
- # stdout. On the other hand, if the command is not
- # found, the shell will set an exit code of 127 and print
- # *an error message* to stdout. So we must check for both
- # error code of zero AND non-empty stdout, which explains
- # the odd construction:
- func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
- if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
- $SED -e "$lt_sed_naive_backslashify"`
- else
- # Allow warning below.
- func_to_host_path_result=""
- fi
- ;;
- esac
- if test -z "$func_to_host_path_result" ; then
- func_error "Could not determine host path corresponding to"
- func_error " '$1'"
- func_error "Continuing, but uninstalled executables may not work."
- # Fallback:
- func_to_host_path_result="$1"
- fi
- ;;
- esac
- fi
-}
-# end: func_to_host_path
-
-# func_to_host_pathlist arg
-#
-# Convert pathlists to host format when used with build tools.
-# See func_to_host_path(), above. This function supports the
-# following $build/$host combinations (but does no harm for
-# combinations not listed here):
-# $build $host
-# mingw (msys) mingw [e.g. native]
-# cygwin mingw
-# *nix + wine mingw
-#
-# Path separators are also converted from $build format to
-# $host format. If ARG begins or ends with a path separator
-# character, it is preserved (but converted to $host format)
-# on output.
-#
-# ARG is a pathlist (on $build) that should be converted to
-# the proper representation on $host. The result is stored
-# in $func_to_host_pathlist_result.
-func_to_host_pathlist ()
-{
- func_to_host_pathlist_result="$1"
- if test -n "$1" ; then
- case $host in
- *mingw* )
- lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
- # Remove leading and trailing path separator characters from
- # ARG. msys behavior is inconsistent here, cygpath turns them
- # into '.;' and ';.', and winepath ignores them completely.
- func_to_host_pathlist_tmp2="$1"
- # Once set for this call, this variable should not be
- # reassigned. It is used in tha fallback case.
- func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
- $SED -e 's|^:*||' -e 's|:*$||'`
- case $build in
- *mingw* ) # Actually, msys.
- # Awkward: cmd appends spaces to result.
- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
- func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
- $SED -e "$lt_sed_naive_backslashify"`
- ;;
- *cygwin* )
- func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
- $SED -e "$lt_sed_naive_backslashify"`
- ;;
- * )
- # unfortunately, winepath doesn't convert pathlists
- func_to_host_pathlist_result=""
- func_to_host_pathlist_oldIFS=$IFS
- IFS=:
- for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
- IFS=$func_to_host_pathlist_oldIFS
- if test -n "$func_to_host_pathlist_f" ; then
- func_to_host_path "$func_to_host_pathlist_f"
- if test -n "$func_to_host_path_result" ; then
- if test -z "$func_to_host_pathlist_result" ; then
- func_to_host_pathlist_result="$func_to_host_path_result"
- else
- func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
- fi
- fi
- fi
- IFS=:
- done
- IFS=$func_to_host_pathlist_oldIFS
- ;;
- esac
- if test -z "$func_to_host_pathlist_result" ; then
- func_error "Could not determine the host path(s) corresponding to"
- func_error " '$1'"
- func_error "Continuing, but uninstalled executables may not work."
- # Fallback. This may break if $1 contains DOS-style drive
- # specifications. The fix is not to complicate the expression
- # below, but for the user to provide a working wine installation
- # with winepath so that path translation in the cross-to-mingw
- # case works properly.
- lt_replace_pathsep_nix_to_dos="s|:|;|g"
- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
- $SED -e "$lt_replace_pathsep_nix_to_dos"`
- fi
- # Now, add the leading and trailing path separators back
- case "$1" in
- :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
- ;;
- esac
- case "$1" in
- *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
- ;;
- esac
- ;;
- esac
- fi
-}
-# end: func_to_host_pathlist
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
- cat <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "$SHELL $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
-*/
-EOF
- cat <<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef _MSC_VER
-# include <direct.h>
-# include <process.h>
-# include <io.h>
-# define setmode _setmode
-#else
-# include <unistd.h>
-# include <stdint.h>
-# ifdef __CYGWIN__
-# include <io.h>
-# define HAVE_SETENV
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
-# endif
-#endif
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-#ifdef _MSC_VER
-# define S_IXUSR _S_IEXEC
-# define stat _stat
-# ifndef _INTPTR_T_DEFINED
-# define intptr_t int
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifdef __CYGWIN__
-# define FOPEN_WB "wb"
-#endif
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-#undef LTWRAPPER_DEBUGPRINTF
-#if defined DEBUGWRAPPER
-# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
-static void
-ltwrapper_debugprintf (const char *fmt, ...)
-{
- va_list args;
- va_start (args, fmt);
- (void) vfprintf (stderr, fmt, args);
- va_end (args);
-}
-#else
-# define LTWRAPPER_DEBUGPRINTF(args)
-#endif
-
-const char *program_name = NULL;
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_opt_process_env_set (const char *arg);
-void lt_opt_process_env_prepend (const char *arg);
-void lt_opt_process_env_append (const char *arg);
-int lt_split_name_value (const char *arg, char** name, char** value);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-
-static const char *script_text_part1 =
-EOF
-
- func_emit_wrapper_part1 yes |
- $SED -e 's/\([\\"]\)/\\\1/g' \
- -e 's/^/ "/' -e 's/$/\\n"/'
- echo ";"
- cat <<EOF
-
-static const char *script_text_part2 =
-EOF
- func_emit_wrapper_part2 yes |
- $SED -e 's/\([\\"]\)/\\\1/g' \
- -e 's/^/ "/' -e 's/$/\\n"/'
- echo ";"
-
- cat <<EOF
-const char * MAGIC_EXE = "$magic_exe";
-const char * LIB_PATH_VARNAME = "$shlibpath_var";
-EOF
-
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- func_to_host_pathlist "$temp_rpath"
- cat <<EOF
-const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
-EOF
- else
- cat <<"EOF"
-const char * LIB_PATH_VALUE = "";
-EOF
- fi
-
- if test -n "$dllsearchpath"; then
- func_to_host_pathlist "$dllsearchpath:"
- cat <<EOF
-const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
-EOF
- else
- cat <<"EOF"
-const char * EXE_PATH_VARNAME = "";
-const char * EXE_PATH_VALUE = "";
-EOF
- fi
-
- if test "$fast_install" = yes; then
- cat <<EOF
-const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-EOF
- else
- cat <<EOF
-const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-EOF
- fi
-
-
- cat <<"EOF"
-
-#define LTWRAPPER_OPTION_PREFIX "--lt-"
-#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
-
-static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
-static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-
-static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
-
-static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
-static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
- /* argument is putenv-style "foo=bar", value of foo is set to bar */
-
-static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
-static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
- /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
-
-static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
-static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
- /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
-
-int
-main (int argc, char *argv[])
-{
- char **newargz;
- int newargc;
- char *tmp_pathspec;
- char *actual_cwrapper_path;
- char *actual_cwrapper_name;
- char *target_name;
- char *lt_argv_zero;
- intptr_t rval = 127;
-
- int i;
-
- program_name = (char *) xstrdup (base_name (argv[0]));
- LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
- LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
-
- /* very simple arg parsing; don't want to rely on getopt */
- for (i = 1; i < argc; i++)
- {
- if (strcmp (argv[i], dumpscript_opt) == 0)
- {
-EOF
- case "$host" in
- *mingw* | *cygwin* )
- # make stdout use "unix" line endings
- echo " setmode(1,_O_BINARY);"
- ;;
- esac
-
- cat <<"EOF"
- printf ("%s", script_text_part1);
- printf ("%s", script_text_part2);
- return 0;
- }
- }
-
- newargz = XMALLOC (char *, argc + 1);
- tmp_pathspec = find_executable (argv[0]);
- if (tmp_pathspec == NULL)
- lt_fatal ("Couldn't find %s", argv[0]);
- LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
- tmp_pathspec));
-
- actual_cwrapper_path = chase_symlinks (tmp_pathspec);
- LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
- actual_cwrapper_path));
- XFREE (tmp_pathspec);
-
- actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
- strendzap (actual_cwrapper_path, actual_cwrapper_name);
-
- /* wrapper name transforms */
- strendzap (actual_cwrapper_name, ".exe");
- tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
- XFREE (actual_cwrapper_name);
- actual_cwrapper_name = tmp_pathspec;
- tmp_pathspec = 0;
-
- /* target_name transforms -- use actual target program name; might have lt- prefix */
- target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
- strendzap (target_name, ".exe");
- tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
- XFREE (target_name);
- target_name = tmp_pathspec;
- tmp_pathspec = 0;
-
- LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
- target_name));
-EOF
-
- cat <<EOF
- newargz[0] =
- XMALLOC (char, (strlen (actual_cwrapper_path) +
- strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
- strcpy (newargz[0], actual_cwrapper_path);
- strcat (newargz[0], "$objdir");
- strcat (newargz[0], "/");
-EOF
-
- cat <<"EOF"
- /* stop here, and copy so we don't have to do this twice */
- tmp_pathspec = xstrdup (newargz[0]);
-
- /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
- strcat (newargz[0], actual_cwrapper_name);
-
- /* DO want the lt- prefix here if it exists, so use target_name */
- lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
- XFREE (tmp_pathspec);
- tmp_pathspec = NULL;
-EOF
-
- case $host_os in
- mingw*)
- cat <<"EOF"
- {
- char* p;
- while ((p = strchr (newargz[0], '\\')) != NULL)
- {
- *p = '/';
- }
- while ((p = strchr (lt_argv_zero, '\\')) != NULL)
- {
- *p = '/';
- }
- }
-EOF
- ;;
- esac
-
- cat <<"EOF"
- XFREE (target_name);
- XFREE (actual_cwrapper_path);
- XFREE (actual_cwrapper_name);
-
- lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
- lt_setenv ("DUALCASE", "1"); /* for MSK sh */
- lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
- lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
-
- newargc=0;
- for (i = 1; i < argc; i++)
- {
- if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
- {
- if (argv[i][env_set_opt_len] == '=')
- {
- const char *p = argv[i] + env_set_opt_len + 1;
- lt_opt_process_env_set (p);
- }
- else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
- {
- lt_opt_process_env_set (argv[++i]); /* don't copy */
- }
- else
- lt_fatal ("%s missing required argument", env_set_opt);
- continue;
- }
- if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
- {
- if (argv[i][env_prepend_opt_len] == '=')
- {
- const char *p = argv[i] + env_prepend_opt_len + 1;
- lt_opt_process_env_prepend (p);
- }
- else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
- {
- lt_opt_process_env_prepend (argv[++i]); /* don't copy */
- }
- else
- lt_fatal ("%s missing required argument", env_prepend_opt);
- continue;
- }
- if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
- {
- if (argv[i][env_append_opt_len] == '=')
- {
- const char *p = argv[i] + env_append_opt_len + 1;
- lt_opt_process_env_append (p);
- }
- else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
- {
- lt_opt_process_env_append (argv[++i]); /* don't copy */
- }
- else
- lt_fatal ("%s missing required argument", env_append_opt);
- continue;
- }
- if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
- {
- /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
- namespace, but it is not one of the ones we know about and
- have already dealt with, above (inluding dump-script), then
- report an error. Otherwise, targets might begin to believe
- they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
- namespace. The first time any user complains about this, we'll
- need to make LTWRAPPER_OPTION_PREFIX a configure-time option
- or a configure.ac-settable value.
- */
- lt_fatal ("Unrecognized option in %s namespace: '%s'",
- ltwrapper_option_prefix, argv[i]);
- }
- /* otherwise ... */
- newargz[++newargc] = xstrdup (argv[i]);
- }
- newargz[++newargc] = NULL;
-
- LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
- for (i = 0; i < newargc; i++)
- {
- LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
- }
-
-EOF
-
- case $host_os in
- mingw*)
- cat <<"EOF"
- /* execv doesn't actually work on mingw as expected on unix */
- rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
- if (rval == -1)
- {
- /* failed to start process */
- LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
- return 127;
- }
- return rval;
-EOF
- ;;
- *)
- cat <<"EOF"
- execv (lt_argv_zero, newargz);
- return rval; /* =127, but avoids unused variable warning */
-EOF
- ;;
- esac
-
- cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
- void *p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
- string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char) name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
-}
-
-int
-check_executable (const char *path)
-{
- struct stat st;
-
- LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
- path ? (*path ? path : "EMPTY!") : "NULL!"));
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0)
- && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
- return 1;
- else
- return 0;
-}
-
-int
-make_executable (const char *path)
-{
- int rval = 0;
- struct stat st;
-
- LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
- path ? (*path ? path : "EMPTY!") : "NULL!"));
- if ((!path) || (!*path))
- return 0;
-
- if (stat (path, &st) >= 0)
- {
- rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
- }
- return rval;
-}
-
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise
- Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
- int has_slash = 0;
- const char *p;
- const char *p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char *concat_name;
-
- LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
- wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
-
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
-
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
-
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char *path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char *q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR (*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen (tmp);
- concat_name =
- XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name =
- XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen (tmp);
- concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
-
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
- return xstrdup (pathspec);
-#else
- char buf[LT_PATHMAX];
- struct stat s;
- char *tmp_pathspec = xstrdup (pathspec);
- char *p;
- int has_symlinks = 0;
- while (strlen (tmp_pathspec) && !has_symlinks)
- {
- LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
- tmp_pathspec));
- if (lstat (tmp_pathspec, &s) == 0)
- {
- if (S_ISLNK (s.st_mode) != 0)
- {
- has_symlinks = 1;
- break;
- }
-
- /* search backwards for last DIR_SEPARATOR */
- p = tmp_pathspec + strlen (tmp_pathspec) - 1;
- while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
- p--;
- if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
- {
- /* no more DIR_SEPARATORS left */
- break;
- }
- *p = '\0';
- }
- else
- {
- char *errstr = strerror (errno);
- lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
- }
- }
- XFREE (tmp_pathspec);
-
- if (!has_symlinks)
- {
- return xstrdup (pathspec);
- }
-
- tmp_pathspec = realpath (pathspec, buf);
- if (tmp_pathspec == 0)
- {
- lt_fatal ("Could not follow symlinks for %s", pathspec);
- }
- return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert (str != NULL);
- assert (pat != NULL);
-
- len = strlen (str);
- patlen = strlen (pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp (str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-static void
-lt_error_core (int exit_status, const char *mode,
- const char *message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
- LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
- (name ? name : "<NULL>"),
- (value ? value : "<NULL>")));
- {
-#ifdef HAVE_SETENV
- /* always make a copy, for consistency with !HAVE_SETENV */
- char *str = xstrdup (value);
- setenv (name, str, 1);
-#else
- int len = strlen (name) + 1 + strlen (value) + 1;
- char *str = XMALLOC (char, len);
- sprintf (str, "%s=%s", name, value);
- if (putenv (str) != EXIT_SUCCESS)
- {
- XFREE (str);
- }
-#endif
- }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
- char *new_value;
- if (orig_value && *orig_value)
- {
- int orig_value_len = strlen (orig_value);
- int add_len = strlen (add);
- new_value = XMALLOC (char, add_len + orig_value_len + 1);
- if (to_end)
- {
- strcpy (new_value, orig_value);
- strcpy (new_value + orig_value_len, add);
- }
- else
- {
- strcpy (new_value, add);
- strcpy (new_value + add_len, orig_value);
- }
- }
- else
- {
- new_value = xstrdup (add);
- }
- return new_value;
-}
-
-int
-lt_split_name_value (const char *arg, char** name, char** value)
-{
- const char *p;
- int len;
- if (!arg || !*arg)
- return 1;
-
- p = strchr (arg, (int)'=');
-
- if (!p)
- return 1;
-
- *value = xstrdup (++p);
-
- len = strlen (arg) - strlen (*value);
- *name = XMALLOC (char, len);
- strncpy (*name, arg, len-1);
- (*name)[len - 1] = '\0';
-
- return 0;
-}
-
-void
-lt_opt_process_env_set (const char *arg)
-{
- char *name = NULL;
- char *value = NULL;
-
- if (lt_split_name_value (arg, &name, &value) != 0)
- {
- XFREE (name);
- XFREE (value);
- lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
- }
-
- lt_setenv (name, value);
- XFREE (name);
- XFREE (value);
-}
-
-void
-lt_opt_process_env_prepend (const char *arg)
-{
- char *name = NULL;
- char *value = NULL;
- char *new_value = NULL;
-
- if (lt_split_name_value (arg, &name, &value) != 0)
- {
- XFREE (name);
- XFREE (value);
- lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
- }
-
- new_value = lt_extend_str (getenv (name), value, 0);
- lt_setenv (name, new_value);
- XFREE (new_value);
- XFREE (name);
- XFREE (value);
-}
-
-void
-lt_opt_process_env_append (const char *arg)
-{
- char *name = NULL;
- char *value = NULL;
- char *new_value = NULL;
-
- if (lt_split_name_value (arg, &name, &value) != 0)
- {
- XFREE (name);
- XFREE (value);
- lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
- }
-
- new_value = lt_extend_str (getenv (name), value, 1);
- lt_setenv (name, new_value);
- XFREE (new_value);
- XFREE (name);
- XFREE (value);
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
- LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
- (name ? name : "<NULL>"),
- (value ? value : "<NULL>")));
-
- if (name && *name && value && *value)
- {
- char *new_value = lt_extend_str (getenv (name), value, 0);
- /* some systems can't cope with a ':'-terminated path #' */
- int len = strlen (new_value);
- while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
- {
- new_value[len-1] = '\0';
- }
- lt_setenv (name, new_value);
- XFREE (new_value);
- }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
- LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
- (name ? name : "<NULL>"),
- (value ? value : "<NULL>")));
-
- if (name && *name && value && *value)
- {
- char *new_value = lt_extend_str (getenv (name), value, 0);
- lt_setenv (name, new_value);
- XFREE (new_value);
- }
-}
-
-
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_mode_link arg...
-func_mode_link ()
-{
- $opt_debug
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- # It is impossible to link a dll without this setting, and
- # we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
- # flag for every libtool invocation.
- # allow_undefined=no
-
- # FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
- # even a static library is built. For now, we need to specify
- # -no-undefined on the libtool link line when we can be certain
- # that all symbols are satisfied, otherwise we get a static library.
- allow_undefined=yes
- ;;
- *)
- allow_undefined=yes
- ;;
- esac
- libtool_args=$nonopt
- base_compile="$nonopt $@"
- compile_command=$nonopt
- finalize_command=$nonopt
-
- compile_rpath=
- finalize_rpath=
- compile_shlibpath=
- finalize_shlibpath=
- convenience=
- old_convenience=
- deplibs=
- old_deplibs=
- compiler_flags=
- linker_flags=
- dllsearchpath=
- lib_search_path=`pwd`
- inst_prefix_dir=
- new_inherited_linker_flags=
-
- avoid_version=no
- dlfiles=
- dlprefiles=
- dlself=no
- export_dynamic=no
- export_symbols=
- export_symbols_regex=
- generated=
- libobjs=
- ltlibs=
- module=no
- no_install=no
- objs=
- non_pic_objects=
- precious_files_regex=
- prefer_static_libs=no
- preload=no
- prev=
- prevarg=
- release=
- rpath=
- xrpath=
- perm_rpath=
- temp_rpath=
- thread_safe=no
- vinfo=
- vinfo_number=no
- weak_libs=
- single_module="${wl}-single_module"
- func_infer_tag $base_compile
-
- # We need to know -static, to get the right output filenames.
- for arg
- do
- case $arg in
- -shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
- build_old_libs=no
- break
- ;;
- -all-static | -static | -static-libtool-libs)
- case $arg in
- -all-static)
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- func_warning "complete static linking is impossible in this configuration"
- fi
- if test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- -static)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=built
- ;;
- -static-libtool-libs)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- esac
- build_libtool_libs=no
- build_old_libs=yes
- break
- ;;
- esac
- done
-
- # See if our shared archives depend on static archives.
- test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
- # Go through the arguments, transforming them on the way.
- while test "$#" -gt 0; do
- arg="$1"
- shift
- func_quote_for_eval "$arg"
- qarg=$func_quote_for_eval_unquoted_result
- func_append libtool_args " $func_quote_for_eval_result"
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- output)
- func_append compile_command " @OUTPUT@"
- func_append finalize_command " @OUTPUT@"
- ;;
- esac
-
- case $prev in
- dlfiles|dlprefiles)
- if test "$preload" = no; then
- # Add the symbol object into the linking commands.
- func_append compile_command " @SYMFILE@"
- func_append finalize_command " @SYMFILE@"
- preload=yes
- fi
- case $arg in
- *.la | *.lo) ;; # We handle these cases below.
- force)
- if test "$dlself" = no; then
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- self)
- if test "$prev" = dlprefiles; then
- dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
- dlself=yes
- else
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- *)
- if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
- else
- dlprefiles="$dlprefiles $arg"
- fi
- prev=
- continue
- ;;
- esac
- ;;
- expsyms)
- export_symbols="$arg"
- test -f "$arg" \
- || func_fatal_error "symbol file \`$arg' does not exist"
- prev=
- continue
- ;;
- expsyms_regex)
- export_symbols_regex="$arg"
- prev=
- continue
- ;;
- framework)
- case $host in
- *-*-darwin*)
- case "$deplibs " in
- *" $qarg.ltframework "*) ;;
- *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
- ;;
- esac
- ;;
- esac
- prev=
- continue
- ;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- objectlist)
- if test -f "$arg"; then
- save_arg=$arg
- moreargs=
- for fil in `cat "$save_arg"`
- do
-# moreargs="$moreargs $fil"
- arg=$fil
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if func_lalib_unsafe_p "$arg"; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- func_source "$arg"
-
- if test -z "$pic_object" ||
- test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
- fi
-
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- func_append libobjs " $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- func_append non_pic_objects " $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if $opt_dry_run; then
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- func_lo2o "$arg"
- pic_object=$xdir$objdir/$func_lo2o_result
- non_pic_object=$xdir$func_lo2o_result
- func_append libobjs " $pic_object"
- func_append non_pic_objects " $non_pic_object"
- else
- func_fatal_error "\`$arg' is not a valid libtool object"
- fi
- fi
- done
- else
- func_fatal_error "link input file \`$arg' does not exist"
- fi
- arg=$save_arg
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
- prev=
- continue
- ;;
- release)
- release="-$arg"
- prev=
- continue
- ;;
- rpath | xrpath)
- # We need an absolute path.
- case $arg in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- func_fatal_error "only absolute run-paths are allowed"
- ;;
- esac
- if test "$prev" = rpath; then
- case "$rpath " in
- *" $arg "*) ;;
- *) rpath="$rpath $arg" ;;
- esac
- else
- case "$xrpath " in
- *" $arg "*) ;;
- *) xrpath="$xrpath $arg" ;;
- esac
- fi
- prev=
- continue
- ;;
- shrext)
- shrext_cmds="$arg"
- prev=
- continue
- ;;
- weak)
- weak_libs="$weak_libs $arg"
- prev=
- continue
- ;;
- xcclinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $qarg"
- prev=
- func_append compile_command " $qarg"
- func_append finalize_command " $qarg"
- continue
- ;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
- prev=
- func_append compile_command " $qarg"
- func_append finalize_command " $qarg"
- continue
- ;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
- prev=
- func_append compile_command " $wl$qarg"
- func_append finalize_command " $wl$qarg"
- continue
- ;;
- *)
- eval "$prev=\"\$arg\""
- prev=
- continue
- ;;
- esac
- fi # test -n "$prev"
-
- prevarg="$arg"
-
- case $arg in
- -all-static)
- if test -n "$link_static_flag"; then
- # See comment for -static flag below, for more details.
- func_append compile_command " $link_static_flag"
- func_append finalize_command " $link_static_flag"
- fi
- continue
- ;;
-
- -allow-undefined)
- # FIXME: remove this flag sometime in the future.
- func_fatal_error "\`-allow-undefined' must not be used because it is the default"
- ;;
-
- -avoid-version)
- avoid_version=yes
- continue
- ;;
-
- -dlopen)
- prev=dlfiles
- continue
- ;;
-
- -dlpreopen)
- prev=dlprefiles
- continue
- ;;
-
- -export-dynamic)
- export_dynamic=yes
- continue
- ;;
-
- -export-symbols | -export-symbols-regex)
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- func_fatal_error "more than one -exported-symbols argument is not allowed"
- fi
- if test "X$arg" = "X-export-symbols"; then
- prev=expsyms
- else
- prev=expsyms_regex
- fi
- continue
- ;;
-
- -framework)
- prev=framework
- continue
- ;;
-
- -inst-prefix-dir)
- prev=inst_prefix
- continue
- ;;
-
- # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
- # so, if we see these flags be careful not to treat them like -L
- -L[A-Z][A-Z]*:*)
- case $with_gcc/$host in
- no/*-*-irix* | /*-*-irix*)
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- ;;
- esac
- continue
- ;;
-
- -L*)
- func_stripname '-L' '' "$arg"
- dir=$func_stripname_result
- if test -z "$dir"; then
- if test "$#" -gt 0; then
- func_fatal_error "require no space between \`-L' and \`$1'"
- else
- func_fatal_error "need path for \`-L' option"
- fi
- fi
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- test -z "$absdir" && \
- func_fatal_error "cannot determine absolute directory name of \`$dir'"
- dir="$absdir"
- ;;
- esac
- case "$deplibs " in
- *" -L$dir "*) ;;
- *)
- deplibs="$deplibs -L$dir"
- lib_search_path="$lib_search_path $dir"
- ;;
- esac
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$dir:"*) ;;
- ::) dllsearchpath=$dir;;
- *) dllsearchpath="$dllsearchpath:$dir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- ::) dllsearchpath=$testbindir;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- continue
- ;;
-
- -l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
- # These systems don't actually have a C or math library (as such)
- continue
- ;;
- *-*-os2*)
- # These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs System.ltframework"
- continue
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
- ;;
- esac
- elif test "X$arg" = "X-lc_r"; then
- case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc_r directly, use -pthread flag.
- continue
- ;;
- esac
- fi
- deplibs="$deplibs $arg"
- continue
- ;;
-
- -module)
- module=yes
- continue
- ;;
-
- # Tru64 UNIX uses -model [arg] to determine the layout of C++
- # classes, name mangling, and exception handling.
- # Darwin uses the -arch flag to determine output architecture.
- -model|-arch|-isysroot)
- compiler_flags="$compiler_flags $arg"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- prev=xcompiler
- continue
- ;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- compiler_flags="$compiler_flags $arg"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- case "$new_inherited_linker_flags " in
- *" $arg "*) ;;
- * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
- esac
- continue
- ;;
-
- -multi_module)
- single_module="${wl}-multi_module"
- continue
- ;;
-
- -no-fast-install)
- fast_install=no
- continue
- ;;
-
- -no-install)
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
- # The PATH hackery in wrapper scripts is required on Windows
- # and Darwin in order for the loader to find any dlls it needs.
- func_warning "\`-no-install' is ignored for $host"
- func_warning "assuming \`-no-fast-install' instead"
- fast_install=no
- ;;
- *) no_install=yes ;;
- esac
- continue
- ;;
-
- -no-undefined)
- allow_undefined=no
- continue
- ;;
-
- -objectlist)
- prev=objectlist
- continue
- ;;
-
- -o) prev=output ;;
-
- -precious-files-regex)
- prev=precious_regex
- continue
- ;;
-
- -release)
- prev=release
- continue
- ;;
-
- -rpath)
- prev=rpath
- continue
- ;;
-
- -R)
- prev=xrpath
- continue
- ;;
-
- -R*)
- func_stripname '-R' '' "$arg"
- dir=$func_stripname_result
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- func_fatal_error "only absolute run-paths are allowed"
- ;;
- esac
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- continue
- ;;
-
- -shared)
- # The effects of -shared are defined in a previous loop.
- continue
- ;;
-
- -shrext)
- prev=shrext
- continue
- ;;
-
- -static | -static-libtool-libs)
- # The effects of -static are defined in a previous loop.
- # We used to do the same as -all-static on platforms that
- # didn't have a PIC flag, but the assumption that the effects
- # would be equivalent was wrong. It would break on at least
- # Digital Unix and AIX.
- continue
- ;;
-
- -thread-safe)
- thread_safe=yes
- continue
- ;;
-
- -version-info)
- prev=vinfo
- continue
- ;;
-
- -version-number)
- prev=vinfo
- vinfo_number=yes
- continue
- ;;
-
- -weak)
- prev=weak
- continue
- ;;
-
- -Wc,*)
- func_stripname '-Wc,' '' "$arg"
- args=$func_stripname_result
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- func_quote_for_eval "$flag"
- arg="$arg $wl$func_quote_for_eval_result"
- compiler_flags="$compiler_flags $func_quote_for_eval_result"
- done
- IFS="$save_ifs"
- func_stripname ' ' '' "$arg"
- arg=$func_stripname_result
- ;;
-
- -Wl,*)
- func_stripname '-Wl,' '' "$arg"
- args=$func_stripname_result
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- func_quote_for_eval "$flag"
- arg="$arg $wl$func_quote_for_eval_result"
- compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
- linker_flags="$linker_flags $func_quote_for_eval_result"
- done
- IFS="$save_ifs"
- func_stripname ' ' '' "$arg"
- arg=$func_stripname_result
- ;;
-
- -Xcompiler)
- prev=xcompiler
- continue
- ;;
-
- -Xlinker)
- prev=xlinker
- continue
- ;;
-
- -XCClinker)
- prev=xcclinker
- continue
- ;;
-
- # -msg_* for osf cc
- -msg_*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- ;;
-
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
-
- # Some other compiler flag.
- -* | +*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- ;;
-
- *.$objext)
- # A standard object.
- objs="$objs $arg"
- ;;
-
- *.lo)
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if func_lalib_unsafe_p "$arg"; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- func_source "$arg"
-
- if test -z "$pic_object" ||
- test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
- fi
-
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- func_append libobjs " $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- func_append non_pic_objects " $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if $opt_dry_run; then
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- func_lo2o "$arg"
- pic_object=$xdir$objdir/$func_lo2o_result
- non_pic_object=$xdir$func_lo2o_result
- func_append libobjs " $pic_object"
- func_append non_pic_objects " $non_pic_object"
- else
- func_fatal_error "\`$arg' is not a valid libtool object"
- fi
- fi
- ;;
-
- *.$libext)
- # An archive.
- deplibs="$deplibs $arg"
- old_deplibs="$old_deplibs $arg"
- continue
- ;;
-
- *.la)
- # A libtool-controlled library.
-
- if test "$prev" = dlfiles; then
- # This library was specified with -dlopen.
- dlfiles="$dlfiles $arg"
- prev=
- elif test "$prev" = dlprefiles; then
- # The library was specified with -dlpreopen.
- dlprefiles="$dlprefiles $arg"
- prev=
- else
- deplibs="$deplibs $arg"
- fi
- continue
- ;;
-
- # Some other compiler argument.
- *)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- ;;
- esac # arg
-
- # Now actually substitute the argument into the commands.
- if test -n "$arg"; then
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- fi
- done # argument parsing loop
-
- test -n "$prev" && \
- func_fatal_help "the \`$prevarg' option requires an argument"
-
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
- eval arg=\"$export_dynamic_flag_spec\"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- fi
-
- oldlibs=
- # calculate the name of the file, without its directory
- func_basename "$output"
- outputname="$func_basename_result"
- libobjs_save="$libobjs"
-
- if test -n "$shlibpath_var"; then
- # get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
- else
- shlib_search_path=
- fi
- eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
- eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
- func_dirname "$output" "/" ""
- output_objdir="$func_dirname_result$objdir"
- # Create the object directory.
- func_mkdir_p "$output_objdir"
-
- # Determine the type of output
- case $output in
- "")
- func_fatal_help "you must specify an output file"
- ;;
- *.$libext) linkmode=oldlib ;;
- *.lo | *.$objext) linkmode=obj ;;
- *.la) linkmode=lib ;;
- *) linkmode=prog ;; # Anything else should be a program.
- esac
-
- specialdeplibs=
-
- libs=
- # Find all interdependent deplibs by searching for libraries
- # that are linked more than once (e.g. -la -lb -la)
- for deplib in $deplibs; do
- if $opt_duplicate_deps ; then
- case "$libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- libs="$libs $deplib"
- done
-
- if test "$linkmode" = lib; then
- libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
- # Compute libraries that are listed more than once in $predeps
- # $postdeps and mark them as special (i.e., whose duplicates are
- # not to be eliminated).
- pre_post_deps=
- if $opt_duplicate_compiler_generated_deps; then
- for pre_post_dep in $predeps $postdeps; do
- case "$pre_post_deps " in
- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
- esac
- pre_post_deps="$pre_post_deps $pre_post_dep"
- done
- fi
- pre_post_deps=
- fi
-
- deplibs=
- newdependency_libs=
- newlib_search_path=
- need_relink=no # whether we're linking any uninstalled libtool libraries
- notinst_deplibs= # not-installed libtool libraries
- notinst_path= # paths that contain not-installed libtool libraries
-
- case $linkmode in
- lib)
- passes="conv dlpreopen link"
- for file in $dlfiles $dlprefiles; do
- case $file in
- *.la) ;;
- *)
- func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
- ;;
- esac
- done
- ;;
- prog)
- compile_deplibs=
- finalize_deplibs=
- alldeplibs=no
- newdlfiles=
- newdlprefiles=
- passes="conv scan dlopen dlpreopen link"
- ;;
- *) passes="conv"
- ;;
- esac
-
- for pass in $passes; do
- # The preopen pass in lib mode reverses $deplibs; put it back here
- # so that -L comes before libs that need it for instance...
- if test "$linkmode,$pass" = "lib,link"; then
- ## FIXME: Find the place where the list is rebuilt in the wrong
- ## order, and fix it there properly
- tmp_deplibs=
- for deplib in $deplibs; do
- tmp_deplibs="$deplib $tmp_deplibs"
- done
- deplibs="$tmp_deplibs"
- fi
-
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
- deplibs=
- fi
- if test "$linkmode" = prog; then
- case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
- esac
- fi
- if test "$linkmode,$pass" = "lib,dlpreopen"; then
- # Collect and forward deplibs of preopened libtool libs
- for lib in $dlprefiles; do
- # Ignore non-libtool-libs
- dependency_libs=
- case $lib in
- *.la) func_source "$lib" ;;
- esac
-
- # Collect preopened libtool deplibs, except any this library
- # has declared as weak libs
- for deplib in $dependency_libs; do
- deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
- case " $weak_libs " in
- *" $deplib_base "*) ;;
- *) deplibs="$deplibs $deplib" ;;
- esac
- done
- done
- libs="$dlprefiles"
- fi
- if test "$pass" = dlopen; then
- # Collect dlpreopened libraries
- save_deplibs="$deplibs"
- deplibs=
- fi
-
- for deplib in $libs; do
- lib=
- found=no
- case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- compiler_flags="$compiler_flags $deplib"
- if test "$linkmode" = lib ; then
- case "$new_inherited_linker_flags " in
- *" $deplib "*) ;;
- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
- esac
- fi
- fi
- continue
- ;;
- -l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- func_warning "\`-l' is ignored for archives/objects"
- continue
- fi
- func_stripname '-l' '' "$deplib"
- name=$func_stripname_result
- if test "$linkmode" = lib; then
- searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
- else
- searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
- fi
- for searchdir in $searchdirs; do
- for search_ext in .la $std_shrext .so .a; do
- # Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
- if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
- else
- found=no
- fi
- break 2
- fi
- done
- done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
- # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
- # We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $deplib "*)
- if func_lalib_p "$lib"; then
- library_names=
- old_library=
- func_source "$lib"
- for l in $old_library $library_names; do
- ll="$l"
- done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
- func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
- lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- fi
- fi
- ;;
- *) ;;
- esac
- fi
- fi
- ;; # -l
- *.ltframework)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- if test "$linkmode" = lib ; then
- case "$new_inherited_linker_flags " in
- *" $deplib "*) ;;
- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
- esac
- fi
- fi
- continue
- ;;
- -L*)
- case $linkmode in
- lib)
- deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
- newdependency_libs="$deplib $newdependency_libs"
- func_stripname '-L' '' "$deplib"
- newlib_search_path="$newlib_search_path $func_stripname_result"
- ;;
- prog)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- if test "$pass" = scan; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- func_stripname '-L' '' "$deplib"
- newlib_search_path="$newlib_search_path $func_stripname_result"
- ;;
- *)
- func_warning "\`-L' is ignored for archives/objects"
- ;;
- esac # linkmode
- continue
- ;; # -L
- -R*)
- if test "$pass" = link; then
- func_stripname '-R' '' "$deplib"
- dir=$func_stripname_result
- # Make sure the xrpath contains only unique directories.
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- fi
- deplibs="$deplib $deplibs"
- continue
- ;;
- *.la) lib="$deplib" ;;
- *.$libext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- case $linkmode in
- lib)
- # Linking convenience modules into shared libraries is allowed,
- # but linking other static libraries is non-portable.
- case " $dlpreconveniencelibs " in
- *" $deplib "*) ;;
- *)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method; shift
- match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
- ;;
- pass_all)
- valid_a_lib=yes
- ;;
- esac
- if test "$valid_a_lib" != yes; then
- $ECHO
- $ECHO "*** Warning: Trying to link with static lib archive $deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because the file extensions .$libext of this argument makes me believe"
- $ECHO "*** that it is just a static archive that I should not use here."
- else
- $ECHO
- $ECHO "*** Warning: Linking the shared library $output against the"
- $ECHO "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
- ;;
- esac
- continue
- ;;
- prog)
- if test "$pass" != link; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- continue
- ;;
- esac # linkmode
- ;; # *.$libext
- *.lo | *.$objext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
- # If there is no dlopen support or we're linking statically,
- # we need to preload.
- newdlprefiles="$newdlprefiles $deplib"
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- newdlfiles="$newdlfiles $deplib"
- fi
- fi
- continue
- ;;
- %DEPLIBS%)
- alldeplibs=yes
- continue
- ;;
- esac # case $deplib
-
- if test "$found" = yes || test -f "$lib"; then :
- else
- func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
- fi
-
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$lib" \
- || func_fatal_error "\`$lib' is not a valid libtool archive"
-
- func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
-
- dlname=
- dlopen=
- dlpreopen=
- libdir=
- library_names=
- old_library=
- inherited_linker_flags=
- # If the library was installed with an old release of libtool,
- # it will not redefine variables installed, or shouldnotlink
- installed=yes
- shouldnotlink=no
- avoidtemprpath=
-
-
- # Read the .la file
- func_source "$lib"
-
- # Convert "-framework foo" to "foo.ltframework"
- if test -n "$inherited_linker_flags"; then
- tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
- for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
- case " $new_inherited_linker_flags " in
- *" $tmp_inherited_linker_flag "*) ;;
- *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
- esac
- done
- fi
- dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
- fi
-
- if test "$pass" = conv; then
- # Only check for convenience libraries
- deplibs="$lib $deplibs"
- if test -z "$libdir"; then
- if test -z "$old_library"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
- fi
- # It is a libtool convenience library, so add in its objects.
- convenience="$convenience $ladir/$objdir/$old_library"
- old_convenience="$old_convenience $ladir/$objdir/$old_library"
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- func_fatal_error "\`$lib' is not a convenience library"
- fi
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_duplicate_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
- continue
- fi # $pass = conv
-
-
- # Get the name of the library we link against.
- linklib=
- for l in $old_library $library_names; do
- linklib="$l"
- done
- if test -z "$linklib"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
- fi
-
- # This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
- fi
- if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
- # If there is no dlname, no dlopen support or we're linking
- # statically, we need to preload. We also need to preload any
- # dependent libraries so libltdl's deplib preloader doesn't
- # bomb out in the load deplibs phase.
- dlprefiles="$dlprefiles $lib $dependency_libs"
- else
- newdlfiles="$newdlfiles $lib"
- fi
- continue
- fi # $pass = dlopen
-
- # We need an absolute path.
- case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
- *)
- abs_ladir=`cd "$ladir" && pwd`
- if test -z "$abs_ladir"; then
- func_warning "cannot determine absolute directory name of \`$ladir'"
- func_warning "passing it literally to the linker, although it might fail"
- abs_ladir="$ladir"
- fi
- ;;
- esac
- func_basename "$lib"
- laname="$func_basename_result"
-
- # Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- func_warning "library \`$lib' was moved."
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
- dir="$libdir"
- absdir="$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
- if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- fi
- fi # $installed = yes
- func_stripname 'lib' '.la' "$laname"
- name=$func_stripname_result
-
- # This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir" && test "$linkmode" = prog; then
- func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
- fi
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- newdlprefiles="$newdlprefiles $dir/$old_library"
- # Keep a list of preopened convenience libraries to check
- # that they are being used correctly in the link pass.
- test -z "$libdir" && \
- dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- newdlprefiles="$newdlprefiles $dir/$dlname"
- else
- newdlprefiles="$newdlprefiles $dir/$linklib"
- fi
- fi # $pass = dlpreopen
-
- if test -z "$libdir"; then
- # Link the convenience library
- if test "$linkmode" = lib; then
- deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$dir/$old_library $compile_deplibs"
- finalize_deplibs="$dir/$old_library $finalize_deplibs"
- else
- deplibs="$lib $deplibs" # used for prog,scan pass
- fi
- continue
- fi
-
-
- if test "$linkmode" = prog && test "$pass" != link; then
- newlib_search_path="$newlib_search_path $ladir"
- deplibs="$lib $deplibs"
-
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
- fi
-
- tmp_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) func_stripname '-L' '' "$deplib"
- newlib_search_path="$newlib_search_path $func_stripname_result"
- ;;
- esac
- # Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
- deplibs="$deplib $deplibs"
- else
- # Need to hardcode shared library paths
- # or/and link against static libraries
- newdependency_libs="$deplib $newdependency_libs"
- fi
- if $opt_duplicate_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done # for deplib
- continue
- fi # $linkmode = prog...
-
- if test "$linkmode,$pass" = "prog,link"; then
- if test -n "$library_names" &&
- { { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
- test -z "$old_library"; }; then
- # We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
- # Make sure the rpath contains only unique directories.
- case "$temp_rpath:" in
- *"$absdir:"*) ;;
- *) temp_rpath="$temp_rpath$absdir:" ;;
- esac
- fi
-
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi # $linkmode,$pass = prog,link...
-
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
- test -n "$library_names"; }; }; then
- # We only need to search for static libraries
- continue
- fi
- fi
-
- link_static=no # Whether the deplib will be linked statically
- use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes; then
- use_static_libs=no
- fi
- if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
- case $host in
- *cygwin* | *mingw* | *cegcc*)
- # No point in relinking DLLs because paths are not encoded
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=no
- ;;
- *)
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
- ;;
- esac
- # This is a shared library
-
- # Warn about portability, can't link against -module's on some
- # systems (darwin). Don't bleat about dlopened modules though!
- dlopenmodule=""
- for dlpremoduletest in $dlprefiles; do
- if test "X$dlpremoduletest" = "X$lib"; then
- dlopenmodule="$dlpremoduletest"
- break
- fi
- done
- if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
- $ECHO
- if test "$linkmode" = prog; then
- $ECHO "*** Warning: Linking the executable $output against the loadable module"
- else
- $ECHO "*** Warning: Linking the shared library $output against the loadable module"
- fi
- $ECHO "*** $linklib is not portable!"
- fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi
-
- if test -n "$old_archive_from_expsyms_cmds"; then
- # figure out the soname
- set dummy $library_names
- shift
- realname="$1"
- shift
- libname=`eval "\\$ECHO \"$libname_spec\""`
- # use dlname if we got it. it's perfectly good, no?
- if test -n "$dlname"; then
- soname="$dlname"
- elif test -n "$soname_spec"; then
- # bleh windows
- case $host in
- *cygwin* | mingw* | *cegcc*)
- func_arith $current - $age
- major=$func_arith_result
- versuffix="-$major"
- ;;
- esac
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
-
- # Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
- func_basename "$soroot"
- soname="$func_basename_result"
- func_stripname 'lib' '.dll' "$soname"
- newlib=libimp-$func_stripname_result.a
-
- # If the library has no export list, then create one now
- if test -f "$output_objdir/$soname-def"; then :
- else
- func_verbose "extracting exported symbol list from \`$soname'"
- func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
- fi
-
- # Create $newlib
- if test -f "$output_objdir/$newlib"; then :; else
- func_verbose "generating import library for \`$soname'"
- func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
- fi
- # make sure the library variables are pointing to the new library
- dir=$output_objdir
- linklib=$newlib
- fi # test -n "$old_archive_from_expsyms_cmds"
-
- if test "$linkmode" = prog || test "$mode" != relink; then
- add_shlibpath=
- add_dir=
- add=
- lib_linked=yes
- case $hardcode_action in
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
- case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
- *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
- *-*-darwin* )
- # if the lib is a (non-dlopened) module then we can not
- # link against it, someone is ignoring the earlier warnings
- if /usr/bin/file -L $add 2> /dev/null |
- $GREP ": [^:]* bundle" >/dev/null ; then
- if test "X$dlopenmodule" != "X$lib"; then
- $ECHO "*** Warning: lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $ECHO
- $ECHO "*** And there doesn't seem to be a static archive available"
- $ECHO "*** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
- fi
- elif test -n "$old_library"; then
- add="$dir/$old_library"
- fi
- fi
- esac
- elif test "$hardcode_minus_L" = no; then
- case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
- esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- relink)
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- *) lib_linked=no ;;
- esac
-
- if test "$lib_linked" != yes; then
- func_fatal_configuration "unsupported hardcode properties"
- fi
-
- if test -n "$add_shlibpath"; then
- case :$compile_shlibpath: in
- *":$add_shlibpath:"*) ;;
- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
- esac
- fi
- if test "$linkmode" = prog; then
- test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
- test -n "$add" && compile_deplibs="$add $compile_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes &&
- test "$hardcode_minus_L" != yes &&
- test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- fi
- fi
- fi
-
- if test "$linkmode" = prog || test "$mode" = relink; then
- add_shlibpath=
- add_dir=
- add=
- # Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
- if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
- else
- add="$libdir/$linklib"
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- fi
-
- if test "$linkmode" = prog; then
- test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
- test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- fi
- fi
- elif test "$linkmode" = prog; then
- # Here we assume that one of hardcode_direct or hardcode_minus_L
- # is not unsupported. This is valid on all known static and
- # shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
- compile_deplibs="$dir/$linklib $compile_deplibs"
- finalize_deplibs="$dir/$linklib $finalize_deplibs"
- else
- compile_deplibs="-l$name -L$dir $compile_deplibs"
- finalize_deplibs="-l$name -L$dir $finalize_deplibs"
- fi
- elif test "$build_libtool_libs" = yes; then
- # Not a shared library
- if test "$deplibs_check_method" != pass_all; then
- # We're trying link a shared library against a static one
- # but the system doesn't support it.
-
- # Just print a warning and add the library to dependency_libs so
- # that the program can be linked against the static library.
- $ECHO
- $ECHO "*** Warning: This system can not link to static lib archive $lib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
- $ECHO "*** But as you try to build a module library, libtool will still create "
- $ECHO "*** a static module, that should work as long as the dlopening application"
- $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
- if test -z "$global_symbol_pipe"; then
- $ECHO
- $ECHO "*** However, this would only work if libtool was able to extract symbol"
- $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $ECHO "*** not find such a program. So, this module is probably useless."
- $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- else
- deplibs="$dir/$old_library $deplibs"
- link_static=yes
- fi
- fi # link shared/static library?
-
- if test "$linkmode" = lib; then
- if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
- # Extract -R from dependency_libs
- temp_deplibs=
- for libdir in $dependency_libs; do
- case $libdir in
- -R*) func_stripname '-R' '' "$libdir"
- temp_xrpath=$func_stripname_result
- case " $xrpath " in
- *" $temp_xrpath "*) ;;
- *) xrpath="$xrpath $temp_xrpath";;
- esac;;
- *) temp_deplibs="$temp_deplibs $libdir";;
- esac
- done
- dependency_libs="$temp_deplibs"
- fi
-
- newlib_search_path="$newlib_search_path $absdir"
- # Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
- # ... and its dependency_libs
- tmp_libs=
- for deplib in $dependency_libs; do
- newdependency_libs="$deplib $newdependency_libs"
- if $opt_duplicate_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
-
- if test "$link_all_deplibs" != no; then
- # Add the search paths of all dependency libraries
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) path="$deplib" ;;
- *.la)
- func_dirname "$deplib" "" "."
- dir="$func_dirname_result"
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- func_warning "cannot determine absolute directory name of \`$dir'"
- absdir="$dir"
- fi
- ;;
- esac
- if $GREP "^installed=no" $deplib > /dev/null; then
- case $host in
- *-*-darwin*)
- depdepl=
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
- depdepl=$tmp
- done
- if test -f "$absdir/$objdir/$depdepl" ; then
- depdepl="$absdir/$objdir/$depdepl"
- darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
- if test -z "$darwin_install_name"; then
- darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
- fi
- compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
- linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
- path=
- fi
- fi
- ;;
- *)
- path="-L$absdir/$objdir"
- ;;
- esac
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
- test "$absdir" != "$libdir" && \
- func_warning "\`$deplib' seems to be moved"
-
- path="-L$absdir"
- fi
- ;;
- esac
- case " $deplibs " in
- *" $path "*) ;;
- *) deplibs="$path $deplibs" ;;
- esac
- done
- fi # link_all_deplibs != no
- fi # linkmode = lib
- done # for deplib in $libs
- if test "$pass" = link; then
- if test "$linkmode" = "prog"; then
- compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
- finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
- else
- compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- fi
- fi
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
- # Link the dlpreopened libraries before other libraries
- for deplib in $save_deplibs; do
- deplibs="$deplib $deplibs"
- done
- fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
- # Make sure lib_search_path contains only unique directories.
- lib_search_path=
- for dir in $newlib_search_path; do
- case "$lib_search_path " in
- *" $dir "*) ;;
- *) lib_search_path="$lib_search_path $dir" ;;
- esac
- done
- newlib_search_path=
- fi
-
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
- vars="compile_deplibs finalize_deplibs"
- fi
- for var in $vars dependency_libs; do
- # Add libraries to $var in reverse order
- eval tmp_libs=\"\$$var\"
- new_libs=
- for deplib in $tmp_libs; do
- # FIXME: Pedantically, this is the right thing to do, so
- # that some nasty dependency loop isn't accidentally
- # broken:
- #new_libs="$deplib $new_libs"
- # Pragmatically, this seems to cause very few problems in
- # practice:
- case $deplib in
- -L*) new_libs="$deplib $new_libs" ;;
- -R*) ;;
- *)
- # And here is the reason: when a library appears more
- # than once as an explicit dependence of a library, or
- # is implicitly linked in more than once by the
- # compiler, it is considered special, and multiple
- # occurrences thereof are not removed. Compare this
- # with having the same library being listed as a
- # dependency of multiple other libraries: in this case,
- # we know (pedantically, we assume) the library does not
- # need to be listed more than once, so we keep only the
- # last copy. This is not always right, but it is rare
- # enough that we require users that really mean to play
- # such unportable linking tricks to link the library
- # using -Wl,-lname, so that libtool does not consider it
- # for duplicate removal.
- case " $specialdeplibs " in
- *" $deplib "*) new_libs="$deplib $new_libs" ;;
- *)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$deplib $new_libs" ;;
- esac
- ;;
- esac
- ;;
- esac
- done
- tmp_libs=
- for deplib in $new_libs; do
- case $deplib in
- -L*)
- case " $tmp_libs " in
- *" $deplib "*) ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- done
- eval $var=\"$tmp_libs\"
- done # for var
- fi
- # Last step: remove runtime libs from dependency_libs
- # (they stay in deplibs)
- tmp_libs=
- for i in $dependency_libs ; do
- case " $predeps $postdeps $compiler_lib_search_path " in
- *" $i "*)
- i=""
- ;;
- esac
- if test -n "$i" ; then
- tmp_libs="$tmp_libs $i"
- fi
- done
- dependency_libs=$tmp_libs
- done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
- fi
- if test "$linkmode" = prog || test "$linkmode" = lib; then
- dlprefiles="$newdlprefiles"
- fi
-
- case $linkmode in
- oldlib)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for archives"
- fi
-
- case " $deplibs" in
- *\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for archives" ;;
- esac
-
- test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for archives"
-
- test -n "$xrpath" && \
- func_warning "\`-R' is ignored for archives"
-
- test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for archives"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for archives"
-
- test -n "$export_symbols$export_symbols_regex" && \
- func_warning "\`-export-symbols' is ignored for archives"
-
- # Now set the variables for building old libraries.
- build_libtool_libs=no
- oldlibs="$output"
- objs="$objs$old_deplibs"
- ;;
-
- lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
- case $outputname in
- lib*)
- func_stripname 'lib' '.la' "$outputname"
- name=$func_stripname_result
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- ;;
- *)
- test "$module" = no && \
- func_fatal_help "libtool library \`$output' must begin with \`lib'"
-
- if test "$need_lib_prefix" != no; then
- # Add the "lib" prefix for modules if required
- func_stripname '' '.la' "$outputname"
- name=$func_stripname_result
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- else
- func_stripname '' '.la' "$outputname"
- libname=$func_stripname_result
- fi
- ;;
- esac
-
- if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
- else
- $ECHO
- $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
- $ECHO "*** objects $objs is not portable!"
- libobjs="$libobjs $objs"
- fi
- fi
-
- test "$dlself" != no && \
- func_warning "\`-dlopen self' is ignored for libtool libraries"
-
- set dummy $rpath
- shift
- test "$#" -gt 1 && \
- func_warning "ignoring multiple \`-rpath's for a libtool library"
-
- install_libdir="$1"
-
- oldlibs=
- if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
- # Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
- # convenience libraries should have the same extension an
- # archive normally would.
- oldlibs="$output_objdir/$libname.$libext $oldlibs"
- build_libtool_libs=convenience
- build_old_libs=yes
- fi
-
- test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for convenience libraries"
- else
-
- # Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
- set dummy $vinfo 0 0 0
- shift
- IFS="$save_ifs"
-
- test -n "$7" && \
- func_fatal_help "too many parameters to \`-version-info'"
-
- # convert absolute version numbers to libtool ages
- # this retains compatibility with .la files and attempts
- # to make the code below a bit more comprehensible
-
- case $vinfo_number in
- yes)
- number_major="$1"
- number_minor="$2"
- number_revision="$3"
- #
- # There are really only two kinds -- those that
- # use the current revision as the major version
- # and those that subtract age and use age as
- # a minor version. But, then there is irix
- # which has an extra 1 added just for fun
- #
- case $version_type in
- darwin|linux|osf|windows|none)
- func_arith $number_major + $number_minor
- current=$func_arith_result
- age="$number_minor"
- revision="$number_revision"
- ;;
- freebsd-aout|freebsd-elf|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
- ;;
- irix|nonstopux)
- func_arith $number_major + $number_minor
- current=$func_arith_result
- age="$number_minor"
- revision="$number_minor"
- lt_irix_increment=no
- ;;
- esac
- ;;
- no)
- current="$1"
- revision="$2"
- age="$3"
- ;;
- esac
-
- # Check that each of the things are valid numbers.
- case $current in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "CURRENT \`$current' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
- ;;
- esac
-
- case $revision in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "REVISION \`$revision' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
- ;;
- esac
-
- case $age in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "AGE \`$age' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
- ;;
- esac
-
- if test "$age" -gt "$current"; then
- func_error "AGE \`$age' is greater than the current interface number \`$current'"
- func_fatal_error "\`$vinfo' is not valid version information"
- fi
-
- # Calculate the version variables.
- major=
- versuffix=
- verstring=
- case $version_type in
- none) ;;
-
- darwin)
- # Like Linux, but with the current version available in
- # verstring for coding it into the library header
- func_arith $current - $age
- major=.$func_arith_result
- versuffix="$major.$age.$revision"
- # Darwin ld doesn't like 0 for these options...
- func_arith $current + 1
- minor_current=$func_arith_result
- xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
- verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
- ;;
-
- freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
- ;;
-
- freebsd-elf)
- major=".$current"
- versuffix=".$current"
- ;;
-
- irix | nonstopux)
- if test "X$lt_irix_increment" = "Xno"; then
- func_arith $current - $age
- else
- func_arith $current - $age + 1
- fi
- major=$func_arith_result
-
- case $version_type in
- nonstopux) verstring_prefix=nonstopux ;;
- *) verstring_prefix=sgi ;;
- esac
- verstring="$verstring_prefix$major.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$revision
- while test "$loop" -ne 0; do
- func_arith $revision - $loop
- iface=$func_arith_result
- func_arith $loop - 1
- loop=$func_arith_result
- verstring="$verstring_prefix$major.$iface:$verstring"
- done
-
- # Before this point, $major must not contain `.'.
- major=.$major
- versuffix="$major.$revision"
- ;;
-
- linux)
- func_arith $current - $age
- major=.$func_arith_result
- versuffix="$major.$age.$revision"
- ;;
-
- osf)
- func_arith $current - $age
- major=.$func_arith_result
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$age
- while test "$loop" -ne 0; do
- func_arith $current - $loop
- iface=$func_arith_result
- func_arith $loop - 1
- loop=$func_arith_result
- verstring="$verstring:${iface}.0"
- done
-
- # Make executables depend on our current version.
- verstring="$verstring:${current}.0"
- ;;
-
- qnx)
- major=".$current"
- versuffix=".$current"
- ;;
-
- sunos)
- major=".$current"
- versuffix=".$current.$revision"
- ;;
-
- windows)
- # Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
- func_arith $current - $age
- major=$func_arith_result
- versuffix="-$major"
- ;;
-
- *)
- func_fatal_configuration "unknown library version type \`$version_type'"
- ;;
- esac
-
- # Clear the version info if we defaulted, and they specified a release.
- if test -z "$vinfo" && test -n "$release"; then
- major=
- case $version_type in
- darwin)
- # we can't check for "0.0" in archive_cmds due to quoting
- # problems, so we reset it completely
- verstring=
- ;;
- *)
- verstring="0.0"
- ;;
- esac
- if test "$need_version" = no; then
- versuffix=
- else
- versuffix=".0.0"
- fi
- fi
-
- # Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
- major=
- versuffix=
- verstring=""
- fi
-
- # Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- func_warning "undefined symbols not allowed in $host shared libraries"
- build_libtool_libs=no
- build_old_libs=yes
- fi
- else
- # Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
- fi
-
- fi
-
- func_generate_dlsyms "$libname" "$libname" "yes"
- libobjs="$libobjs $symfileobj"
- test "X$libobjs" = "X " && libobjs=
-
- if test "$mode" != relink; then
- # Remove our outputs, but don't remove object files since they
- # may have been created when compiling PIC objects.
- removelist=
- tempremovelist=`$ECHO "$output_objdir/*"`
- for p in $tempremovelist; do
- case $p in
- *.$objext | *.gcno)
- ;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
- if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
- continue
- fi
- fi
- removelist="$removelist $p"
- ;;
- *) ;;
- esac
- done
- test -n "$removelist" && \
- func_show_eval "${RM}r \$removelist"
- fi
-
- # Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
- # Transform .lo files to .o files.
- oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
- fi
-
- # Eliminate all temporary directories.
- #for path in $notinst_path; do
- # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
- # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
- # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
- #done
-
- if test -n "$xrpath"; then
- # If the user specified any rpath flags, then add them.
- temp_xrpath=
- for libdir in $xrpath; do
- temp_xrpath="$temp_xrpath -R$libdir"
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
- dependency_libs="$temp_xrpath $dependency_libs"
- fi
- fi
-
- # Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
- dlfiles=
- for lib in $old_dlfiles; do
- case " $dlprefiles $dlfiles " in
- *" $lib "*) ;;
- *) dlfiles="$dlfiles $lib" ;;
- esac
- done
-
- # Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
- dlprefiles=
- for lib in $old_dlprefiles; do
- case "$dlprefiles " in
- *" $lib "*) ;;
- *) dlprefiles="$dlprefiles $lib" ;;
- esac
- done
-
- if test "$build_libtool_libs" = yes; then
- if test -n "$rpath"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
- # these systems don't actually have a c library (as such)!
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C library is in the System framework
- deplibs="$deplibs System.ltframework"
- ;;
- *-*-netbsd*)
- # Don't link with libc until the a.out ld.so is fixed.
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- ;;
- *)
- # Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
- deplibs="$deplibs -lc"
- fi
- ;;
- esac
- fi
-
- # Transform deplibs into only deplibs that can be linked in shared.
- name_save=$name
- libname_save=$libname
- release_save=$release
- versuffix_save=$versuffix
- major_save=$major
- # I'm not sure if I'm treating the release correctly. I think
- # release should show up in the -l (ie -lgmp5) so we don't want to
- # add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
- newdeplibs=
- droppeddeps=no
- case $deplibs_check_method in
- pass_all)
- # Don't check for shared/static. Everything works.
- # This might be a little naive. We might want to check
- # whether the library exists or not. But this is on
- # osf3 & osf4 and I'm not really sure... Just
- # implementing what was already the behavior.
- newdeplibs=$deplibs
- ;;
- test_compile)
- # This code stresses the "libraries are programs" paradigm to its
- # limits. Maybe even breaks it. We compile a program, linking it
- # against the deplibs as a proxy for the library. Then we can check
- # whether they linked in statically or dynamically with ldd.
- $opt_dry_run || $RM conftest.c
- cat > conftest.c <<EOF
- int main() { return 0; }
-EOF
- $opt_dry_run || $RM conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
- ldd_output=`ldd conftest`
- for i in $deplibs; do
- case $i in
- -l*)
- func_stripname -l '' "$i"
- name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval "\\$ECHO \"$libname_spec\""`
- deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
- set dummy $deplib_matches; shift
- deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $ECHO
- $ECHO "*** Warning: dynamic linker does not accept needed library $i."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which I believe you do not have"
- $ECHO "*** because a test_compile did reveal that the linker did not use it for"
- $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
- fi
- fi
- ;;
- *)
- newdeplibs="$newdeplibs $i"
- ;;
- esac
- done
- else
- # Error occurred in the first compile. Let's try to salvage
- # the situation: Compile a separate program for each library.
- for i in $deplibs; do
- case $i in
- -l*)
- func_stripname -l '' "$i"
- name=$func_stripname_result
- $opt_dry_run || $RM conftest
- if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
- ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval "\\$ECHO \"$libname_spec\""`
- deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
- set dummy $deplib_matches; shift
- deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $ECHO
- $ECHO "*** Warning: dynamic linker does not accept needed library $i."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because a test_compile did reveal that the linker did not use this one"
- $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
- fi
- fi
- else
- droppeddeps=yes
- $ECHO
- $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
- $ECHO "*** make it link in! You will probably need to install it or some"
- $ECHO "*** library that it depends on before this library will be fully"
- $ECHO "*** functional. Installing it before continuing would be even better."
- fi
- ;;
- *)
- newdeplibs="$newdeplibs $i"
- ;;
- esac
- done
- fi
- ;;
- file_magic*)
- set dummy $deplibs_check_method; shift
- file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- for a_deplib in $deplibs; do
- case $a_deplib in
- -l*)
- func_stripname -l '' "$a_deplib"
- name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval "\\$ECHO \"$libname_spec\""`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- # Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null |
- $GREP " -> " >/dev/null; then
- continue
- fi
- # The statement above tries to avoid entering an
- # endless loop below, in case of cyclic links.
- # We might still enter an endless loop, since a link
- # loop can be closed while we follow links,
- # but so what?
- potlib="$potent_lib"
- while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
- case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
- esac
- done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
- $SED -e 10q |
- $EGREP "$file_magic_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $ECHO
- $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
- else
- $ECHO "*** with $libname and none of the candidates passed a file format test"
- $ECHO "*** using a file magic. Last file checked: $potlib"
- fi
- fi
- ;;
- *)
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- ;;
- esac
- done # Gone through all deplibs.
- ;;
- match_pattern*)
- set dummy $deplibs_check_method; shift
- match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- for a_deplib in $deplibs; do
- case $a_deplib in
- -l*)
- func_stripname -l '' "$a_deplib"
- name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval "\\$ECHO \"$libname_spec\""`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
- $EGREP "$match_pattern_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $ECHO
- $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
- else
- $ECHO "*** with $libname and none of the candidates passed a file format test"
- $ECHO "*** using a regex pattern. Last file checked: $potlib"
- fi
- fi
- ;;
- *)
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- ;;
- esac
- done # Gone through all deplibs.
- ;;
- none | unknown | *)
- newdeplibs=""
- tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
- -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
- # can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
- done
- fi
- if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
- $GREP . >/dev/null; then
- $ECHO
- if test "X$deplibs_check_method" = "Xnone"; then
- $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
- else
- $ECHO "*** Warning: inter-library dependencies are not known to be supported."
- fi
- $ECHO "*** All declared inter-library dependencies are being dropped."
- droppeddeps=yes
- fi
- ;;
- esac
- versuffix=$versuffix_save
- major=$major_save
- release=$release_save
- libname=$libname_save
- name=$name_save
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library with the System framework
- newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
- ;;
- esac
-
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
- $ECHO
- $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
- $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
- $ECHO "*** a static module, that should work as long as the dlopening"
- $ECHO "*** application is linked with the -dlopen flag."
- if test -z "$global_symbol_pipe"; then
- $ECHO
- $ECHO "*** However, this would only work if libtool was able to extract symbol"
- $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $ECHO "*** not find such a program. So, this module is probably useless."
- $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- else
- $ECHO "*** The inter-library dependencies that have been dropped here will be"
- $ECHO "*** automatically added whenever a program is linked with this library"
- $ECHO "*** or is declared to -dlopen it."
-
- if test "$allow_undefined" = no; then
- $ECHO
- $ECHO "*** Since this library must not contain undefined symbols,"
- $ECHO "*** because either the platform does not support them or"
- $ECHO "*** it was explicitly requested with -no-undefined,"
- $ECHO "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- fi
- fi
- # Done checking deplibs!
- deplibs=$newdeplibs
- fi
- # Time to change all our "foo.ltframework" stuff back to "-framework foo"
- case $host in
- *-*-darwin*)
- newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- ;;
- esac
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- deplibs="$new_libs"
-
- # All the library-specific variables (install_libdir is set above).
- library_names=
- old_library=
- dlname=
-
- # Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- if test "$hardcode_into_libs" = yes; then
- # Hardcode the library paths
- hardcode_libdirs=
- dep_rpath=
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- dep_rpath="$dep_rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
- fi
- if test -n "$runpath_var" && test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
- fi
- test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
- fi
-
- shlibpath="$finalize_shlibpath"
- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
- if test -n "$shlibpath"; then
- eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
- fi
-
- # Get the real and link names of the library.
- eval shared_ext=\"$shrext_cmds\"
- eval library_names=\"$library_names_spec\"
- set dummy $library_names
- shift
- realname="$1"
- shift
-
- if test -n "$soname_spec"; then
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
- if test -z "$dlname"; then
- dlname=$soname
- fi
-
- lib="$output_objdir/$realname"
- linknames=
- for link
- do
- linknames="$linknames $link"
- done
-
- # Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- test "X$libobjs" = "X " && libobjs=
-
- delfiles=
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
- export_symbols="$output_objdir/$libname.uexp"
- delfiles="$delfiles $export_symbols"
- fi
-
- orig_export_symbols=
- case $host_os in
- cygwin* | mingw* | cegcc*)
- if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
- # exporting using user supplied symfile
- if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
- # and it's NOT already a .def file. Must figure out
- # which of the given symbols are data symbols and tag
- # them as such. So, trigger use of export_symbols_cmds.
- # export_symbols gets reassigned inside the "prepare
- # the list of exported symbols" if statement, so the
- # include_expsyms logic still works.
- orig_export_symbols="$export_symbols"
- export_symbols=
- always_export_symbols=yes
- fi
- fi
- ;;
- esac
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $opt_dry_run || $RM $export_symbols
- cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- func_len " $cmd"
- len=$func_len_result
- if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- func_show_eval "$cmd" 'exit $?'
- skipped_export=false
- else
- # The command line is too long to execute in one step.
- func_verbose "using reloadable object file for export list..."
- skipped_export=:
- # Break out early, otherwise skipped_export may be
- # set to false by a later but shorter cmd.
- break
- fi
- done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
- func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
- fi
- fi
- fi
-
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
- fi
-
- if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
- # The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
- # FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
- # though. Also, the filter scales superlinearly with the number of
- # global variables. join(1) would be nice here, but unfortunately
- # isn't a blessed tool.
- $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
- export_symbols=$output_objdir/$libname.def
- $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
- fi
-
- tmp_deplibs=
- for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
- done
- deplibs="$tmp_deplibs"
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec" &&
- test "$compiler_needs_object" = yes &&
- test -z "$libobjs"; then
- # extract the archives, so we have objects to list.
- # TODO: could optimize this to just extract one archive.
- whole_archive_flag_spec=
- fi
- if test -n "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- test "X$libobjs" = "X " && libobjs=
- else
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- libobjs="$libobjs $func_extract_archives_result"
- test "X$libobjs" = "X " && libobjs=
- fi
- fi
-
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
- eval flag=\"$thread_safe_flag_spec\"
- linker_flags="$linker_flags $flag"
- fi
-
- # Make a backup of the uninstalled library when relinking
- if test "$mode" = relink; then
- $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
- fi
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- eval test_cmds=\"$module_expsym_cmds\"
- cmds=$module_expsym_cmds
- else
- eval test_cmds=\"$module_cmds\"
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
- fi
- fi
-
- if test "X$skipped_export" != "X:" &&
- func_len " $test_cmds" &&
- len=$func_len_result &&
- test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- :
- else
- # The command line is too long to link in one step, link piecewise
- # or, if using GNU ld and skipped_export is not :, use a linker
- # script.
-
- # Save the value of $output and $libobjs because we want to
- # use them later. If we have whole_archive_flag_spec, we
- # want to use save_libobjs as it was before
- # whole_archive_flag_spec was expanded, because we can't
- # assume the linker understands whole_archive_flag_spec.
- # This may have to be revisited, in case too many
- # convenience libraries get linked in and end up exceeding
- # the spec.
- if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- fi
- save_output=$output
- output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
-
- # Clear the reloadable object creation command queue and
- # initialize k to one.
- test_cmds=
- concat_cmds=
- objlist=
- last_robj=
- k=1
-
- if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
- output=${output_objdir}/${output_la}.lnkscript
- func_verbose "creating GNU ld script: $output"
- $ECHO 'INPUT (' > $output
- for obj in $save_libobjs
- do
- $ECHO "$obj" >> $output
- done
- $ECHO ')' >> $output
- delfiles="$delfiles $output"
- elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
- output=${output_objdir}/${output_la}.lnk
- func_verbose "creating linker input file list: $output"
- : > $output
- set x $save_libobjs
- shift
- firstobj=
- if test "$compiler_needs_object" = yes; then
- firstobj="$1 "
- shift
- fi
- for obj
- do
- $ECHO "$obj" >> $output
- done
- delfiles="$delfiles $output"
- output=$firstobj\"$file_list_spec$output\"
- else
- if test -n "$save_libobjs"; then
- func_verbose "creating reloadable object files..."
- output=$output_objdir/$output_la-${k}.$objext
- eval test_cmds=\"$reload_cmds\"
- func_len " $test_cmds"
- len0=$func_len_result
- len=$len0
-
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- func_len " $obj"
- func_arith $len + $func_len_result
- len=$func_arith_result
- if test "X$objlist" = X ||
- test "$len" -lt "$max_cmd_len"; then
- func_append objlist " $obj"
- else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
- fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- func_arith $k + 1
- k=$func_arith_result
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- func_len " $last_robj"
- func_arith $len0 + $func_len_result
- len=$func_arith_result
- fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
- if test -n "$last_robj"; then
- eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
- fi
- delfiles="$delfiles $output"
-
- else
- output=
- fi
-
- if ${skipped_export-false}; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $opt_dry_run || $RM $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
- if test -n "$last_robj"; then
- eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
- fi
- fi
-
- test -n "$save_libobjs" &&
- func_verbose "creating a temporary reloadable object file: $output"
-
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $opt_silent || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
- $opt_dry_run || eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- ( cd "$output_objdir" && \
- $RM "${realname}T" && \
- $MV "${realname}U" "$realname" )
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- if test -n "$export_symbols_regex" && ${skipped_export-false}; then
- func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
- fi
- fi
-
- if ${skipped_export-false}; then
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
- fi
-
- if test -n "$orig_export_symbols"; then
- # The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
- # FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
- # though. Also, the filter scales superlinearly with the number of
- # global variables. join(1) would be nice here, but unfortunately
- # isn't a blessed tool.
- $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
- export_symbols=$output_objdir/$libname.def
- $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
- fi
- fi
-
- libobjs=$output
- # Restore the value of output.
- output=$save_output
-
- if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- test "X$libobjs" = "X " && libobjs=
- fi
- # Expand the library linking commands again to reset the
- # value of $libobjs for piecewise linking.
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- cmds=$module_expsym_cmds
- else
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
- fi
- fi
- fi
-
- if test -n "$delfiles"; then
- # Append the command to remove temporary files to $cmds.
- eval cmds=\"\$cmds~\$RM $delfiles\"
- fi
-
- # Add any objects from preloaded convenience libraries
- if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $dlprefiles
- libobjs="$libobjs $func_extract_archives_result"
- test "X$libobjs" = "X " && libobjs=
- fi
-
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $opt_silent || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
- $opt_dry_run || eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- ( cd "$output_objdir" && \
- $RM "${realname}T" && \
- $MV "${realname}U" "$realname" )
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-
- if test -n "$convenience"; then
- if test -z "$whole_archive_flag_spec"; then
- func_show_eval '${RM}r "$gentop"'
- fi
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- # Create links to the real library.
- for linkname in $linknames; do
- if test "$realname" != "$linkname"; then
- func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
- fi
- done
-
- # If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
- fi
- fi
- ;;
-
- obj)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for objects"
- fi
-
- case " $deplibs" in
- *\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for objects" ;;
- esac
-
- test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for objects"
-
- test -n "$xrpath" && \
- func_warning "\`-R' is ignored for objects"
-
- test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for objects"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for objects"
-
- case $output in
- *.lo)
- test -n "$objs$old_deplibs" && \
- func_fatal_error "cannot build library object \`$output' from non-libtool objects"
-
- libobj=$output
- func_lo2o "$libobj"
- obj=$func_lo2o_result
- ;;
- *)
- libobj=
- obj="$output"
- ;;
- esac
-
- # Delete the old objects.
- $opt_dry_run || $RM $obj $libobj
-
- # Objects from convenience libraries. This assumes
- # single-version convenience libraries. Whenever we create
- # different ones for PIC/non-PIC, this we'll have to duplicate
- # the extraction.
- reload_conv_objs=
- gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec and hope we can get by with
- # turning comma into space..
- wl=
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
- else
- gentop="$output_objdir/${obj}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- reload_conv_objs="$reload_objs $func_extract_archives_result"
- fi
- fi
-
- # Create the old-style object.
- reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
- output="$obj"
- func_execute_cmds "$reload_cmds" 'exit $?'
-
- # Exit if we aren't doing a library object file.
- if test -z "$libobj"; then
- if test -n "$gentop"; then
- func_show_eval '${RM}r "$gentop"'
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- if test "$build_libtool_libs" != yes; then
- if test -n "$gentop"; then
- func_show_eval '${RM}r "$gentop"'
- fi
-
- # Create an invalid libtool object if no PIC, so that we don't
- # accidentally link it into a program.
- # $show "echo timestamp > $libobj"
- # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test -n "$pic_flag" || test "$pic_mode" != default; then
- # Only do commands if we really have different PIC objects.
- reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
- func_execute_cmds "$reload_cmds" 'exit $?'
- fi
-
- if test -n "$gentop"; then
- func_show_eval '${RM}r "$gentop"'
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- prog)
- case $host in
- *cygwin*) func_stripname '' '.exe' "$output"
- output=$func_stripname_result.exe;;
- esac
- test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for programs"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for programs"
-
- test "$preload" = yes \
- && test "$dlopen_support" = unknown \
- && test "$dlopen_self" = unknown \
- && test "$dlopen_self_static" = unknown && \
- func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
- finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
- ;;
- esac
-
- case $host in
- *-*-darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- # But is supposedly fixed on 10.4 or later (yay!).
- if test "$tagname" = CXX ; then
- case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
- 10.[0123])
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- ;;
- esac
- fi
- # Time to change all our "foo.ltframework" stuff back to "-framework foo"
- compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- ;;
- esac
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $compile_deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $compile_deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- compile_deplibs="$new_libs"
-
-
- compile_command="$compile_command $compile_deplibs"
- finalize_command="$finalize_command $finalize_deplibs"
-
- if test -n "$rpath$xrpath"; then
- # If the user specified any rpath flags, then add them.
- for libdir in $rpath $xrpath; do
- # This is the magic to use -rpath.
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- fi
-
- # Now hardcode the library paths
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$libdir:"*) ;;
- ::) dllsearchpath=$libdir;;
- *) dllsearchpath="$dllsearchpath:$libdir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- ::) dllsearchpath=$testbindir;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- compile_rpath="$rpath"
-
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$finalize_perm_rpath " in
- *" $libdir "*) ;;
- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- finalize_rpath="$rpath"
-
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
- # Transform all the library objects into standard objects.
- compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- fi
-
- func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
-
- # template prelinking step
- if test -n "$prelink_cmds"; then
- func_execute_cmds "$prelink_cmds" 'exit $?'
- fi
-
- wrappers_required=yes
- case $host in
- *cygwin* | *mingw* )
- if test "$build_libtool_libs" != yes; then
- wrappers_required=no
- fi
- ;;
- *cegcc)
- # Disable wrappers for cegcc, we are cross compiling anyway.
- wrappers_required=no
- ;;
- *)
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- wrappers_required=no
- fi
- ;;
- esac
- if test "$wrappers_required" = no; then
- # Replace the output file specification.
- compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- link_command="$compile_command$compile_rpath"
-
- # We have no uninstalled library dependencies, so finalize right now.
- exit_status=0
- func_show_eval "$link_command" 'exit_status=$?'
-
- # Delete the generated files.
- if test -f "$output_objdir/${outputname}S.${objext}"; then
- func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
- fi
-
- exit $exit_status
- fi
-
- if test -n "$compile_shlibpath$finalize_shlibpath"; then
- compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
- fi
- if test -n "$finalize_shlibpath"; then
- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
- fi
-
- compile_var=
- finalize_var=
- if test -n "$runpath_var"; then
- if test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- if test -n "$finalize_perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $finalize_perm_rpath; do
- rpath="$rpath$dir:"
- done
- finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- fi
-
- if test "$no_install" = yes; then
- # We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
- # Replace the output file specification.
- link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- # Delete the old output file.
- $opt_dry_run || $RM $output
- # Link the executable and exit
- func_show_eval "$link_command" 'exit $?'
- exit $EXIT_SUCCESS
- fi
-
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
-
- func_warning "this platform does not like uninstalled shared libraries"
- func_warning "\`$output' will be relinked during installation"
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
-
- # Replace the output file specification.
- link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
- # Delete the old output files.
- $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
- func_show_eval "$link_command" 'exit $?'
-
- # Now create the wrapper script.
- func_verbose "creating $output"
-
- # Quote the relink command for shipping.
- if test -n "$relink_command"; then
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
- fi
- done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Quote $ECHO for shipping.
- if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Only actually do things if not in dry run mode.
- $opt_dry_run || {
- # win32 will think the script is a binary if it has
- # a .exe suffix, so we strip it off here.
- case $output in
- *.exe) func_stripname '' '.exe' "$output"
- output=$func_stripname_result ;;
- esac
- # test for cygwin because mv fails w/o .exe extensions
- case $host in
- *cygwin*)
- exeext=.exe
- func_stripname '' '.exe' "$outputname"
- outputname=$func_stripname_result ;;
- *) exeext= ;;
- esac
- case $host in
- *cygwin* | *mingw* )
- func_dirname_and_basename "$output" "" "."
- output_name=$func_basename_result
- output_path=$func_dirname_result
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $RM $cwrappersource $cwrapper
- trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- func_emit_cwrapperexe_src > $cwrappersource
-
- # The wrapper executable is built using the $host compiler,
- # because it contains $host paths and files. If cross-
- # compiling, it, like the target executable, must be
- # executed on the $host or under an emulation environment.
- $opt_dry_run || {
- $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
- $STRIP $cwrapper
- }
-
- # Now, create the wrapper script for func_source use:
- func_ltwrapper_scriptname $cwrapper
- $RM $func_ltwrapper_scriptname_result
- trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
- $opt_dry_run || {
- # note: this script will not be executed, so do not chmod.
- if test "x$build" = "x$host" ; then
- $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
- else
- func_emit_wrapper no > $func_ltwrapper_scriptname_result
- fi
- }
- ;;
- * )
- $RM $output
- trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
-
- func_emit_wrapper no > $output
- chmod +x $output
- ;;
- esac
- }
- exit $EXIT_SUCCESS
- ;;
- esac
-
- # See if we need to build an old-fashioned archive.
- for oldlib in $oldlibs; do
-
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save $symfileobj"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
- build_libtool_libs=no
- else
- oldobjs="$old_deplibs $non_pic_objects"
- if test "$preload" = yes && test -f "$symfileobj"; then
- oldobjs="$oldobjs $symfileobj"
- fi
- fi
- addlibs="$old_convenience"
- fi
-
- if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $addlibs
- oldobjs="$oldobjs $func_extract_archives_result"
- fi
-
- # Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
- else
-
- # Add any objects from preloaded convenience libraries
- if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $dlprefiles
- oldobjs="$oldobjs $func_extract_archives_result"
- fi
-
- # POSIX demands no paths to be encoded in archives. We have
- # to avoid creating archives with duplicate basenames if we
- # might have to extract them afterwards, e.g., when creating a
- # static archive out of a convenience library, or when linking
- # the entirety of a libtool archive into another (currently
- # not supported by libtool).
- if (for obj in $oldobjs
- do
- func_basename "$obj"
- $ECHO "$func_basename_result"
- done | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $ECHO "copying selected object files to avoid basename conflicts..."
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
- func_mkdir_p "$gentop"
- save_oldobjs=$oldobjs
- oldobjs=
- counter=1
- for obj in $save_oldobjs
- do
- func_basename "$obj"
- objbase="$func_basename_result"
- case " $oldobjs " in
- " ") oldobjs=$obj ;;
- *[\ /]"$objbase "*)
- while :; do
- # Make sure we don't pick an alternate name that also
- # overlaps.
- newobj=lt$counter-$objbase
- func_arith $counter + 1
- counter=$func_arith_result
- case " $oldobjs " in
- *[\ /]"$newobj "*) ;;
- *) if test ! -f "$gentop/$newobj"; then break; fi ;;
- esac
- done
- func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- oldobjs="$oldobjs $gentop/$newobj"
- ;;
- *) oldobjs="$oldobjs $obj" ;;
- esac
- done
- fi
- eval cmds=\"$old_archive_cmds\"
-
- func_len " $cmds"
- len=$func_len_result
- if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- cmds=$old_archive_cmds
- else
- # the command line is too long to link in one step, link in parts
- func_verbose "using piecewise archive linking..."
- save_RANLIB=$RANLIB
- RANLIB=:
- objlist=
- concat_cmds=
- save_oldobjs=$oldobjs
- oldobjs=
- # Is there a better way of finding the last object in the list?
- for obj in $save_oldobjs
- do
- last_oldobj=$obj
- done
- eval test_cmds=\"$old_archive_cmds\"
- func_len " $test_cmds"
- len0=$func_len_result
- len=$len0
- for obj in $save_oldobjs
- do
- func_len " $obj"
- func_arith $len + $func_len_result
- len=$func_arith_result
- func_append objlist " $obj"
- if test "$len" -lt "$max_cmd_len"; then
- :
- else
- # the above command should be used before it gets too long
- oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
- fi
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
- objlist=
- len=$len0
- fi
- done
- RANLIB=$save_RANLIB
- oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
- eval cmds=\"\$concat_cmds\"
- else
- eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
- fi
- fi
- fi
- func_execute_cmds "$cmds" 'exit $?'
- done
-
- test -n "$generated" && \
- func_show_eval "${RM}r$generated"
-
- # Now create the libtool archive.
- case $output in
- *.la)
- old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
- func_verbose "creating $output"
-
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
- fi
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- if test "$hardcode_automatic" = yes ; then
- relink_command=
- fi
-
- # Only create the output if not a dry run.
- $opt_dry_run || {
- for installed in no yes; do
- if test "$installed" = yes; then
- if test -z "$install_libdir"; then
- break
- fi
- output="$output_objdir/$outputname"i
- # Replace all uninstalled libtool libraries with the installed ones
- newdependency_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- *.la)
- func_basename "$deplib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
- newdependency_libs="$newdependency_libs $libdir/$name"
- ;;
- *) newdependency_libs="$newdependency_libs $deplib" ;;
- esac
- done
- dependency_libs="$newdependency_libs"
- newdlfiles=
-
- for lib in $dlfiles; do
- case $lib in
- *.la)
- func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
- newdlfiles="$newdlfiles $libdir/$name"
- ;;
- *) newdlfiles="$newdlfiles $lib" ;;
- esac
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- *.la)
- # Only pass preopened files to the pseudo-archive (for
- # eventual linking with the app. that links it) if we
- # didn't already link the preopened objects directly into
- # the library:
- func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
- newdlprefiles="$newdlprefiles $libdir/$name"
- ;;
- esac
- done
- dlprefiles="$newdlprefiles"
- else
- newdlfiles=
- for lib in $dlfiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlfiles="$newdlfiles $abs"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlprefiles="$newdlprefiles $abs"
- done
- dlprefiles="$newdlprefiles"
- fi
- $RM $output
- # place dlname in correct position for cygwin
- tdlname=$dlname
- case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
- esac
- $ECHO > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags='$new_inherited_linker_flags'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Names of additional weak libraries provided by this library
-weak_library_names='$weak_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
- $ECHO >> $output "\
-relink_command=\"$relink_command\""
- fi
- done
- }
-
- # Do a symbolic link so that the libtool archive can be found in
- # LD_LIBRARY_PATH before the program is installed.
- func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
- ;;
- esac
- exit $EXIT_SUCCESS
-}
-
-{ test "$mode" = link || test "$mode" = relink; } &&
- func_mode_link ${1+"$@"}
-
-
-# func_mode_uninstall arg...
-func_mode_uninstall ()
-{
- $opt_debug
- RM="$nonopt"
- files=
- rmforce=
- exit_status=0
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- for arg
- do
- case $arg in
- -f) RM="$RM $arg"; rmforce=yes ;;
- -*) RM="$RM $arg" ;;
- *) files="$files $arg" ;;
- esac
- done
-
- test -z "$RM" && \
- func_fatal_help "you must specify an RM program"
-
- rmdirs=
-
- origobjdir="$objdir"
- for file in $files; do
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
- if test "X$dir" = X.; then
- objdir="$origobjdir"
- else
- objdir="$dir/$origobjdir"
- fi
- func_basename "$file"
- name="$func_basename_result"
- test "$mode" = uninstall && objdir="$dir"
-
- # Remember objdir for removal later, being careful to avoid duplicates
- if test "$mode" = clean; then
- case " $rmdirs " in
- *" $objdir "*) ;;
- *) rmdirs="$rmdirs $objdir" ;;
- esac
- fi
-
- # Don't error if the file doesn't exist and rm -f was used.
- if { test -L "$file"; } >/dev/null 2>&1 ||
- { test -h "$file"; } >/dev/null 2>&1 ||
- test -f "$file"; then
- :
- elif test -d "$file"; then
- exit_status=1
- continue
- elif test "$rmforce" = yes; then
- continue
- fi
-
- rmfiles="$file"
-
- case $name in
- *.la)
- # Possibly a libtool archive, so verify it.
- if func_lalib_p "$file"; then
- func_source $dir/$name
-
- # Delete the libtool libraries and symlinks.
- for n in $library_names; do
- rmfiles="$rmfiles $objdir/$n"
- done
- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
- case "$mode" in
- clean)
- case " $library_names " in
- # " " in the beginning catches empty $dlname
- *" $dlname "*) ;;
- *) rmfiles="$rmfiles $objdir/$dlname" ;;
- esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
- ;;
- uninstall)
- if test -n "$library_names"; then
- # Do each command in the postuninstall commands.
- func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
- fi
-
- if test -n "$old_library"; then
- # Do each command in the old_postuninstall commands.
- func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
- fi
- # FIXME: should reinstall the best remaining shared library.
- ;;
- esac
- fi
- ;;
-
- *.lo)
- # Possibly a libtool object, so verify it.
- if func_lalib_p "$file"; then
-
- # Read the .lo file
- func_source $dir/$name
-
- # Add PIC object to the list of files to remove.
- if test -n "$pic_object" &&
- test "$pic_object" != none; then
- rmfiles="$rmfiles $dir/$pic_object"
- fi
-
- # Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" &&
- test "$non_pic_object" != none; then
- rmfiles="$rmfiles $dir/$non_pic_object"
- fi
- fi
- ;;
-
- *)
- if test "$mode" = clean ; then
- noexename=$name
- case $file in
- *.exe)
- func_stripname '' '.exe' "$file"
- file=$func_stripname_result
- func_stripname '' '.exe' "$name"
- noexename=$func_stripname_result
- # $file with .exe has already been added to rmfiles,
- # add $file without .exe
- rmfiles="$rmfiles $file"
- ;;
- esac
- # Do a test to see if this is a libtool program.
- if func_ltwrapper_p "$file"; then
- if func_ltwrapper_executable_p "$file"; then
- func_ltwrapper_scriptname "$file"
- relink_command=
- func_source $func_ltwrapper_scriptname_result
- rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
- else
- relink_command=
- func_source $dir/$noexename
- fi
-
- # note $name still contains .exe if it was in $file originally
- # as does the version of $file that was added into $rmfiles
- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
- rmfiles="$rmfiles $objdir/lt-$name"
- fi
- if test "X$noexename" != "X$name" ; then
- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
- fi
- fi
- fi
- ;;
- esac
- func_show_eval "$RM $rmfiles" 'exit_status=1'
- done
- objdir="$origobjdir"
-
- # Try to remove the ${objdir}s in the directories where we deleted files
- for dir in $rmdirs; do
- if test -d "$dir"; then
- func_show_eval "rmdir $dir >/dev/null 2>&1"
- fi
- done
-
- exit $exit_status
-}
-
-{ test "$mode" = uninstall || test "$mode" = clean; } &&
- func_mode_uninstall ${1+"$@"}
-
-test -z "$mode" && {
- help="$generic_help"
- func_fatal_help "you must specify a MODE"
-}
-
-test -z "$exec_cmd" && \
- func_fatal_help "invalid operation mode \`$mode'"
-
-if test -n "$exec_cmd"; then
- eval exec "$exec_cmd"
- exit $EXIT_FAILURE
-fi
-
-exit $exit_status
-
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them. This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration. But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
-# vi:sw=2
-
diff --git a/tools/sci/org.eclipse.ptp.sci/man/Makefile b/tools/sci/org.eclipse.ptp.sci/man/Makefile
deleted file mode 100644
index d072a0b..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# Makefile for MMSC common library
-include ../makefile.define
-#=========================== DISPLAY SETTING ===================================
-esc = \033[
-fore = 33
-back = 41
-
-#light:1m non-light:m
-light = 1m
-
-# echo "${esc}${back};${fore};${light}making all in $$i${esc}m";
-# echo "${esc}${back};${fore};${light}installing all in $$i${esc}m";
-# echo "${esc}${back};${fore};${light}cleaning all in $$i${esc}m";
-# echo "${esc}${back};${fore};${light}verycleaningall in $$i${esc}m";
-#================================================================================
-ifeq ($(OS), AIX)
-SUBDIRS = aix
-else
-SUBDIRS = linux
-endif
-
-all:
- @for i in $(SUBDIRS); do\
- echo -e "${esc}0;37;44;1mmaking ${esc}0;32;43;1m all ${esc}0;33;41;1m in $$i ${esc}0m";\
- (cd $$i && $(MAKE) all) || exit 1; \
- done
-
-install:
- @for i in $(SUBDIRS); do \
- echo -e "${esc}0;37;44;1mmaking ${esc}0;32;43;1m installing ${esc}0;33;41;1m in $$i ${esc}0m";\
- (cd $$i && $(MAKE) install) || exit 1; \
- done
-
-clean:
- @for i in $(SUBDIRS); do \
- echo -e "${esc}0;37;44;1mmaking ${esc}0;32;43;1m cleaning ${esc}0;33;41;1m in $$i ${esc}0m";\
- (cd $$i && $(MAKE) clean) || exit 1;\
- done
-
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/Makefile b/tools/sci/org.eclipse.ptp.sci/man/aix/Makefile
deleted file mode 100644
index ec05783..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-include ../../makefile.define
-
-install:
- cp -p *.3 /usr/share/man/cat3/
-
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI.3
deleted file mode 100644
index c531dc1..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI.3
+++ /dev/null
@@ -1,63 +0,0 @@
-NAME
- SCI - General information SCI 1.0.0
-
-SCI
- SCI (Scalable Communication Infrastructure) is an open source project
- under the terms of the Eclipse Public License v1.0s, its aim is to
- provide a common, light-weight, scalable, portable, and extensible
- run-time and communication infrastructure for the deployment of
- developer tools on the emerging peta- and exa-scale high performance
- computing systems.
-
- For more information about EPL, see the following URL:
- http://www.eclipse.org/legal/epl-v10.html
-
-MAN PAGE SYNTAX
- Man pages for SCI routines are named according to C syntax, that is,
- they begin with the prefix "SCI_", all in uppercase, and the first
- letter following the "SCI_" prefix is also uppercase. The rest of the
- letters in the routine are all lowercase, for example, "SCI_Group_create".
-
-GETTING STARTED
- To compile and link SCI programs:
- % gcc -o test test.c -lsci (Linux)
- or
- % xlc_r -o test test.c -lsci_r (AIX)
-
- % g++ -o test test.cxx -lsci (Linux)
- or
- % xlC_r -o test test.cxx -lsci_r (AIX)
-
-DOCUMENTATION
- TBD
-
-VERSION
- SCI version 1.0.0
-
-LICENSE
- TBD
-
-ERRORS
- All SCI routines return an error value.
-
- For more information on SCI error codes, see \fIsci.h\fP in the include
- directory.
-
-SEE ALSO
- SCI_Initialize(3)
- SCI_Terminate(3)
- SCI_Query(3)
- SCI_Bcast(3)
- SCI_Upload(3)
- SCI_Poll(3)
- SCI_Group_create(3)
- SCI_Group_free(3)
- SCI_Group_operate(3)
- SCI_Group_operate_ext(3)
- SCI_Group_query(3)
- SCI_Filter_load(3)
- SCI_Filter_unload(3)
- SCI_Filter_bcast(3)
- SCI_Filter_upload(3)
- SCI_BE_add(3)
- SCI_BE_remove(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_BE_add.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_BE_add.3
deleted file mode 100644
index ef368e6..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_BE_add.3
+++ /dev/null
@@ -1,57 +0,0 @@
-NAME
- SCI_BE_add - Add a new back end at runtime
-
-C Syntax
- #include <sci.h>
- int SCI_BE_add(sci_be_t *be)
-
-INPUT PARAMETERS
- be
- The information of the back end to be added (INOUT).
-
-DESCRIPTION
- This subroutine is used to add a new back end at runtime, once added,
- the id of the new back end id will be added to the predefined group
- SCI_GROUP_ALL.
-
- In sci_be_t:
-
- typedef struct {
- int id;
- char *hostname;
- } sci_be_t;
-
- id indicates the id of the new back end, it can be -1 (means its id
- will be assigned by SCI) or a postive value, hostname specified the
- host to launch this new back end.
-
- Together with SCI_BE_remove, these two functions can be used to
- add/remove back ends dynamically at runtime.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- sci_be_t be;
- be.id = -1;
- be.hostname = "c890f1ec01.ppd.pok.ibm.com";
- ...
- SCI_BE_add(&be);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_BACKEND_EXISTED
- The back id already existed
- SCI_ERR_LAUNCH_FAILED
- Unable to launch the back end
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_BE_remove(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_BE_remove.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_BE_remove.3
deleted file mode 100644
index 74f857e..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_BE_remove.3
+++ /dev/null
@@ -1,41 +0,0 @@
-NAME
- SCI_BE_remove - Remove an existed back end at runtime
-
-C Syntax
- #include <sci.h>
- int SCI_BE_remove(int be_id)
-
-INPUT PARAMETERS
- be_id
- The id of the back end to be removed (IN).
-
-DESCRIPTION
- This subroutine is used to remove an existed back end at runtime, once
- removed, this back end id will be removed from all existed groups.
-
- Together with SCI_BE_add, these two functions can be used to add/remove
- back ends dynamically at runtime.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- int be_id = 0;
- ...
- SCI_BE_remove(be_id);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_BACKEND_NOTFOUND
- The back end specified by id does not exist
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_BE_add(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Bcast.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Bcast.3
deleted file mode 100644
index b28f949..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Bcast.3
+++ /dev/null
@@ -1,60 +0,0 @@
-NAME
- SCI_Bcast - Broadcasts messages from the front end to some back ends
-
-C Syntax
- #include <sci.h>
- int SCI_Bcast(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[])
-
-INPUT PARAMETERS
- filter_id
- The id of the message filter (IN).
- group
- The group which the message belongs to (IN).
- num_bufs
- The number of buffers of current message segment (IN).
- bufs
- The array of buffer locations of current message segment (IN).
- sizes
- The array of buffer sizes of current message segment (IN).
-
-DESCRIPTION
- This subroutine is used to broadcast messages from the front end to all
- or part of back ends. The receivers can be determined by group if set
- filter_id to SCI_FILTER_NULL, which means do not use message filter,
- and a predefined group named SCI_GROUP_ALL means all back ends, or can
- be determined by filter_id if a new message filter is loaded by
- SCI_Filter_load.
-
- This is a non-blocking call. The caller cannot assume that message transfer
- has completed upon the return of the function. Instead, the handler function
- defined in sci_info_t should be used to ensure the message arrival in the
- destination sides.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- char msg[256];
- int sizes[1];
- void *bufs[1];
- ...
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_GROUP_NOTFOUND
- Undefined group
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Upload(3)
- SCI_Poll(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_bcast.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_bcast.3
deleted file mode 100644
index 5cb9d13..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_bcast.3
+++ /dev/null
@@ -1,70 +0,0 @@
-NAME
- SCI_Filter_bcast - Used in a message filter to broadcasts messages to some successors
-
-C Syntax
- #include <sci.h>
- int SCI_Filter_bcast(int filter_id, int num_successors, int *successor_list, int num_bufs, void *bufs[], int sizes[])
-
-INPUT PARAMETERS
- filter_id
- The filter id of the messages to be broadcasted (IN).
- num_successors
- Number of successors (IN).
- successor_list
- The successor id list (IN).
- num_bufs
- The number of buffers of current message segment (IN).
- bufs
- The array of buffer locations of current message segment (IN).
- sizes
- The array of buffer sizes of current message segment (IN).
-
-DESCRIPTION
- This subroutine is used to broadcast messages to all or part of successors
- in a message filter. A successor id can be an agent id or a back end id,
- because a SCI execution environment is organized in a tree style, successor
- means children.
-
- The agent id can be queried by SCI_Query using query type AGENT_ID, and the
- successor id list can be queried using query type NUM_SUCCESSORS and
- SUCCESSOR_IDLIST.
-
- The filter_id can be set to SCI_FILTER_NULL, means the downward messages will
- use the current filter id, otherwise the new filter id will be used.
-
- This is a non-blocking call. The caller cannot assume that message transfer
- has completed upon the return of the function. Instead, the handler function
- defined in sci_info_t should be used to ensure the message arrival in the
- destination sides.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- char msg[256];
- int num_successors, *successor_list, sizes[1];
- void *bufs[1];
- ...
- SCI_Query(NUM_SUCCESSORS, &num_successors);
- successor_list = (int *)malloc(sizeof(int)*num_successors);
- SCI_Query(SUCCESSOR_IDLIST, successor_list);
- ...
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- SCI_Filter_bcast(SCI_FILTER_NULL, num_successors, successor_list, 1, bufs, sizes);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the filter
- SCI_ERR_INVALID_SUCCESSOR
- The successor id list contains non-existed successor id
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Filter_upload(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_load.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_load.3
deleted file mode 100644
index 641c264..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_load.3
+++ /dev/null
@@ -1,94 +0,0 @@
-NAME
- SCI_Filter_load - Load a new message filter
-
-C Syntax
- #include <sci.h>
- int SCI_Filter_load(sci_filter_info_t *filter_info)
-
-INPUT PARAMETERS
- filter_info
- The information of the filter to be loaded (IN).
-
-DESCRIPTION
- This subroutine is used to load a new message with id specifed by filter_id,
- if success, the initialization handler defined in the filter will be called.
-
- In sci_filter_info_t:
-
- typedef struct {
- int filter_id;
- char *so_file;
- } sci_filter_info_t;
-
- filter_id indicates the id of the new filter, and filter_id can be any positive
- integers. so_file indicates the absolute path of the filter library.
-
- In SCI, a message filter is specified by a shared library, in this shared
- library, at least the following three functions (name fixed) should be defined:
-
- // initialization handler
- int filter_initialize(void **user_param);
- // termination handler
- int filter_terminate(void *user_param);
- // message handler
- int filter_input(void *user_param, sci_group_t group, void *buf, int size);
-
- The user-defined function filter_input will be called each time when a new
- message is arrived. The filter_id can be used for SCI_Bcast, SCI_Upload or
- SCI_Filter_upload once the filter has been loaded successfully.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- int filter_initialize(void **user_param)
- {
- ...
- return SCI_SUCCESS;
- }
-
- int filter_terminate(void *user_param)
- {
- ...
- return SCI_SUCCESS;
- }
-
- int filter_input(void *user_param, sci_group_t group, void *buf, int size)
- {
- void *bufs[1];
- int sizes[1];
- int rc;
-
- bufs[0] = buf;
- sizes[0] = size;
-
- rc = SCI_Filter_upload(SCI_FILTER_NULL, group, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- ...
- }
-
- return SCI_SUCCESS;
- }
-
- {
- sci_filter_info_t filter_info;
- filter_info.filter_id = 1;
- filter_info.so_file = "/usr/lib/myfilter.so";
- SCI_Filter_load(&filter_info);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_FILTER_PREDEFINED
- Can't load predefined filter SCI_FILTER_NULL
- SCI_ERR_FILTER_ID
- Can't set negative filter_id
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Filter_unload(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_unload.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_unload.3
deleted file mode 100644
index 8bd47db..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_unload.3
+++ /dev/null
@@ -1,43 +0,0 @@
-NAME
- SCI_Filter_unload - Unload a previously loaded filter
-
-C Syntax
- #include <sci.h>
- int SCI_Filter_unload(int filter_id)
-
-INPUT PARAMETERS
- filter_id
- The id of the filter to be unloaded (IN).
-
-DESCRIPTION
- This subroutine is used to unload a previously loaded filter specifed by
- filter_id, if success, the termination handler defined in the filter will
- be called.
-
- Usually cleanup works can be performed in the termination handler.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- int filter_id = 1;
- ...
- SCI_Filter_unload(filter_id);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_FILTER_PREDEFINED
- Can't unload predefined filter SCI_FILTER_NULL
- SCI_ERR_FILTER_ID
- Unknown filter id or the filter is not loaded previously
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Filter_load(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_upload.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_upload.3
deleted file mode 100644
index 59c5367..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Filter_upload.3
+++ /dev/null
@@ -1,53 +0,0 @@
-NAME
- SCI_Filter_upload - Used in a message filter to uploads messages to another message filter or the parent
-
-C Syntax
- #include <sci.h>
- int SCI_Filter_upload(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[])
-
-INPUT PARAMETERS
- filter_id
- The message filter id, set to SCI_FILTER_NULL means send to the parent directly (IN).
- group
- The group information of current message segment (IN).
- num_bufs
- The number of buffers of current message segment (IN).
- bufs
- The array of buffer locations of current message segment (IN).
- sizes
- The array of buffer sizes of current message segment (IN).
-
-DESCRIPTION
- This subroutine is used to upload messages to another message filter or the parent.
- Set filter_id to SCI_FILTER_NULL means send the message to the parent directly,
- otherwise message filters can be used in a cascaded style.
-
- This is a non-blocking call. The caller cannot assume that message transfer has
- completed upon the return of the function. Instead, the handler function defined in
- sci_info_t should be used to ensure the message arrival in the destination sides.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- char msg[256];
- int sizes[1];
- void *bufs[1];
- ...
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- SCI_Filter_upload(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the filter
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Filter_bcast(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_create.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_create.3
deleted file mode 100644
index 6bb98a9..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_create.3
+++ /dev/null
@@ -1,64 +0,0 @@
-NAME
- SCI_Group_create - Create a new group from a back end list
-
-C Syntax
- #include <sci.h>
- int SCI_Group_create(int num_bes, int *be_list, sci_group_t *group)
-
-INPUT PARAMETERS
- num_bes
- Number of back ends in the new group (IN).
- be_list
- The back end id list of the new group (IN).
- group
- The output group (OUT).
-
-DESCRIPTION
- This subroutine is used to create a new group from a back end list, the list
- contains existed back end ids. The new group can be used for SCI_Bcast to
- specify destination receivers.
-
- This is a blocking call. The caller can assume group is ready to use upon the
- return of the function.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- int i, num_bes;
- sci_group_t odd_group, even_group;
- int odd_size, even_size;
- ...
- SCI_Query(NUM_BACKENDS, &num_bes);
-
- odd_size = (num_bes - num_bes%2) / 2;
- odd_list = (int *)malloc(sizeof(int) * odd_size);
- for (i=0; i<odd_size; i++) {
- odd_list[i] = i*2 + 1;
- }
- SCI_Group_create(odd_size, odd_list, &odd_group);
-
- even_size = (num_bes + num_bes%2) / 2;
- even_list = (int *)malloc(sizeof(int) * even_size);
- for (i=0; i<even_size; i++) {
- even_list[i] = i*2;
- }
- SCI_Group_create(even_size, even_list, &even_group);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_BACKEND_NOTFOUND
- The back end id list contains non-existed back end id
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Group_free(3)
- SCI_Group_operate(3)
- SCI_Group_operate_ext(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_free.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_free.3
deleted file mode 100644
index 0cd75f9..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_free.3
+++ /dev/null
@@ -1,46 +0,0 @@
-NAME
- SCI_Group_free - Free an existed group
-
-C Syntax
- #include <sci.h>
- int SCI_Group_free(sci_group_t group)
-
-INPUT PARAMETERS
- group
- The group to be freed (IN).
-
-DESCRIPTION
- This subroutine is used to free an existed group which was previously created by
- SCI_Group_create, SCI_Group_operate or SCI_Group_operate_ext.
-
- This is a blocking call. The caller can assume group can't be used again upon the
- return of the function.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- sci_group_t odd_group, even_group;
- ...
- SCI_Group_free(odd_group);
- SCI_Group_free(even_group);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_GROUP_PREDEFINED
- Can't free predefined group SCI_GROUP_ALL
- SCI_ERR_GROUP_NOTFOUND
- The group to be freed does not exist
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Group_create(3)
- SCI_Group_operate(3)
- SCI_Group_operate_ext(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_operate.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_operate.3
deleted file mode 100644
index bd2f203..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_operate.3
+++ /dev/null
@@ -1,55 +0,0 @@
-NAME
- SCI_Group_operate - Create a new group from two existed groups
-
-C Syntax
- #include <sci.h>
- int SCI_Group_operate(sci_group_t group1, sci_group_t group2, sci_op_t op, sci_group_t *newgroup)
-
-INPUT PARAMETERS
- group1
- Existed group 1 (IN).
- group2
- Existed group 2 (IN).
- op
- Indicates how to create the new group from two existed groups (IN).
- newgroup
- The output new group (OUT).
-
-DESCRIPTION
- This subroutine is used to create a new group from two existed groups, group1 and group2
- can be SCI_GROUP_ALL, and op can be SCI_UNION, SCI_INTERSECTION and SCI_DIFFERENCE. The
- new newgroup can be used for SCI_Bcast to specify destination receivers.
-
- This is a blocking call. The caller can assume newgroup is ready to use upon the return
- of the function.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- int i, num_bes;
- sci_group_t group1, group2, newgroup;
- ...
- SCI_Group_operate(group1, group2, SCI_UNION, &newgroup);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_GROUP_NOTFOUND
- The group to be freed does not exist
- SCI_ERR_INVALID_OPERATOR
- Incorrect op specified
- SCI_ERR_GROUP_EMPTY
- The new group is an empty group
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Group_create(3)
- SCI_Group_free(3)
- SCI_Group_operate_ext(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_operate_ext.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_operate_ext.3
deleted file mode 100644
index f29d587..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_operate_ext.3
+++ /dev/null
@@ -1,64 +0,0 @@
-NAME
- SCI_Group_operate_ext - Create a new group from an existed group and a back end list
-
-C Syntax
- #include <sci.h>
- int SCI_Group_operate(sci_group_t group, int num_bes, int *be_list, sci_op_t op, sci_group_t *newgroup)
-
-INPUT PARAMETERS
- group
- An existed group (IN).
- num_bes
- Number of back ends in another group (IN).
- be_list
- The back end id list of another group (IN).
- op
- Indicates how to create the new group (IN).
- newgroup
- The output new group (OUT).
-
-DESCRIPTION
- This subroutine is used to create a new group from an existed group and a back end list,
- group can be SCI_GROUP_ALL, and op can be SCI_UNION, SCI_INTERSECTION and SCI_DIFFERENCE.
- The new newgroup can be used for SCI_Bcast to specify destination receivers.
-
- This is a blocking call. The caller can assume newgroup is ready to use upon the return
- of the function.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- int i, num_bes, *be_list;
- sci_group_t group, newgroup;
- ...
- num_bes = 3;
- be_list = (int *)malloc(sizeof(int)*num_bes);
- for (i=0; i<num_bes; i++) {
- be_list[i] = i;
- }
- SCI_Group_operate_ext(group, num_bes, be_list, SCI_UNION, &newgroup);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_GROUP_NOTFOUND
- The group to be freed does not exist
- SCI_ERR_BACKEND_NOTFOUND
- The back end id list contains non-existed back end id
- SCI_ERR_INVALID_OPERATOR
- Incorrect op specified
- SCI_ERR_GROUP_EMPTY
- The new group is an empty group
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Group_create(3)
- SCI_Group_free(3)
- SCI_Group_operate(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_query.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_query.3
deleted file mode 100644
index efc072c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Group_query.3
+++ /dev/null
@@ -1,60 +0,0 @@
-NAME
- SCI_Group_query - Queries runtime information of an existed group
-
-C Syntax
- #include <sci.h>
- int SCI_Group_query(sci_group_t group, sci_group_query_t query, void *ret_val)
-
-INPUT PARAMETERS
- group
- The group to be queried (IN).
- query
- Specifies the type of query you want to request (IN).
- ret_val
- Specifies the reference parameter for SCI to store as the result of the query.
- The value of this parameter cannot be NULL (OUT).
-
-DESCRIPTION
- This subroutine is used to query runtime statistics of an existed group. SCI defines
- a set of query types as an enumeration in sci.h.
-
- For example, you can query the number of back ends in a group using the query value
- of GROUP_MEMBER_NUM: SCI_Group_query(group, GROUP_MEMBER_NUM, &ret_val);
-
- In SCI, sci_group_query_t defines the following valid query types:
-
- GROUP_MEMBER_NUM
- Query the number of back ends in the group
- GROUP_MEMBER
- Query the back end id list in the group
- GROUP_SUCCESSOR_NUM
- Query the number of successors in the group
- GROUP_SUCCESSOR
- Query the successor id list in the group
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- int be_num, *be_list;
- sci_group_t group;
- ...
- SCI_Group_query(group, GROUP_MEMBER_NUM, &be_num);
- be_list = (int *)malloc(sizeof(int)*be_num);
- SCI_Group_query(group, GROUP_MEMBER, be_list);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_UNKNOWN_INFO
- Can't set NULL to ret_val
- SCI_ERR_INVALID_CALLER
- Can't be called from back end
- SCI_ERR_GROUP_NOTFOUND
- The group to be freed does not exist
-
-SEE ALSO
- SCI_Query(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Initialize.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Initialize.3
deleted file mode 100644
index 615e860..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Initialize.3
+++ /dev/null
@@ -1,147 +0,0 @@
-NAME
- SCI_Initialize - Initializes the SCI execution environment
-
-C Syntax
- #include <sci.h>
- int SCI_Initialize(sci_info_t *info)
-
-INPUT PARAMETERS
- info
- Pointer to the SCI startup information (IN).
-
-DESCRIPTION
- This routine must be called before any other SCI routines are called. SCI
- can be initialized more than once; subsequent calls to SCI_Initialize are
- erroneous unless SCI_Terminate be called.
-
- All SCI programs must contain a call to SCI_Initialize. SCI_Initialize
- accepts info as its argument:
-
- typedef union {
- sci_end_type_t type;
- sci_fe_info_t fe_info;
- sci_be_info_t be_info;
- } sci_info_t;
-
- type can be SCI_FRONT_END or SCI_BACK_END.
-
- In sci_fe_info_t:
-
- typedef struct {
- sci_end_type_t type;
- sci_mode_t mode;
- SCI_msg_hndlr *hndlr;
- void *param;
- SCI_err_hndlr *err_hndlr;
- char *hostfile;
- char *bepath;
- char **beenvp;
- char reserve[64];
- } sci_fe_info_t;
-
- mode indicates the working mode of the front end, can be interrupt mode
- (SCI_INTERRUPT) or polling mode (SCI_POLLING), hndlr specified the message
- handler and it can't be NULL, param specifies user-defined parameter in the
- message handler, err_hndlr specifies the error handler when errors occur and
- it can be NULL, hostfile specifies the host list to initialize back ends,
- bepath specifies the command to run a back end, beenvp specifies any additional
- environment variables user wants to pass to back ends and it should be ended
- with a NULL sign.
-
- In sci_be_info_t:
-
- typedef struct {
- sci_end_type_t type;
- sci_mode_t mode;
- SCI_msg_hndlr *hndlr;
- void *param;
- SCI_err_hndlr *err_hndlr;
- char reserve[64];
- } sci_be_info_t;
-
- mode indicates the working mode of the front end, can be interrupt mode
- (SCI_INTERRUPT) or polling mode (SCI_POLLING), hndlr specified the message
- handler and it can't be NULL, param specifies user-defined parameter in the
- message handler, err_hndlr specifies the error handler when errors occur and
- it can be NULL.
-
- Each program can be started as a front end or a back end, and can work in
- polling mode or interrupt mode, furthermore, besides sci_info_t, the following
- environment variables begin with the prefix "SCI_" can be used to tune SCI
- programs (if a data field in sci_info_t indicates the same attribute as an
- environment variable, it will be overwritten):
-
- SCI_HOST_FILE
- host file, same as fe_info.hostfile in sci_info_t
- SCI_BACKEND_NUM
- number of back ends when startup
- SCI_DEBUG_FANOUT
- fanout of the SCI tree structure, the default value is 32
- SCI_BACKEND_PATH
- command to start a back end, same as fe_info.bepath in sci_info_t, can
- contain arguments, e.g., "/usr/bin/pdb_be 2"
- SCI_USE_EXTLAUNCHER
- set to "yes" to indicate all back ends are started by an external launcher,
- the default value is "no"
- SCI_ENABLE_FAILOVER
- set to "yes" to indicate SCI will try to recover connections when facing
- connection problems, the default value is "no"
- SCI_REMOTE_SHELL
- can be "rsh", "ssh" or "", indicates how underlying SCI processes (agents,
- back ends) will be started, "rsh" means using rshell, "ssh" means using ssh,
- "" means using sci daemon, it's the default value
- SCI_DEVICE_NAME
- can be "" or an ifconfig interface name, e.g., "ib0", if set to "", the
- connection path indicated by the first interface will be used, otherwise the
- specified connection path will be used, the default value is the first ifconfig
- device name
- SCI_SEGMENT_SIZE
- message segment size used in SCI pipeline mechanism, when the size of downstream
- messages exceed a threshold (1.5 * size), this mechanism will be enabled
- automatically by splitting the large message into smaller segments to
- increase the overall bandwidth, the default size is 46720 (bytes)
- SCI_SYNC_INIT
- if set to yes, the SCI_Initilize will block until all the backends are launched,
- otherwise it will return immediately. The default value is no.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- void handler(void *user_param, sci_group_t group, void *buffer, int size)
- {
- ...
- }
-
- {
- sci_info_t info;
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_INTERRUPT;
- info.fe_info.hostfile = "./host.list";
- info.fe_info.bepath = "/usr/bin/pdb_be";
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
- SCI_Initialize(&info);
- ...
- SCI_Terminate();
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_INVALID_ENDTYPE
- Invalid end type, can only be SCI_FRONT_END or SCI_BACK_END
- SCI_ERR_NO_MEM
- Out of memory
- SCI_ERR_INVALID_JOBKEY
- Invalid job key specified by SCI_JOB_KEY (only for BE)
- SCI_ERR_INVALID_HOSTFILE
- Invalid host file (only for FE)
- SCI_ERR_UNKNOWN_INFO
- Unknown back end info (only for FE)
- SCI_ERR_LAUNCH_FAILED
- Failed to launch client(s) (only for FE)
- SCI_ERR_INITIALIZE_FAILED
- Initialization failed
-
-SEE ALSO
- SCI_Terminate(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Poll.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Poll.3
deleted file mode 100644
index b50526c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Poll.3
+++ /dev/null
@@ -1,57 +0,0 @@
-NAME
- SCI_Poll - Check for arriving messages in polling mode
-
-C Syntax
- #include <sci.h>
- int SCI_Poll(int timeout)
-
-INPUT PARAMETERS
- timeout
- Timeout if no message arrives in timeout milliseconds, <0 means no timeout (IN).
-
-DESCRIPTION
- This subroutine is used to check for arriving messages in polling mode. If a new
- message is arrived, user-registered handler in sci_info_t will be called to handle
- the message, otherwise a timeout will occur after timeout milliseconds elapsed.
-
- If timeout is set to a negative value, no timeout will occur, and SCI_Poll can only
- return when a new message arrived or errors occurred.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- int pollFd, extFd, maxFd;
- fd_set fdSet;
- SCI_Query(POLLING_FD, &pollFd);
- ...
- FD_ZERO(&fdSet);
- FD_SET(pollFd, &fdSet);
- FD_SET(extFd, &fdSet);
- maxFd = (pollFd > extFd) ? pollFd : extFd;
- select(maxFd+1, &fdSet, 0, 0, NULL);
- if (FD_ISSET(pollFd, &fdSet)) {
- SCI_Poll(-1);
- }
- if (FD_ISSET(extFd, &fdSet)) {
- ...
- }
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_MODE
- Can only be used in polling mode
- SCI_ERR_POLL_INVALID
- Invalid polling calls
- SCI_ERR_POLL_TIMEOUT
- A polling timeout occurs after timeout milliseconds elapsed
-
-SEE ALSO
- SCI_Bcast(3)
- SCI_Upload(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Query.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Query.3
deleted file mode 100644
index 52159ef..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Query.3
+++ /dev/null
@@ -1,70 +0,0 @@
-NAME
- SCI_Query - Queries runtime information of the SCI execution environment
-
-C Syntax
- #include <sci.h>
- int SCI_Query(sci_query_t query, void *ret_val)
-
-INPUT PARAMETERS
- query
- Specifies the type of query you want to request (IN).
- ret_val
- Specifies the reference parameter for SCI to store as the result of the
- query. The value of this parameter cannot be NULL (OUT).
-
-DESCRIPTION
- This subroutine is used to query runtime settings and statistics from SCI.
- SCI defines a set of query types as an enumeration in sci.h.
-
- For example, you can query the backend id using the query value of BACKEND_ID:
- SCI_Query(BACKEND_ID, &ret_val);
-
- In SCI, sci_query_t defines the following valid query types:
-
- JOB_KEY
- Query the job key of the current job
- NUM_BACKENDS
- Query the number of back ends in the job
- BACKEND_ID
- Query the back end id of current back end in the job
- POLLING_FD
- Query the external polling file descriptor in polling mode of the current job
- NUM_FILTERS
- Query the number of loaded filters in the current job
- FILTER_IDLIST
- Query the loaded filter id list of the current job
- AGENT_ID
- Query the agent id of current agent in the job
- NUM_SUCCESSORS
- Query the number of successors of current entity in the job
- SUCCESSOR_IDLIST
- Query the successor id list of current entity in the job
- HEALTH_STATUS
- Query the running status of current entity in the job, can be 0 (normal) or
- 1 (exited)
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- int my_id;
- SCI_Query(BACKEND_ID, &my_id);
- int be_num;
- SCI_Query(NUM_BACKENDS, &be_num);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_UNKNOWN_INFO
- Can't set NULL to ret_val
- SCI_ERR_INVALID_CALLER
- Invalid query type for current entity. e.g., BACKEND_NUM can only be used
- for back end
- SCI_ERR_MODE
- For POLLING_FD only, can only be used in polling mode
-
-SEE ALSO
- SCI_Group_query(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Terminate.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Terminate.3
deleted file mode 100644
index 3524d49..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Terminate.3
+++ /dev/null
@@ -1,40 +0,0 @@
-NAME
- SCI_Terminate - Terminates the SCI execution environment
-
-C Syntax
- #include <sci.h>
- int SCI_Terminate()
-
-INPUT PARAMETERS
- none
-
-DESCRIPTION
- Make sure this routine is the last SCI call. Any SCI calls made after
- SCI_Terminate raise an error. You must be sure that all pending communications
- have completed before calls SCI_Terminate.
-
- Although SCI_Terminate terminates SCI processing, it does not terminate the
- front end or back end. It is possible to continue with non-SCI processing
- after calling SCI_Terminate, but no other SCI calls can be made unless
- SCI_Initialize be called again.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- /* declare variables */
- SCI_Initialize(&info);
- ...
- SCI_Terminate();
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Initialize(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Upload.3 b/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Upload.3
deleted file mode 100644
index 0a53018..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/aix/SCI_Upload.3
+++ /dev/null
@@ -1,55 +0,0 @@
-NAME
- SCI_Upload - Uploads messages from a back end to the front end
-
-C Syntax
- #include <sci.h>
- int SCI_Upload(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[])
-
-INPUT PARAMETERS
- filter_id
- The id of the message filter (IN).
- group
- The group which the message belongs to (IN).
- num_bufs
- The number of buffers of current message segment (IN).
- bufs
- The array of buffer locations of current message segment (IN).
- sizes
- The array of buffer sizes of current message segment (IN).
-
-DESCRIPTION
- This subroutine is used to upload message from a back end to the front end. The
- message can be sent directly to the front end if set filter_id to SCI_FILTER_NULL,
- or can be sent to the filter indicated by filter_id if a new message filter is loaded
- by SCI_Filter_load.
-
- This is a non-blocking call. The caller cannot assume that message transfer has
- completed upon the return of the function. Instead, the handler function defined in
- sci_info_t should be used to ensure the message arrival in the destination sides.
-
- For more information, please refer to SCI's online documents.
-
-EXAMPLE
- {
- char msg[256];
- int sizes[1];
- void *bufs[1];
- ...
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- SCI_Upload(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- }
-
-ERRORS
- All SCI routines return an error value.
-
- SCI_ERR_UNINTIALIZED
- Uninitialized SCI execution environment
- SCI_ERR_INVALID_CALLER
- Can only be called in the front end
- SCI_ERR_NO_MEM
- Out of memory
-
-SEE ALSO
- SCI_Bcast(3)
- SCI_Poll(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/Makefile b/tools/sci/org.eclipse.ptp.sci/man/linux/Makefile
deleted file mode 100644
index ec05783..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-include ../../makefile.define
-
-install:
- cp -p *.3 /usr/share/man/cat3/
-
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI.3
deleted file mode 100644
index 90dc2f9..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI.3
+++ /dev/null
@@ -1,80 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI\fP \- General information SCI 1.0.0
-
-.SH SCI
-.ft R
-SCI (Scalable Communication Infrastructure) is an open source project under
-under the terms of the Eclipse Public License v1.0s, its aim is to provide
-a common, light-weight, scalable, portable, and extensible run-time and
-communication infrastructure for the deployment of developer tools on the
-emerging peta- and exa-scale high performance computing systems.
-.sp
-For more information about EPL, see the following URL:
-.sp
- http://www.eclipse.org/legal/epl-v10.html
-
-.SH MAN PAGE SYNTAX
-.ft R
-Man pages for SCI routines are named according to C syntax, that is, they
-begin with the prefix "SCI_", all in uppercase, and the first letter following
-the "SCI_" prefix is also uppercase. The rest of the letters in the routine are
-all lowercase, for example, "SCI_Group_create".
-
-.SH GETTING STARTED
-.ft R
-To compile and link SCI programs:
-.sp
-% gcc -o test test.c -lsci (Linux)
-.nf
- or
-.nf
-% xlc_r -o test test.c -lsci_r (AIX)
-.sp
-% g++ -o test test.cxx -lsci (Linux)
-.nf
- or
-.nf
-% xlC_r -o test test.cxx -lsci_r (AIX)
-
-.SH DOCUMENTATION
-.ft R
-TBD
-
-.SH VERSION
-.ft R
-SCI version 1.0.0
-
-.SH LICENSE
-.ft R
-TBD
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-For more information on SCI error codes, see \fIsci.h\fP in the include
-directory.
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Initialize\fP(3)
-\fBSCI_Terminate\fP(3)
-\fBSCI_Query\fP(3)
-\fBSCI_Bcast\fP(3)
-\fBSCI_Upload\fP(3)
-\fBSCI_Poll\fP(3)
-\fBSCI_Group_create\fP(3)
-\fBSCI_Group_free\fP(3)
-\fBSCI_Group_operate\fP(3)
-\fBSCI_Group_operate_ext\fP(3)
-\fBSCI_Group_query\fP(3)
-\fBSCI_Filter_load\fP(3)
-\fBSCI_Filter_unload\fP(3)
-\fBSCI_Filter_bcast\fP(3)
-\fBSCI_Filter_upload\fP(3)
-\fBSCI_BE_add\fP(3)
-\fBSCI_BE_remove\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_BE_add.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_BE_add.3
deleted file mode 100644
index 362b4fb..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_BE_add.3
+++ /dev/null
@@ -1,80 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_BE_add 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_BE_add\fP \- Add a new back end at runtime
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_BE_add(sci_be_t *\fIbe\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-be
-The information of the back end to be added (INOUT).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to add a new back end at runtime, once added,
-the id of the new back end id will be added to the predefined group
-\fBSCI_GROUP_ALL\fP.
-.sp
-In \fIsci_be_t\fP:
-.sp
-.nf
- typedef struct {
- int id;
- char *hostname;
- } sci_be_t;
-.fi
-.sp
-\fIid\fP indicates the id of the new back end, it can be -1 (means its id will be
-assigned by SCI) or a postive value, \fIhostname\fP specified the host to launch
-this new back end.
-.sp
-Together with \fBSCI_BE_remove\fP, these two functions can be used to add/remove
-back ends dynamically at runtime.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- sci_be_t be;
- be.id = -1;
- be.hostname = "c890f1ec01.ppd.pok.ibm.com";
- ...
- SCI_BE_add(&be);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_BACKEND_EXISTED
-The back id already existed
-.TP 1i
-SCI_ERR_LAUNCH_FAILED
-Unable to launch the back end
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_BE_remove\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_BE_remove.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_BE_remove.3
deleted file mode 100644
index c722879..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_BE_remove.3
+++ /dev/null
@@ -1,61 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_BE_remove 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_BE_remove\fP \- Remove an existed back end at runtime
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_BE_remove(int \fIbe_id\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-be_id
-The id of the back end to be removed (IN).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to remove an existed back end at runtime, once removed,
-this back end id will be removed from all existed groups.
-.sp
-Together with \fBSCI_BE_add\fP, these two functions can be used to add/remove
-back ends dynamically at runtime.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- int be_id = 0;
- ...
- SCI_BE_remove(be_id);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_BACKEND_NOTFOUND
-The back end specified by \fIid\fP does not exist
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_BE_add\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Bcast.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Bcast.3
deleted file mode 100644
index 80ed073..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Bcast.3
+++ /dev/null
@@ -1,82 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Bcast 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Bcast\fP \- Broadcasts messages from the front end to some back ends
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Bcast(int \fIfilter_id\fP, sci_group_t \fIgroup\fP, int \fInum_bufs\fP, void *\fIbufs\fP[], int \fIsizes\fP[])
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-filter_id
-The id of the message filter (IN).
-.TP 1i
-group
-The group which the message belongs to (IN).
-.TP 1i
-num_bufs
-The number of buffers of current message segment (IN).
-.TP 1i
-bufs
-The array of buffer locations of current message segment (IN).
-.TP 1i
-sizes
-The array of buffer sizes of current message segment (IN).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to broadcast messages from the front end to all or part of back
-ends. The receivers can be determined by \fIgroup\fP if set \fIfilter_id\fP to
-\fBSCI_FILTER_NULL\fP, which means do not use message filter, and a predefined
-group named \fBSCI_GROUP_ALL\fP means all back ends, or can be determined
-by \fIfilter_id\fP if a new message filter is loaded by \fBSCI_Filter_load\fP.
-.sp
-This is a non-blocking call. The caller cannot assume that message transfer has completed
-upon the return of the function. Instead, the handler function defined in \fIsci_info_t\fP
-should be used to ensure the message arrival in the destination sides.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- char msg[256];
- int sizes[1];
- void *bufs[1];
- ...
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_GROUP_NOTFOUND
-Undefined \fIgroup\fP
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Upload\fP(3)
-\fBSCI_Poll\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_bcast.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_bcast.3
deleted file mode 100644
index e0312cd..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_bcast.3
+++ /dev/null
@@ -1,93 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Filter_bcast 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Filter_bcast\fP \- Used in a message filter to broadcasts messages to some successors
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Filter_bcast(int \fIfilter_id\fP, int \fInum_successors\fP, int *\fIsuccessor_list\fP, int \fInum_bufs\fP, void *\fIbufs\fP[], int \fIsizes\fP[])
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-filter_id
-The filter id of the messages to be broadcasted (IN).
-.TP 1i
-num_successors
-Number of successors (IN).
-.TP 1i
-successor_list
-The successor id list (IN).
-.TP 1i
-num_bufs
-The number of buffers of current message segment (IN).
-.TP 1i
-bufs
-The array of buffer locations of current message segment (IN).
-.TP 1i
-sizes
-The array of buffer sizes of current message segment (IN).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to broadcast messages to all or part of successors in a message
-filter. A \fBsuccessor\fP id can be an agent id or a back end id, because a SCI execution
-environment is organized in a tree style, \fBsuccessor\fP means children.
-.sp
-The agent id can be queried by \fBSCI_Query\fP using query type \fBAGENT_ID\fP, and
-the successor id list can be queried using query type \fBNUM_SUCCESSORS\fP and
-\fBSUCCESSOR_IDLIST\fP.
-.sp
-The \fIfilter_id\fP can be set to SCI_FILTER_NULL, means the downward messages will use
-the current filter id, otherwise the new filter id will be used.
-.sp
-This is a non-blocking call. The caller cannot assume that message transfer has completed
-upon the return of the function. Instead, the handler function defined in \fIsci_info_t\fP
-should be used to ensure the message arrival in the destination sides.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- char msg[256];
- int num_successors, *successor_list, sizes[1];
- void *bufs[1];
- ...
- SCI_Query(NUM_SUCCESSORS, &num_successors);
- successor_list = (int *)malloc(sizeof(int)*num_successors);
- SCI_Query(SUCCESSOR_IDLIST, successor_list);
- ...
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- SCI_Filter_bcast(SCI_FILTER_NULL, num_successors, successor_list, 1, bufs, sizes);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the filter
-.TP 1i
-SCI_ERR_INVALID_SUCCESSOR
-The successor id list contains non-existed successor id
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Filter_upload\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_load.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_load.3
deleted file mode 100644
index 8ca5e8d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_load.3
+++ /dev/null
@@ -1,119 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Filter_load 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Filter_load\fP \- Load a new message filter
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Filter_load(sci_filter_info_t *\fIfilter_info\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-filter_info
-The information of the filter to be loaded (IN).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to load a new message with id specifed by \fIfilter_id\fP,
-if success, the initialization handler defined in the filter will be called.
-.sp
-In \fIsci_filter_info_t\fP:
-.sp
-.nf
- typedef struct {
- int filter_id;
- char *so_file;
- } sci_filter_info_t;
-.fi
-.sp
-\fIfilter_id\fP indicates the id of the new filter, and \fIfilter_id\fP can be any positive
-integers. \fIso_file\fP indicates the absolute path of the filter library.
-.sp
-In SCI, a message filter is specified by a shared library, in this shared library,
-at least the following three functions (name fixed) should be defined:
-.sp
-.nf
- // initialization handler
- int filter_initialize(void **user_param);
- // termination handler
- int filter_terminate(void *user_param);
- // message handler
- int filter_input(void *user_param, sci_group_t group, void *buf, int size);
-.fi
-.sp
-The user-defined function \fBfilter_input\fP will be called each time when a new
-message is arrived. The \fIfilter_id\fP can be used for \fBSCI_Bcast\fP, \fBSCI_Upload\fP
-or \fBSCI_Filter_upload\fP once the filter has been loaded successfully.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- int filter_initialize(void **user_param)
- {
- ...
- return SCI_SUCCESS;
- }
-
- int filter_terminate(void *user_param)
- {
- ...
- return SCI_SUCCESS;
- }
-
- int filter_input(void *user_param, sci_group_t group, void *buf, int size)
- {
- void *bufs[1];
- int sizes[1];
- int rc;
-
- bufs[0] = buf;
- sizes[0] = size;
-
- rc = SCI_Filter_upload(SCI_FILTER_NULL, group, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- ...
- }
-
- return SCI_SUCCESS;
- }
-
- {
- sci_filter_info_t filter_info;
- filter_info.filter_id = 1;
- filter_info.so_file = "/usr/lib/myfilter.so";
- SCI_Filter_load(&filter_info);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_FILTER_PREDEFINED
-Can't load predefined filter SCI_FILTER_NULL
-.TP 1i
-SCI_ERR_FILTER_ID
-Can't set negative \fIfilter_id\fP
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Filter_unload\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_unload.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_unload.3
deleted file mode 100644
index 92a3198..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_unload.3
+++ /dev/null
@@ -1,63 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Filter_unload 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Filter_unload\fP \- Unload a previously loaded filter
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Filter_unload(int \fIfilter_id\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-filter_id
-The id of the filter to be unloaded (IN).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to unload a previously loaded filter specifed by \fIfilter_id\fP,
-if success, the termination handler defined in the filter will be called.
-.sp
-Usually cleanup works can be performed in the termination handler.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- int filter_id = 1;
- ...
- SCI_Filter_unload(filter_id);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_FILTER_PREDEFINED
-Can't unload predefined filter SCI_FILTER_NULL
-.TP 1i
-SCI_ERR_FILTER_ID
-Unknown filter id or the filter is not loaded previously
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Filter_load\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_upload.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_upload.3
deleted file mode 100644
index fab2e9a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Filter_upload.3
+++ /dev/null
@@ -1,76 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Filter_upload 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Filter_upload\fP \- Used in a message filter to uploads messages to another message filter or the parent
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Filter_upload(int \fIfilter_id\fP, sci_group_t \fIgroup\fP, int \fInum_bufs\fP, void *\fIbufs\fP[], int \fIsizes\fP[])
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-filter_id
-The message filter id, set to \fBSCI_FILTER_NULL\fP means send to the parent directly (IN).
-.TP 1i
-group
-The group information of current message segment (IN).
-.TP 1i
-num_bufs
-The number of buffers of current message segment (IN).
-.TP 1i
-bufs
-The array of buffer locations of current message segment (IN).
-.TP 1i
-sizes
-The array of buffer sizes of current message segment (IN).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to upload messages to another message filter or the parent.
-Set \fIfilter_id\fP to \fBSCI_FILTER_NULL\fP means send the message to the parent
-directly, otherwise message filters can be used in a cascaded style.
-.sp
-This is a non-blocking call. The caller cannot assume that message transfer has completed
-upon the return of the function. Instead, the handler function defined in \fIsci_info_t\fP
-should be used to ensure the message arrival in the destination sides.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- char msg[256];
- int sizes[1];
- void *bufs[1];
- ...
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- SCI_Filter_upload(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the filter
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Filter_bcast\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_create.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_create.3
deleted file mode 100644
index b7732d5..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_create.3
+++ /dev/null
@@ -1,86 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Group_create 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Group_create\fP \- Create a new group from a back end list
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Group_create(int \fInum_bes\fP, int *\fIbe_list\fP, sci_group_t *\fIgroup\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-num_bes
-Number of back ends in the new group (IN).
-.TP 1i
-be_list
-The back end id list of the new group (IN).
-.TP 1i
-group
-The output group (OUT).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to create a new group from a back end list, the list contains
-existed back end ids. The new \fIgroup\fP can be used for \fBSCI_Bcast\fP to specify
-destination receivers.
-.sp
-This is a blocking call. The caller can assume \fIgroup\fP is ready to use upon the return
-of the function.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- int i, num_bes;
- sci_group_t odd_group, even_group;
- int odd_size, even_size;
- ...
- SCI_Query(NUM_BACKENDS, &num_bes);
-
- odd_size = (num_bes - num_bes%2) / 2;
- odd_list = (int *)malloc(sizeof(int) * odd_size);
- for (i=0; i<odd_size; i++) {
- odd_list[i] = i*2 + 1;
- }
- SCI_Group_create(odd_size, odd_list, &odd_group);
-
- even_size = (num_bes + num_bes%2) / 2;
- even_list = (int *)malloc(sizeof(int) * even_size);
- for (i=0; i<even_size; i++) {
- even_list[i] = i*2;
- }
- SCI_Group_create(even_size, even_list, &even_group);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_BACKEND_NOTFOUND
-The back end id list contains non-existed back end id
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Group_free\fP(3)
-\fBSCI_Group_operate\fP(3)
-\fBSCI_Group_operate_ext\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_free.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_free.3
deleted file mode 100644
index d872798..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_free.3
+++ /dev/null
@@ -1,67 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Group_free 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Group_free\fP \- Free an existed group
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Group_free(sci_group_t \fIgroup\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-group
-The group to be freed (IN).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to free an existed group which was previously created by \fBSCI_Group_create\fP,
-\fBSCI_Group_operate\fP or \fBSCI_Group_operate_ext\fP.
-.sp
-This is a blocking call. The caller can assume \fIgroup\fP can't be used again upon the return
-of the function.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- sci_group_t odd_group, even_group;
- ...
- SCI_Group_free(odd_group);
- SCI_Group_free(even_group);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_GROUP_PREDEFINED
-Can't free predefined group \fBSCI_GROUP_ALL\fP
-.TP 1i
-SCI_ERR_GROUP_NOTFOUND
-The group to be freed does not exist
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Group_create\fP(3)
-\fBSCI_Group_operate\fP(3)
-\fBSCI_Group_operate_ext\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_operate.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_operate.3
deleted file mode 100644
index f810273..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_operate.3
+++ /dev/null
@@ -1,81 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Group_operate 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Group_operate\fP \- Create a new group from two existed groups
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Group_operate(sci_group_t \fIgroup1\fP, sci_group_t \fIgroup2\fP, sci_op_t \fIop\fP, sci_group_t *\fInewgroup\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-group1
-Existed group 1 (IN).
-.TP 1i
-group2
-Existed group 2 (IN).
-.TP 1i
-op
-Indicates how to create the new group from two existed groups (IN).
-.TP 1i
-newgroup
-The output new group (OUT).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to create a new group from two existed groups, \fIgroup1\fP and
-\fIgroup2\fP can be \fBSCI_GROUP_ALL\fP, and \fIop\fP can be \fBSCI_UNION\fP,
-\fBSCI_INTERSECTION\fP and \fBSCI_DIFFERENCE\fP. The new \fInewgroup\fP can be
-used for \fBSCI_Bcast\fP to specify destination receivers.
-.sp
-This is a blocking call. The caller can assume \fInewgroup\fP is ready to use upon the return
-of the function.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- int i, num_bes;
- sci_group_t group1, group2, newgroup;
- ...
- SCI_Group_operate(group1, group2, SCI_UNION, &newgroup);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_GROUP_NOTFOUND
-The group to be freed does not exist
-.TP 1i
-SCI_ERR_INVALID_OPERATOR
-Incorrect \fIop\fP specified
-.TP 1i
-SCI_ERR_GROUP_EMPTY
-The new group is an empty group
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Group_create\fP(3)
-\fBSCI_Group_free\fP(3)
-\fBSCI_Group_operate_ext\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_operate_ext.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_operate_ext.3
deleted file mode 100644
index 4035e56..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_operate_ext.3
+++ /dev/null
@@ -1,92 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Group_operate_ext 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Group_operate_ext\fP \- Create a new group from an existed group and a back end list
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Group_operate(sci_group_t \fIgroup\fP, int \fInum_bes\fP, int *\fIbe_list\fP, sci_op_t \fIop\fP, sci_group_t *\fInewgroup\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-group
-An existed group (IN).
-.TP 1i
-num_bes
-Number of back ends in another group (IN).
-.TP 1i
-be_list
-The back end id list of another group (IN).
-.TP 1i
-op
-Indicates how to create the new group (IN).
-.TP 1i
-newgroup
-The output new group (OUT).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to create a new group from an existed group and a back end list,
-\fIgroup\fP can be \fBSCI_GROUP_ALL\fP, and \fIop\fP can be \fBSCI_UNION\fP,
-\fBSCI_INTERSECTION\fP and \fBSCI_DIFFERENCE\fP. The new \fInewgroup\fP can be
-used for \fBSCI_Bcast\fP to specify destination receivers.
-.sp
-This is a blocking call. The caller can assume \fInewgroup\fP is ready to use upon the return
-of the function.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- int i, num_bes, *be_list;
- sci_group_t group, newgroup;
- ...
- num_bes = 3;
- be_list = (int *)malloc(sizeof(int)*num_bes);
- for (i=0; i<num_bes; i++) {
- be_list[i] = i;
- }
- SCI_Group_operate_ext(group, num_bes, be_list, SCI_UNION, &newgroup);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_GROUP_NOTFOUND
-The group to be freed does not exist
-.TP 1i
-SCI_ERR_BACKEND_NOTFOUND
-The back end id list contains non-existed back end id
-.TP 1i
-SCI_ERR_INVALID_OPERATOR
-Incorrect \fIop\fP specified
-.TP 1i
-SCI_ERR_GROUP_EMPTY
-The new group is an empty group
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Group_create\fP(3)
-\fBSCI_Group_free\fP(3)
-\fBSCI_Group_operate\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_query.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_query.3
deleted file mode 100644
index 7ce4192..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Group_query.3
+++ /dev/null
@@ -1,87 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Group_query 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Group_query\fP \- Queries runtime information of an existed group
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Group_query(sci_group_t \fIgroup\fP, sci_group_query_t \fIquery\fP, void *\fIret_val\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-group
-The group to be queried (IN).
-.TP 1i
-query
-Specifies the type of query you want to request (IN).
-.TP 1i
-ret_val
-Specifies the reference parameter for SCI to store as the result of the query.
-The value of this parameter cannot be NULL (OUT).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to query runtime statistics of an existed group.
-SCI defines a set of query types as an enumeration in \fIsci.h\fP.
-.sp
-For example, you can query the number of back ends in a group using the
-query value of \fBGROUP_MEMBER_NUM\fP: SCI_Group_query(group, GROUP_MEMBER_NUM, &ret_val);
-.sp
-In SCI, sci_group_query_t defines the following valid query types:
-.sp
-.TP 1i
-GROUP_MEMBER_NUM
-Query the number of back ends in the \fIgroup\fP
-.TP 1i
-GROUP_MEMBER
-Query the back end id list in the \fIgroup\fP
-.TP 1i
-GROUP_SUCCESSOR_NUM
-Query the number of successors in the \fIgroup\fP
-.TP 1i
-GROUP_SUCCESSOR
-Query the successor id list in the \fIgroup\fP
-.TP 0i
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- int be_num, *be_list;
- sci_group_t group;
- ...
- SCI_Group_query(group, GROUP_MEMBER_NUM, &be_num);
- be_list = (int *)malloc(sizeof(int)*be_num);
- SCI_Group_query(group, GROUP_MEMBER, be_list);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_UNKNOWN_INFO
-Can't set NULL to \fIret_val\fP
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can't be called from back end
-.TP 1i
-SCI_ERR_GROUP_NOTFOUND
-The group to be freed does not exist
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Query\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Initialize.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Initialize.3
deleted file mode 100644
index e6fe587..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Initialize.3
+++ /dev/null
@@ -1,186 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Initialize 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Initialize\fP \- Initializes the SCI execution environment
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Initialize(sci_info_t *\fIinfo\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-info
-Pointer to the SCI startup information (IN).
-
-.SH DESCRIPTION
-.ft R
-This routine must be called before any other SCI routines are called.
-SCI can be initialized more than once; subsequent calls to SCI_Initialize
-are erroneous unless SCI_Terminate be called.
-.sp
-All SCI programs must contain a call to SCI_Initialize. SCI_Initialize
-accepts \fIinfo\fP as its argument:
-.sp
-.nf
- typedef union {
- sci_end_type_t type;
- sci_fe_info_t fe_info;
- sci_be_info_t be_info;
- } sci_info_t;
-.fi
-.sp
-\fItype\fP can be \fBSCI_FRONT_END\fP or \fBSCI_BACK_END\fP.
-.sp
-In \fIsci_fe_info_t\fP:
-.sp
-.nf
- typedef struct {
- sci_end_type_t type;
- sci_mode_t mode;
- SCI_msg_hndlr *hndlr;
- void *param;
- SCI_err_hndlr *err_hndlr;
- char *hostfile;
- char *bepath;
- char **beenvp;
- char reserve[64];
- } sci_fe_info_t;
-.fi
-.sp
-\fImode\fP indicates the working mode of the front end, can be interrupt mode
-(\fBSCI_INTERRUPT\fP) or polling mode (\fBSCI_POLLING\fP), \fIhndlr\fP specified
-the message handler and it can't be \fBNULL\fP, \fIparam\fP specifies user-defined
-parameter in the message handler, \fIerr_hndlr\fP specifies the error handler when
-errors occur and it can be \fBNULL\fP, \fIhostfile\fP specifies the host list to initialize
-back ends, \fIbepath\fP specifies the command to run a back end, \fIbeenvp\fP specifies
-any additional environment variables user wants to pass to back ends and it should
-be ended with a \fBNULL\fP sign.
-.sp
-In \fIsci_be_info_t\fP:
-.sp
-.nf
- typedef struct {
- sci_end_type_t type;
- sci_mode_t mode;
- SCI_msg_hndlr *hndlr;
- void *param;
- SCI_err_hndlr *err_hndlr;
- char reserve[64];
- } sci_be_info_t;
-.fi
-.sp
-\fImode\fP indicates the working mode of the front end, can be interrupt mode
-(\fBSCI_INTERRUPT\fP) or polling mode (\fBSCI_POLLING\fP), \fIhndlr\fP specified
-the message handler and it can't be \fBNULL\fP, \fIparam\fP specifies user-defined
-parameter in the message handler, \fIerr_hndlr\fP specifies the error handler when
-errors occur and it can be \fBNULL\fP.
-.sp
-Each program can be started as a front end or a back end, and can
-work in polling mode or interrupt mode, furthermore, besides sci_info_t,
-the following environment variables begin with the prefix "SCI_" can be
-used to tune SCI programs (if a data field in sci_info_t indicates the same
-attribute as an environment variable, it will be overwritten):
-.sp
-.TP 1i
-SCI_HOST_FILE
-host file, same as fe_info.hostfile in sci_info_t
-.TP 1i
-SCI_BACKEND_NUM
-number of back ends when startup
-.TP 1i
-SCI_DEBUG_FANOUT
-fanout of the SCI tree structure, the default value is 32
-.TP 1i
-SCI_BACKEND_PATH
-command to start a back end, same as fe_info.bepath in sci_info_t, can contain
-arguments, e.g., "/usr/bin/pdb_be 2"
-.TP 1i
-SCI_USE_EXTLAUNCHER
-set to "yes" to indicate all back ends are started by an external launcher, the
-default value is "no"
-.TP 1i
-SCI_ENABLE_FAILOVER
-set to "yes" to indicate SCI will try to recover connections when facing connection
-problems, the default value is "no"
-.TP 1i
-SCI_REMOTE_SHELL
-can be "rsh", "ssh" or "", indicates how underlying SCI processes (agents, back ends)
-will be started, "rsh" means using rshell, "ssh" means using ssh, "" means using sci
-daemon, it's the default value
-.TP 1i
-SCI_DEVICE_NAME
-can be "" or an ifconfig interface name, e.g., "ib0", if set to "", the connection path
-indicated by the first interface will be used, otherwise the specified connection path
-will be used, the default value is the first ifconfig device name
-.TP 1i
-SCI_SEGMENT_SIZE
-message segment size used in SCI pipeline mechanism, when the size of downstream
-messages exceed a threshold (1.5 * size), this mechanism will be enabled
-automatically by splitting the large message into smaller segments to
-increase the overall bandwidth, the default size is 46720 (bytes)
-.TP 1i
-SCI_SYNC_INIT
-if set to yes, the SCI_Initilize will block until all the backends are launched,
-otherwise it will return immediately. The default value is no.
-.TP 0i
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- void handler(void *user_param, sci_group_t group, void *buffer, int size)
- {
- ...
- }
-
- {
- sci_info_t info;
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_INTERRUPT;
- info.fe_info.hostfile = "./host.list";
- info.fe_info.bepath = "/usr/bin/pdb_be";
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
- SCI_Initialize(&info);
- ...
- SCI_Terminate();
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_INVALID_ENDTYPE
-Invalid end type, can only be SCI_FRONT_END or SCI_BACK_END
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-.TP 1i
-SCI_ERR_INVALID_JOBKEY
-Invalid job key specified by SCI_JOB_KEY (only for BE)
-.TP 1i
-SCI_ERR_INVALID_HOSTFILE
-Invalid host file (only for FE)
-.TP 1i
-SCI_ERR_UNKNOWN_INFO
-Unknown back end info (only for FE)
-.TP 1i
-SCI_ERR_LAUNCH_FAILED
-Failed to launch client(s) (only for FE)
-.TP 1i
-SCI_ERR_INITIALIZE_FAILED
-Initialization failed
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Terminate\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Poll.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Poll.3
deleted file mode 100644
index 0d03aa0..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Poll.3
+++ /dev/null
@@ -1,78 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Poll 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Poll\fP \- Check for arriving messages in polling mode
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Poll(int \fItimeout\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-timeout
-Timeout if no message arrives in \fItimeout\fP milliseconds, <0 means no timeout (IN).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to check for arriving messages in polling mode. If a new message
-is arrived, user-registered handler in \fIsci_info_t\fP will be called to handle the message,
-otherwise a timeout will occur after \fItimeout\fP milliseconds elapsed.
-.sp
-If \fItimeout\fP is set to a negative value, no timeout will occur, and \fBSCI_Poll\fP can only
-return when a new message arrived or errors occurred.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- int pollFd, extFd, maxFd;
- fd_set fdSet;
- SCI_Query(POLLING_FD, &pollFd);
- ...
- FD_ZERO(&fdSet);
- FD_SET(pollFd, &fdSet);
- FD_SET(extFd, &fdSet);
- maxFd = (pollFd > extFd) ? pollFd : extFd;
- select(maxFd+1, &fdSet, 0, 0, NULL);
- if (FD_ISSET(pollFd, &fdSet)) {
- SCI_Poll(-1);
- }
- if (FD_ISSET(extFd, &fdSet)) {
- ...
- }
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_MODE
-Can only be used in polling mode
-.TP 1i
-SCI_ERR_POLL_INVALID
-Invalid polling calls
-.TP 1i
-SCI_ERR_POLL_TIMEOUT
-A polling timeout occurs after \fItimeout\fP milliseconds elapsed
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Bcast\fP(3)
-\fBSCI_Upload\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Query.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Query.3
deleted file mode 100644
index c4800c9..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Query.3
+++ /dev/null
@@ -1,102 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Query 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Query\fP \- Queries runtime information of the SCI execution environment
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Query(sci_query_t \fIquery\fP, void *\fIret_val\fP)
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-query
-Specifies the type of query you want to request (IN).
-.TP 1i
-ret_val
-Specifies the reference parameter for SCI to store as the result of the query.
-The value of this parameter cannot be NULL (OUT).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to query runtime settings and statistics from SCI.
-SCI defines a set of query types as an enumeration in \fIsci.h\fP.
-.sp
-For example, you can query the backend id using the query value of
-\fBBACKEND_ID\fP: SCI_Query(BACKEND_ID, &ret_val);
-.sp
-In SCI, sci_query_t defines the following valid query types:
-.sp
-.TP 1i
-JOB_KEY
-Query the job key of the current job
-.TP 1i
-NUM_BACKENDS
-Query the number of back ends in the job
-.TP 1i
-BACKEND_ID
-Query the back end id of current back end in the job
-.TP 1i
-POLLING_FD
-Query the external polling file descriptor in polling mode of the current job
-.TP 1i
-NUM_FILTERS
-Query the number of loaded filters in the current job
-.TP 1i
-FILTER_IDLIST
-Query the loaded filter id list of the current job
-.TP 1i
-AGENT_ID
-Query the agent id of current agent in the job
-.TP 1i
-NUM_SUCCESSORS
-Query the number of successors of current entity in the job
-.TP 1i
-SUCCESSOR_IDLIST
-Query the successor id list of current entity in the job
-.TP 1i
-HEALTH_STATUS
-Query the running status of current entity in the job, can be 0 (normal) or
-1 (exited)
-.TP 0i
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- int my_id;
- SCI_Query(BACKEND_ID, &my_id);
- int be_num;
- SCI_Query(NUM_BACKENDS, &be_num);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_UNKNOWN_INFO
-Can't set NULL to \fIret_val\fP
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Invalid query type for current entity. e.g., \fBBACKEND_NUM\fP can only be
-used for back end
-.TP 1i
-SCI_ERR_MODE
-For \fBPOLLING_FD\fP only, can only be used in polling mode
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Group_query\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Terminate.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Terminate.3
deleted file mode 100644
index a89c5ec..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Terminate.3
+++ /dev/null
@@ -1,58 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Terminate 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Terminate\fP \- Terminates the SCI execution environment
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Terminate()
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-none
-
-.SH DESCRIPTION
-.ft R
-Make sure this routine is the last SCI call. Any SCI calls made after
-SCI_Terminate raise an error. You must be sure that all pending
-communications have completed before calls SCI_Terminate.
-.sp
-Although SCI_Terminate terminates SCI processing, it does not terminate
-the front end or back end. It is possible to continue with non-SCI processing
-after calling SCI_Terminate, but no other SCI calls can be made unless
-SCI_Initialize be called again.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- /* declare variables */
- SCI_Initialize(&info);
- ...
- SCI_Terminate();
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Initialize\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Upload.3 b/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Upload.3
deleted file mode 100644
index 93d0c6d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/man/linux/SCI_Upload.3
+++ /dev/null
@@ -1,78 +0,0 @@
-.\"Copyright 2008-2010 IBM Corp.
-.TH SCI_Upload 3 "Dec 4, 2009" "1.0.0" "SCI"
-
-.SH NAME
-\fBSCI_Upload\fP \- Uploads messages from a back end to the front end
-
-.SH SYNTAX
-.ft R
-
-.SH C Syntax
-.nf
-#include <sci.h>
-int SCI_Upload(int \fIfilter_id\fP, sci_group_t \fIgroup\fP, int \fInum_bufs\fP, void *\fIbufs\fP[], int \fIsizes\fP[])
-
-.SH INPUT PARAMETERS
-.ft R
-.TP 1i
-filter_id
-The id of the message filter (IN).
-.TP 1i
-group
-The group which the message belongs to (IN).
-.TP 1i
-num_bufs
-The number of buffers of current message segment (IN).
-.TP 1i
-bufs
-The array of buffer locations of current message segment (IN).
-.TP 1i
-sizes
-The array of buffer sizes of current message segment (IN).
-
-.SH DESCRIPTION
-.ft R
-This subroutine is used to upload message from a back end to the front end. The message
-can be sent directly to the front end if set \fIfilter_id\fP to \fBSCI_FILTER_NULL\fP,
-or can be sent to the filter indicated by \fIfilter_id\fP if a new message filter is loaded
-by \fBSCI_Filter_load\fP.
-.sp
-This is a non-blocking call. The caller cannot assume that message transfer has completed
-upon the return of the function. Instead, the handler function defined in \fIsci_info_t\fP
-should be used to ensure the message arrival in the destination sides.
-.sp
-For more information, please refer to SCI's online documents.
-
-.SH EXAMPLE
-.ft R
-.nf
- {
- char msg[256];
- int sizes[1];
- void *bufs[1];
- ...
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- SCI_Upload(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- }
-.fi
-
-.SH ERRORS
-.ft R
-All SCI routines return an error value.
-.sp
-.TP 1i
-SCI_ERR_UNINTIALIZED
-Uninitialized SCI execution environment
-.TP 1i
-SCI_ERR_INVALID_CALLER
-Can only be called in the front end
-.TP 1i
-SCI_ERR_NO_MEM
-Out of memory
-
-.SH SEE ALSO
-.ft R
-.nf
-\fBSCI_Bcast\fP(3)
-\fBSCI_Poll\fP(3)
diff --git a/tools/sci/org.eclipse.ptp.sci/missing b/tools/sci/org.eclipse.ptp.sci/missing
deleted file mode 100755
index 894e786..0000000
--- a/tools/sci/org.eclipse.ptp.sci/missing
+++ /dev/null
@@ -1,360 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-
-scriptversion=2005-06-08.21
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# 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 2, 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
-fi
-
-run=:
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
-
-msg="missing on your system"
-
-case "$1" in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
-
- -h|--h|--he|--hel|--help)
- echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
- -h, --help display this help and exit
- -v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
-
-Send bug reports to <bug-automake@gnu.org>."
- exit $?
- ;;
-
- -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing $scriptversion (GNU Automake)"
- exit $?
- ;;
-
- -*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
- ;;
-
-esac
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).
-case "$1" in
- lex|yacc)
- # Not GNU programs, they don't have --version.
- ;;
-
- tar)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case "$f" in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison|yacc)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if [ ! -f y.tab.h ]; then
- echo >y.tab.h
- fi
- if [ ! -f y.tab.c ]; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex|flex)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if [ $# -ne 1 ]; then
- eval LASTARG="\${$#}"
- case "$LASTARG" in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if [ ! -f lex.yy.c ]; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit 1
- fi
- ;;
-
- makeinfo)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- tar)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case "$firstarg" in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case "$firstarg" in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/tools/sci/org.eclipse.ptp.sci/plugin.properties b/tools/sci/org.eclipse.ptp.sci/plugin.properties
deleted file mode 100644
index b0ac9d6..0000000
--- a/tools/sci/org.eclipse.ptp.sci/plugin.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 IBM Corporation.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-###############################################################################
-
-pluginName=PTP Scalable Communication Infrastructure (SCI)
-pluginProvider=Eclipse PTP
diff --git a/tools/sci/org.eclipse.ptp.sci/pom.xml b/tools/sci/org.eclipse.ptp.sci/pom.xml
deleted file mode 100644
index 47b71a6..0000000
--- a/tools/sci/org.eclipse.ptp.sci/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.ptp</groupId>
- <artifactId>ptp-parent</artifactId>
- <version>9.3.0-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.ptp.sci</artifactId>
- <version>9.3.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.1</version>
- <executions>
- <execution>
- <id>fix-version</id>
- <goals>
- <goal>run</goal>
- </goals>
- <phase>prepare-package</phase>
- <configuration>
- <tasks>
- <replace file="configure">
- <replacefilter token="@buildVersion@" value="${unqualifiedVersion}.${buildQualifier}"/>
- </replace>
- <replace file="configure.in">
- <replacefilter token="@buildVersion@" value="${unqualifiedVersion}.${buildQualifier}"/>
- </replace>
- </tasks>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/tools/sci/org.eclipse.ptp.sci/scia/.cvsignore b/tools/sci/org.eclipse.ptp.sci/scia/.cvsignore
deleted file mode 100644
index e7422cb..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scia/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.deps
-Makefile
-.libs
-scia
diff --git a/tools/sci/org.eclipse.ptp.sci/scia/Makefile.am b/tools/sci/org.eclipse.ptp.sci/scia/Makefile.am
deleted file mode 100644
index 554e0b9..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scia/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-scia_SOURCES = scia.cpp
-scia64_SOURCES = scia.cpp
-if SYSTEM_AIX
-if BIT64
-bin_PROGRAMS = scia64 scia
-else
-bin_PROGRAMS = scia
-endif
-scia_CPPFLAGS = -g -O0 -I../common -I../include
-scia_LDFLAGS = -L../common -lcmn64 -lrt -lpthread -ldl
-scia64_CPPFLAGS = -g -O0 -q64 -I../common -I../include -D__64BIT__
-scia64_LDFLAGS = -q64 -L../common -lcmn64 -lrt -lpthread -ldl
-endif
-if SYSTEM_DARWIN
-bin_PROGRAMS = scia
-scia_CPPFLAGS = -I../common -I../include
-scia_LDFLAGS = -L../common -lcmn -lpthread -ldl
-endif
-if SYSTEM_LINUX
-if BIT64
-bin_PROGRAMS = scia64
-scia64_CPPFLAGS = -m64 -g -O0 -I../common -I../include -D__64BIT__
-scia64_LDFLAGS = -m64 -L../common -lcmn -lrt -lpthread -ldl
-else
-bin_PROGRAMS = scia
-scia_CPPFLAGS = -m32 -g -O0 -I../common -I../include
-scia_LDFLAGS = -m32 -L../common -lcmn -lrt -lpthread -ldl
-endif
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/scia/Makefile.in b/tools/sci/org.eclipse.ptp.sci/scia/Makefile.in
deleted file mode 100644
index 019cfad..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scia/Makefile.in
+++ /dev/null
@@ -1,563 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = scia$(EXEEXT)
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = scia$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = scia64$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = scia64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ scia$(EXEEXT)
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@bin_PROGRAMS = scia$(EXEEXT)
-subdir = scia
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-PROGRAMS = $(bin_PROGRAMS)
-am_scia_OBJECTS = scia-scia.$(OBJEXT)
-scia_OBJECTS = $(am_scia_OBJECTS)
-scia_LDADD = $(LDADD)
-scia_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(scia_LDFLAGS) $(LDFLAGS) -o $@
-am_scia64_OBJECTS = scia64-scia.$(OBJEXT)
-scia64_OBJECTS = $(am_scia64_OBJECTS)
-scia64_LDADD = $(LDADD)
-scia64_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(scia64_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(scia_SOURCES) $(scia64_SOURCES)
-DIST_SOURCES = $(scia_SOURCES) $(scia64_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-scia_SOURCES = scia.cpp
-scia64_SOURCES = scia.cpp
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@scia_CPPFLAGS = -m32 -g -O0 -I../common -I../include
-@SYSTEM_AIX_TRUE@scia_CPPFLAGS = -g -O0 -I../common -I../include
-@SYSTEM_DARWIN_TRUE@scia_CPPFLAGS = -I../common -I../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@scia_LDFLAGS = -m32 -L../common -lcmn -lrt -lpthread -ldl
-@SYSTEM_AIX_TRUE@scia_LDFLAGS = -L../common -lcmn64 -lrt -lpthread -ldl
-@SYSTEM_DARWIN_TRUE@scia_LDFLAGS = -L../common -lcmn -lpthread -ldl
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@scia64_CPPFLAGS = -m64 -g -O0 -I../common -I../include -D__64BIT__
-@SYSTEM_AIX_TRUE@scia64_CPPFLAGS = -g -O0 -q64 -I../common -I../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@scia64_LDFLAGS = -m64 -L../common -lcmn -lrt -lpthread -ldl
-@SYSTEM_AIX_TRUE@scia64_LDFLAGS = -q64 -L../common -lcmn64 -lrt -lpthread -ldl
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scia/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu scia/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-scia$(EXEEXT): $(scia_OBJECTS) $(scia_DEPENDENCIES)
- @rm -f scia$(EXEEXT)
- $(scia_LINK) $(scia_OBJECTS) $(scia_LDADD) $(LIBS)
-scia64$(EXEEXT): $(scia64_OBJECTS) $(scia64_DEPENDENCIES)
- @rm -f scia64$(EXEEXT)
- $(scia64_LINK) $(scia64_OBJECTS) $(scia64_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scia-scia.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scia64-scia.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-scia-scia.o: scia.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scia_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scia-scia.o -MD -MP -MF $(DEPDIR)/scia-scia.Tpo -c -o scia-scia.o `test -f 'scia.cpp' || echo '$(srcdir)/'`scia.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scia-scia.Tpo $(DEPDIR)/scia-scia.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='scia.cpp' object='scia-scia.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scia_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scia-scia.o `test -f 'scia.cpp' || echo '$(srcdir)/'`scia.cpp
-
-scia-scia.obj: scia.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scia_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scia-scia.obj -MD -MP -MF $(DEPDIR)/scia-scia.Tpo -c -o scia-scia.obj `if test -f 'scia.cpp'; then $(CYGPATH_W) 'scia.cpp'; else $(CYGPATH_W) '$(srcdir)/scia.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scia-scia.Tpo $(DEPDIR)/scia-scia.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='scia.cpp' object='scia-scia.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scia_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scia-scia.obj `if test -f 'scia.cpp'; then $(CYGPATH_W) 'scia.cpp'; else $(CYGPATH_W) '$(srcdir)/scia.cpp'; fi`
-
-scia64-scia.o: scia.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scia64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scia64-scia.o -MD -MP -MF $(DEPDIR)/scia64-scia.Tpo -c -o scia64-scia.o `test -f 'scia.cpp' || echo '$(srcdir)/'`scia.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scia64-scia.Tpo $(DEPDIR)/scia64-scia.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='scia.cpp' object='scia64-scia.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scia64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scia64-scia.o `test -f 'scia.cpp' || echo '$(srcdir)/'`scia.cpp
-
-scia64-scia.obj: scia.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scia64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scia64-scia.obj -MD -MP -MF $(DEPDIR)/scia64-scia.Tpo -c -o scia64-scia.obj `if test -f 'scia.cpp'; then $(CYGPATH_W) 'scia.cpp'; else $(CYGPATH_W) '$(srcdir)/scia.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scia64-scia.Tpo $(DEPDIR)/scia64-scia.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='scia.cpp' object='scia64-scia.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scia64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scia64-scia.obj `if test -f 'scia.cpp'; then $(CYGPATH_W) 'scia.cpp'; else $(CYGPATH_W) '$(srcdir)/scia.cpp'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-binPROGRAMS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/scia/scia.cpp b/tools/sci/org.eclipse.ptp.sci/scia/scia.cpp
deleted file mode 100644
index e9a32e0..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scia/scia.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: main() function.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include <signal.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <assert.h>
-#include <dlfcn.h>
-
-#include "sci.h"
-
-#ifdef _SCI_LINUX
-#define SCI_LIB_PATH "libsci.so"
-#else // aix
-#ifdef __64BIT__
-#define SCI_LIB_PATH "libsci_r.a(libsci64_r.o)"
-#else // 32-bit
-#define SCI_LIB_PATH "libsci_r.a(libsci_r.o)"
-#endif // 32-bit
-#endif // aix
-
-typedef int (scia_init_hndlr)(sci_info_t *);
-typedef int (scia_term_hndlr)();
-
-int main()
-{
- void *dlopen_file = NULL;
- char *error = NULL;
- int rc;
-
-#if defined(_SCI_LINUX)
- dlopen_file = ::dlopen(SCI_LIB_PATH, RTLD_NOW | RTLD_LOCAL);
-#elif defined(__APPLE__)
- dlopen_file = ::dlopen(SCI_LIB_PATH, RTLD_NOW | RTLD_LOCAL);
-#else // aix
- dlopen_file = ::dlopen(SCI_LIB_PATH, RTLD_NOW | RTLD_LOCAL | RTLD_MEMBER);
-#endif
- if (!dlopen_file) {
- ::fprintf (stderr, "%s\n", ::dlerror());
- ::exit(1);
- }
-
- ::dlerror(); /* Clear any existing error */
- scia_init_hndlr *init_hndlr = (scia_init_hndlr *) ::dlsym(dlopen_file, "SCI_Initialize");
- scia_term_hndlr *term_hndlr = (scia_term_hndlr *) ::dlsym(dlopen_file, "SCI_Terminate");
- if ((error = ::dlerror()) != NULL) {
- ::fprintf (stderr, "%s\n", error);
- ::exit(1);
- }
-
- // sleep(20);
- rc = init_hndlr(NULL);
- if (rc != SCI_SUCCESS) {
- ::fprintf(stderr, "scia initialization failed\n");
- ::exit(1);
- }
- rc = term_hndlr();
- if (rc != SCI_SUCCESS) {
- ::fprintf(stderr, "scia termination failed\n");
- ::exit(1);
- }
-
- ::dlclose(dlopen_file);
-
- return 0;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/.cvsignore b/tools/sci/org.eclipse.ptp.sci/scid/.cvsignore
deleted file mode 100644
index 8a23c2f..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.deps
-Makefile
-.libs
-scidv1
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/Makefile.am b/tools/sci/org.eclipse.ptp.sci/scid/Makefile.am
deleted file mode 100644
index cc8ed6c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-sbin_PROGRAMS = scidv1
-scidv1_SOURCES = extlaunch.cpp extlisten.cpp locker.cpp scid.cpp
-
-if SYSTEM_AIX
-scidv1_CPPFLAGS = -q64 -I../common -I../secmod
-scidv1_LDFLAGS = -q64 -L../common -lcmn64 -lrt -lpthread -ldl
-endif
-if SYSTEM_LINUX
-scidv1_CPPFLAGS = -I../common -I../secmod
-scidv1_LDFLAGS = -L../common -lcmn -lrt -lpthread -ldl
-endif
-if SYSTEM_DARWIN
-scidv1_CPPFLAGS = -I../common -I../secmod
-scidv1_LDFLAGS = -L../common -lcmn -lpthread -ldl
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/Makefile.in b/tools/sci/org.eclipse.ptp.sci/scid/Makefile.in
deleted file mode 100644
index 699e136..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/Makefile.in
+++ /dev/null
@@ -1,577 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-sbin_PROGRAMS = scidv1$(EXEEXT)
-subdir = scid
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(sbindir)"
-PROGRAMS = $(sbin_PROGRAMS)
-am_scidv1_OBJECTS = scidv1-extlaunch.$(OBJEXT) \
- scidv1-extlisten.$(OBJEXT) scidv1-locker.$(OBJEXT) \
- scidv1-scid.$(OBJEXT)
-scidv1_OBJECTS = $(am_scidv1_OBJECTS)
-scidv1_LDADD = $(LDADD)
-scidv1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(scidv1_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(scidv1_SOURCES)
-DIST_SOURCES = $(scidv1_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-scidv1_SOURCES = extlaunch.cpp extlisten.cpp locker.cpp scid.cpp
-@SYSTEM_AIX_TRUE@scidv1_CPPFLAGS = -q64 -I../common -I../secmod
-@SYSTEM_DARWIN_TRUE@scidv1_CPPFLAGS = -I../common -I../secmod
-@SYSTEM_LINUX_TRUE@scidv1_CPPFLAGS = -I../common -I../secmod
-@SYSTEM_AIX_TRUE@scidv1_LDFLAGS = -q64 -L../common -lcmn64 -lrt -lpthread -ldl
-@SYSTEM_DARWIN_TRUE@scidv1_LDFLAGS = -L../common -lcmn -lpthread -ldl
-@SYSTEM_LINUX_TRUE@scidv1_LDFLAGS = -L../common -lcmn -lrt -lpthread -ldl
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scid/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu scid/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-sbinPROGRAMS: $(sbin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
- @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-sbinPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(sbindir)" && rm -f $$files
-
-clean-sbinPROGRAMS:
- @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-scidv1$(EXEEXT): $(scidv1_OBJECTS) $(scidv1_DEPENDENCIES)
- @rm -f scidv1$(EXEEXT)
- $(scidv1_LINK) $(scidv1_OBJECTS) $(scidv1_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scidv1-extlaunch.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scidv1-extlisten.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scidv1-locker.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scidv1-scid.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-scidv1-extlaunch.o: extlaunch.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scidv1-extlaunch.o -MD -MP -MF $(DEPDIR)/scidv1-extlaunch.Tpo -c -o scidv1-extlaunch.o `test -f 'extlaunch.cpp' || echo '$(srcdir)/'`extlaunch.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scidv1-extlaunch.Tpo $(DEPDIR)/scidv1-extlaunch.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='extlaunch.cpp' object='scidv1-extlaunch.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scidv1-extlaunch.o `test -f 'extlaunch.cpp' || echo '$(srcdir)/'`extlaunch.cpp
-
-scidv1-extlaunch.obj: extlaunch.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scidv1-extlaunch.obj -MD -MP -MF $(DEPDIR)/scidv1-extlaunch.Tpo -c -o scidv1-extlaunch.obj `if test -f 'extlaunch.cpp'; then $(CYGPATH_W) 'extlaunch.cpp'; else $(CYGPATH_W) '$(srcdir)/extlaunch.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scidv1-extlaunch.Tpo $(DEPDIR)/scidv1-extlaunch.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='extlaunch.cpp' object='scidv1-extlaunch.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scidv1-extlaunch.obj `if test -f 'extlaunch.cpp'; then $(CYGPATH_W) 'extlaunch.cpp'; else $(CYGPATH_W) '$(srcdir)/extlaunch.cpp'; fi`
-
-scidv1-extlisten.o: extlisten.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scidv1-extlisten.o -MD -MP -MF $(DEPDIR)/scidv1-extlisten.Tpo -c -o scidv1-extlisten.o `test -f 'extlisten.cpp' || echo '$(srcdir)/'`extlisten.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scidv1-extlisten.Tpo $(DEPDIR)/scidv1-extlisten.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='extlisten.cpp' object='scidv1-extlisten.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scidv1-extlisten.o `test -f 'extlisten.cpp' || echo '$(srcdir)/'`extlisten.cpp
-
-scidv1-extlisten.obj: extlisten.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scidv1-extlisten.obj -MD -MP -MF $(DEPDIR)/scidv1-extlisten.Tpo -c -o scidv1-extlisten.obj `if test -f 'extlisten.cpp'; then $(CYGPATH_W) 'extlisten.cpp'; else $(CYGPATH_W) '$(srcdir)/extlisten.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scidv1-extlisten.Tpo $(DEPDIR)/scidv1-extlisten.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='extlisten.cpp' object='scidv1-extlisten.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scidv1-extlisten.obj `if test -f 'extlisten.cpp'; then $(CYGPATH_W) 'extlisten.cpp'; else $(CYGPATH_W) '$(srcdir)/extlisten.cpp'; fi`
-
-scidv1-locker.o: locker.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scidv1-locker.o -MD -MP -MF $(DEPDIR)/scidv1-locker.Tpo -c -o scidv1-locker.o `test -f 'locker.cpp' || echo '$(srcdir)/'`locker.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scidv1-locker.Tpo $(DEPDIR)/scidv1-locker.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='locker.cpp' object='scidv1-locker.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scidv1-locker.o `test -f 'locker.cpp' || echo '$(srcdir)/'`locker.cpp
-
-scidv1-locker.obj: locker.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scidv1-locker.obj -MD -MP -MF $(DEPDIR)/scidv1-locker.Tpo -c -o scidv1-locker.obj `if test -f 'locker.cpp'; then $(CYGPATH_W) 'locker.cpp'; else $(CYGPATH_W) '$(srcdir)/locker.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scidv1-locker.Tpo $(DEPDIR)/scidv1-locker.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='locker.cpp' object='scidv1-locker.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scidv1-locker.obj `if test -f 'locker.cpp'; then $(CYGPATH_W) 'locker.cpp'; else $(CYGPATH_W) '$(srcdir)/locker.cpp'; fi`
-
-scidv1-scid.o: scid.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scidv1-scid.o -MD -MP -MF $(DEPDIR)/scidv1-scid.Tpo -c -o scidv1-scid.o `test -f 'scid.cpp' || echo '$(srcdir)/'`scid.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scidv1-scid.Tpo $(DEPDIR)/scidv1-scid.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='scid.cpp' object='scidv1-scid.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scidv1-scid.o `test -f 'scid.cpp' || echo '$(srcdir)/'`scid.cpp
-
-scidv1-scid.obj: scid.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scidv1-scid.obj -MD -MP -MF $(DEPDIR)/scidv1-scid.Tpo -c -o scidv1-scid.obj `if test -f 'scid.cpp'; then $(CYGPATH_W) 'scid.cpp'; else $(CYGPATH_W) '$(srcdir)/scid.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/scidv1-scid.Tpo $(DEPDIR)/scidv1-scid.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='scid.cpp' object='scidv1-scid.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scidv1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scidv1-scid.obj `if test -f 'scid.cpp'; then $(CYGPATH_W) 'scid.cpp'; else $(CYGPATH_W) '$(srcdir)/scid.cpp'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(sbindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-sbinPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-sbinPROGRAMS
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-sbinPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-sbinPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-sbinPROGRAMS install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-sbinPROGRAMS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/extlaunch.cpp b/tools/sci/org.eclipse.ptp.sci/scid/extlaunch.cpp
deleted file mode 100644
index dde49f7..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/extlaunch.cpp
+++ /dev/null
@@ -1,434 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: ExtLauncher
-
- Description: Support External Laucher such as POE
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 01/06/09 tuhongj Initial code (D155101)
- 10/10/12 ronglli Add oom_adj codes
-
-****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <assert.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <stdio.h>
-
-#include "tools.hpp"
-#include "sshfunc.hpp"
-#include "log.hpp"
-#include "exception.hpp"
-#include "locker.hpp"
-#include "stream.hpp"
-#include "socket.hpp"
-
-#include "extlaunch.hpp"
-
-const int MAX_FD = 256;
-
-vector<ExtLauncher *> launcherList;
-
-const int MAX_PWD_BUF_SIZE = 1024;
-const int MAX_ENV_VAR_NUM = 1024;
-
-void set_oom_adj(int s)
-{
-#ifdef _SCI_LINUX
- char oomfname[256] = "";
- char oomadjstr[16] = "";
- int oomfd = -1;
- struct stat oomadjst = {0};
- int nbytes = -1;
-
- int score = s;
- score = (score < -1000) ? (-1000) : (score);
- score = (score > 1000) ? (1000) : (score);
-
- ::sprintf(oomfname, "/proc/%d/oom_score_adj", getpid());
- if (::stat(oomfname, &oomadjst) != 0) {
- /* could not find oom_score_adj, will try oom_adj instead */
- ::sprintf(oomfname, "/proc/%d/oom_adj", getpid());
- double oomadjval = (score < 0) ? (((double) score/1000.0)*17.0) : (((double) score/1000.0)*15.0);
- ::sprintf(oomadjstr, "%.0f", oomadjval);
- } else {
- ::sprintf(oomadjstr, "%d", score);
- }
-
- oomfd = ::open(oomfname, O_WRONLY, 0);
- if (oomfd < 0) {
- log_error("open() failed for %s: errno = %d\n", oomfname, errno);
- return;
- }
-
- nbytes = ::write(oomfd, oomadjstr, strlen(oomadjstr));
- if (nbytes < 0) {
- log_error("write() failed for %s: errno = %d", oomfname, errno);
- } else {
- log_crit("wrote %d bytes to %s: %s", nbytes, oomfname, oomadjstr);
- }
- ::close(oomfd);
-#endif
-}
-
-ExtLauncher::ExtLauncher(Stream *s, bool auth)
- : stream(s)
-{
- memset(&usertok, 0, sizeof(usertok));
- sshAuth = auth;
-}
-
-ExtLauncher::~ExtLauncher()
-{
-}
-
-int ExtLauncher::verifyToken(bool suser)
-{
- int rc;
- struct passwd pwd;
- struct passwd *result = NULL;
- char *pwdBuf = new char[MAX_PWD_BUF_SIZE];
-
- while (1) {
- rc = ::getpwnam_r(userName.c_str(), &pwd, pwdBuf, MAX_PWD_BUF_SIZE, &result);
- if ((rc == EINTR) || (rc == EMFILE) || (rc == ENFILE)) {
- SysUtil::sleep(WAIT_INTERVAL);
- continue;
- }
- if (NULL == result) {
- delete []pwdBuf;
- throw Exception(Exception::INVALID_USER);
- } else {
- break;
- }
- }
- if (suser) {
- ::setgid(pwd.pw_gid);
- ::setuid(pwd.pw_uid);
- }
- ::seteuid(pwd.pw_uid);
- rc = SSHFUNC->verify_id_token(pwd.pw_name, &usertok);
- delete []pwdBuf;
-
- return rc;
-}
-
-int ExtLauncher::verifyData(struct iovec &sign, int jobkey, int id, char *path, char *envStr)
-{
- int rc = -1;
-
- ssKeyLen = sizeof(sessionKey);
- rc = SSHFUNC->get_key_from_token(NULL, &usertok, sessionKey, &ssKeyLen);
- if (rc != 0)
- return rc;
-
- if (path == NULL) {
- rc = SSHFUNC->verify_data(sessionKey, ssKeyLen, &sign, "%d%d%d", mode, jobkey, id);
- } else {
- rc = SSHFUNC->verify_data(sessionKey, ssKeyLen, &sign, "%d%d%d%s%s", mode, jobkey, id, path, envStr);
- }
-
- return rc;
-}
-
-void ExtLauncher::run()
-{
- int id, jobKey, rc;
- string path, envStr;
- struct iovec sign;
- try {
- *stream >> userName >> usertok >> sign >> (int &)mode >> jobKey >> id;
- switch (mode) {
- case INTERNAL:
- *stream >> path >> envStr >> endl;
- log_crit("[%s] Launch %d.%d %s with %s internally", userName.c_str(),
- jobKey, id, path.c_str(), envStr.c_str());
- launchInt(jobKey, id, (char *)path.c_str(), (char *)envStr.c_str(), sign);
- break;
- case REGISTER:
- *stream >> path >> envStr >> endl;
- log_crit("[%s] Receive register info %d.%d %s", userName.c_str(), jobKey,
- id, envStr.c_str());
- rc = doVerify(sign, jobKey, id, (char *)path.c_str(), (char *)envStr.c_str());
- if (rc == 0) {
- rc = launchReg(jobKey, id, (char *)envStr.c_str());
- }
- break;
- case REQUEST:
- *stream >> endl;
- log_crit("[%s] Handle external launching request %d.%d", userName.c_str(),
- jobKey, id);
- rc = doVerify(sign, jobKey, id);
- if (rc == 0) {
- double starttm = SysUtil::microseconds();
- rc = -1;
- while ((rc != 0) && ((SysUtil::microseconds() - starttm) < FIVE_MINUTES)) {
- rc = launchReq(jobKey, id);
- SysUtil::sleep(WAIT_INTERVAL);
- }
- }
- break;
- default:
- break;
- }
- } catch (SocketException &e) {
- log_error("socket exception %s", e.getErrMsg().c_str());
- } catch (Exception &e) {
- log_error("exception %s, errno = %d", e.getErrMsg(), errno);
- } catch (...) {
- log_error("unknown exception");
- }
-
- delete stream;
- delete [] (char *)usertok.iov_base;
- setState(false);
-
- Locker::getLocker()->lock();
- launcherList.push_back(this);
- Locker::getLocker()->unlock();
- Locker::getLocker()->notify();
-}
-
-char * ExtLauncher::getExename(char *path)
-{
- int len;
- char *exename = NULL;
- char *p1 = NULL, *p2 = NULL;
-
- // get the exe name
- p1 = path;
- do {
- if (((*p1)==' ') || ((*p1)=='\t')) {
- p1++;
- } else if ((*p1) == '\0') {
- return NULL;
- } else {
- break;
- }
- } while (1);
- p2 = p1;
- while (((*p2)!=' ') && ((*p2)!='\t') && ((*p2)!='\0')) {
- p2++;
- }
- len = p2 - p1;
- exename = new char[len+1]; // Need to be deleted outside
- ::strncpy(exename, p1, len);
- exename[len] = '\0';
-
- return exename;
-}
-
-int ExtLauncher::launchInt(int jobkey, int id, char *path, char *envStr, struct iovec &signature)
-{
- pid_t pid;
- int i = 0;
- int rc = 0;
- char *exename = getExename(path); // There is a new inside
-
- if (::access(exename, F_OK | R_OK | X_OK) != 0) {
- retStr = string(exename) + " is not an executable file";
- log_error("%s", retStr.c_str());
- delete [] exename;
- return -1;
- }
-
- pid = ::fork();
- if (pid < 0) { // fork failed
- rc = errno;
- retStr = "fork failed";
- } else if (pid == 0) { // child process
- int sfd = stream->getSocket();
- // the child process can't ignore SIGCHLD signal
- ::sigaction(SIGCHLD, &oldSa, NULL);
- dup2(sfd, STDIN_FILENO);
- for (i = STDERR_FILENO + 1; i < MAX_FD; i++) {
- ::close(i);
- }
- set_oom_adj(1000);
-
- try {
- rc = putSessionKey(-1, signature, jobkey, id, path, envStr, true);
- if (rc != 0) {
- exit(rc);
- }
- } catch (Exception &e) {
- exit(-1);
- }
-
- char *p = envStr;
- char *params[4096];
- for (i = 0; i < MAX_ENV_VAR_NUM-1; i++) {
- p = ::strchr(p, ';');
- if (NULL == p) {
- break;
- }
- *p = '\0';
- params[i] = ++p;
- }
- params[i] = NULL;
- rc = ::execle("/bin/sh", "/bin/sh", "-c", path, (char *)NULL, params);
- if (rc < 0) {
- exit(0);
- }
- }
- delete [] exename;
-
- return rc;
-}
-
-int ExtLauncher::getSessionKey(int fd)
-{
- int n, rc;
- struct iovec vecs[2];
-
- vecs[0].iov_base = &rc;
- vecs[0].iov_len = sizeof(rc);
- vecs[1].iov_base = &sessionKey;
- vecs[1].iov_len = sizeof(sessionKey);
- if ((n = readv(fd, vecs, 2)) == -1) {
- rc = -1;
- }
- ssKeyLen = n - sizeof(rc);
-
- return rc;
-}
-
-int ExtLauncher::putSessionKey(int fd, struct iovec &sign, int jobkey, int id, char *path, char *envStr, bool suser)
-{
- int i, rc;
- struct iovec vecs[2];
-
- rc = verifyToken(suser);
-#ifdef PSEC_OPEN_SSL
- if (sshAuth) {
- if (rc == 0) {
- rc = verifyData(sign, jobkey, id, path, envStr);
- }
- if (fd < 0)
- return rc;
-
- vecs[0].iov_base = &rc;
- vecs[0].iov_len = sizeof(rc);
- vecs[1].iov_base = sessionKey;
- vecs[1].iov_len = ssKeyLen;
- writev(fd, vecs, 2);
- }
-#endif
-
- return rc;
-}
-
-int ExtLauncher::doVerify(struct iovec &sign, int jobkey, int id, char *path, char *envStr)
-{
-#ifndef PSEC_OPEN_SSL
- return 0;
-#endif
- int rc = -1;
- pid_t pid;
- int sockfd[2];
-
- if (!sshAuth)
- return 0;
-
- if (socketpair(AF_UNIX, SOCK_STREAM, 0, sockfd) == -1) {
- log_error("Failed to create socketpair!");
- return -1;
- }
-
- if ((pid = ::fork()) < 0) {
- rc = errno;
- retStr = "fork failed";
- log_error("Failed to fork child!");
- } else if (pid == 0) { // child process
- int i;
- close(sockfd[1]);
- dup2(sockfd[0], MAX_FD);
- for (i = 0; i < MAX_FD; i++) {
- ::close(i);
- }
- rc = putSessionKey(MAX_FD, sign, jobkey, id, path, envStr);
- close(MAX_FD);
- exit(0);
- } else { // parent process
- close(sockfd[0]);
- rc = getSessionKey(sockfd[1]);
- close(sockfd[1]);
- }
-
- return rc;
-}
-
-
-int ExtLauncher::launchReg(int jobkey, int id, const char *envStr)
-{
- Locker::getLocker()->lock();
- TASK_INFO &task = jobInfo[jobkey];
- task.user = userName;
- task.config[id] = envStr;
- task.timestamp = SysUtil::microseconds();
- memset(&task.token, 0, sizeof(task.token));
- if (usertok.iov_len > 0) {
- task.token.iov_len = usertok.iov_len;
- task.token.iov_base = new char [usertok.iov_len];
- memcpy(task.token.iov_base, usertok.iov_base, usertok.iov_len);
- }
-
- Locker::getLocker()->unlock();
-
- return 0;
-}
-
-int ExtLauncher::launchReq(int jobkey, int id)
-{
- struct iovec sign = {0};
-
- Locker::getLocker()->lock();
- if (jobInfo.find(jobkey) == jobInfo.end()) {
- Locker::getLocker()->unlock();
- return -1;
- }
- TASK_INFO &task = jobInfo[jobkey];
- if (task.user != userName) {
- Locker::getLocker()->unlock();
- return -2;
- }
- TASK_CONFIG &cfg = task.config;
- if (cfg.find(id) == cfg.end()) {
- Locker::getLocker()->unlock();
- return -1;
- }
-
- SSHFUNC->sign_data(sessionKey, ssKeyLen, &sign, 2, cfg[id].c_str(), cfg[id].size() + 1, task.token.iov_base, task.token.iov_len);
- *stream << cfg[id] << task.token << sign << endl;
-
- cfg.erase(id);
- if (cfg.size() == 0)
- jobInfo.erase(jobkey);
- Locker::getLocker()->unlock();
-
- return 0;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/extlaunch.hpp b/tools/sci/org.eclipse.ptp.sci/scid/extlaunch.hpp
deleted file mode 100644
index cceb55a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/extlaunch.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: ExtLauncher
-
- Description: Support External Laucher such as POE
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 01/06/09 tuhongj Initial code (D155101)
-
-****************************************************************************/
-
-#ifndef _EXTLAUNCH_HPP
-#define _EXTLAUNCH_HPP
-
-#include <sys/uio.h>
-#include <pwd.h>
-
-#include <string>
-#include <map>
-
-#include "thread.hpp"
-
-#define WAIT_INTERVAL 1000 // 1000 usec
-#define FIVE_MINUTES 5000000 * 60
-
-using namespace std;
-
-class Stream;
-
-enum LAUNCH_MODE {
- INTERNAL,
- REGISTER,
- REQUEST
-};
-
-class ExtLauncher : public Thread
-{
- private:
- Stream *stream;
- string retStr;
- string userName;
- struct iovec usertok;
- char sessionKey[64];
- size_t ssKeyLen;
- LAUNCH_MODE mode;
- bool sshAuth;
-
- private:
- char *getExename(char *path);
-
- int verifyToken(bool suser = false);
- int verifyData(struct iovec &sign, int jobkey, int id, char *path = NULL, char *envStr = NULL);
- int doVerify(struct iovec &sign, int jobkey, int id, char *path = NULL, char *envStr = NULL);
- int putSessionKey(int fd, struct iovec &sign, int jobkey, int id, char *path, char *envStr, bool suer = true);
- int getSessionKey(int fd);
- public:
- ExtLauncher(Stream *s, bool auth = false);
- virtual ~ExtLauncher();
-
- virtual void run();
-
- int launchInt(int jobkey, int id, char *path, char *envStr, struct iovec &sign);
- int launchReg(int jobkey, int id, const char *envStr);
- int launchReq(int jobkey, int id);
- int regInfo();
-};
-
-typedef map<int, string> TASK_CONFIG;
-typedef struct TASK_INFO {
- string user;
- TASK_CONFIG config;
- double timestamp;
- struct iovec token;
-};
-typedef map<int, TASK_INFO> JOB_INFO;
-
-extern JOB_INFO jobInfo;
-extern vector<ExtLauncher *> launcherList;
-extern struct sigaction oldSa;
-
-void set_oom_adj(int s);
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/extlisten.cpp b/tools/sci/org.eclipse.ptp.sci/scid/extlisten.cpp
deleted file mode 100644
index 82a9fea..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/extlisten.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: ExtListener
-
- Description: ...
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 01/06/09 tuhongj Initial code (D155101)
-
-****************************************************************************/
-
-#include <assert.h>
-#include <netdb.h>
-#include <stdlib.h>
-
-#include "stream.hpp"
-#include "log.hpp"
-#include "tools.hpp"
-
-#include "extlisten.hpp"
-#include "locker.hpp"
-#include "extlaunch.hpp"
-
-#ifdef DAEMON_PORT
-#define SCID_PORT DAEMON_PORT
-#else
-#define SCID_PORT 6188
-#endif
-
-#ifdef DAEMON_NAME
-#define SCID_NAME DAEMON_NAME
-#else
-#define SCID_NAME "sciv1"
-#endif
-
-ExtListener::ExtListener()
-{
-}
-
-ExtListener::~ExtListener()
-{
-}
-
-void ExtListener::run()
-{
- string out_val = "";
- int rc;
- bool sshAuth = false;
-
- int child = -1;
- int port = SCID_PORT;
- struct servent *serv = NULL;
- char *envp = getenv("SCI_DAEMON_NAME");
-
- if (envp != NULL) {
- serv = getservbyname(envp, "tcp");
- } else {
- serv = getservbyname(SCID_NAME, "tcp");
- }
- if (serv != NULL) {
- port = ntohs(serv->s_port);
- }
-
- rc = SysUtil::read_config("SCI_ENABLE_SSHAUTH", out_val);
- if(rc == 0) {
- if (out_val == "yes") {
- sshAuth = true;
- } else if (out_val == "no") {
- sshAuth = false;
- } else {
- log_error("Wrong value of \"SCI_ENABLE_SSHAUTH\": %s\n", out_val.c_str());
- }
- }
-
- try {
- socket.listen(port);
- }catch (SocketException &e) {
- log_error("socket exception %s", e.getErrMsg().c_str());
- setState(false);
- exit(1);
- } catch (...) {
- log_error("unknown exception");
- setState(false);
- exit(1);
- }
- log_crit("Extended listener is running");
-
- while (getState()) {
- try {
- child = socket.accept();
- } catch (SocketException &e) {
- log_error("socket exception %s", e.getErrMsg().c_str());
- break;
- } catch (...) {
- log_error("unknown exception");
- break;
- }
-
- if (child < 0)
- continue;
-
- Stream *stream = new Stream();
- stream->init(child);
- ExtLauncher *launcher = new ExtLauncher(stream, sshAuth);
- launcher->start();
- }
-
- setState(false);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/extlisten.hpp b/tools/sci/org.eclipse.ptp.sci/scid/extlisten.hpp
deleted file mode 100644
index cf96511..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/extlisten.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: ExtListener
-
- Description: ...
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 01/06/09 tuhongj Initial code (D155101)
-
-****************************************************************************/
-
-#ifndef _EXTLISTEN_HPP
-#define _EXTLISTEN_HPP
-
-#include "thread.hpp"
-#include "socket.hpp"
-
-class ExtListener : public Thread
-{
- private:
- Socket socket;
-
- public:
- ExtListener();
- virtual ~ExtListener();
-
- virtual void run();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/locker.cpp b/tools/sci/org.eclipse.ptp.sci/scid/locker.cpp
deleted file mode 100644
index 4766323..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/locker.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Locker
-
- Description: Lock Operations.
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 01/12/09 tuhongj Initial code (D155101)
-
-****************************************************************************/
-
-#include "locker.hpp"
-#include <stdio.h>
-#include <assert.h>
-#include <sched.h>
-
-Locker * Locker::locker = NULL;
-
-Locker::Locker()
-{
- ::pthread_mutex_init(&gMutex, NULL);
-
- ::pthread_mutex_init(&cMutex, NULL);
- ::pthread_cond_init(&cond, NULL);
-
- freezed = false;
-}
-
-Locker::~Locker()
-{
- ::pthread_mutex_destroy(&gMutex);
-
- ::pthread_cond_destroy(&cond);
- ::pthread_mutex_destroy(&cMutex);
-}
-
-Locker * Locker::getLocker()
-{
- if (locker == NULL) {
- locker = new Locker();
- }
-
- return locker;
-}
-
-void Locker::lock()
-{
- ::pthread_mutex_lock(&gMutex);
-}
-
-void Locker::unlock()
-{
- ::pthread_mutex_unlock(&gMutex);
-}
-
-/*
-
-Warning: do not try to use freeze() & notify() function in a same thread, the style is like:
- thread a: freeze()
- thread b: notify()
- The freeze & notification times are unlimited.
-
-*/
-
-void Locker::freeze()
-{
- ::pthread_mutex_lock(&cMutex);
- freezed= true;
- while (freezed) {
- ::pthread_cond_wait(&cond, &cMutex);
- }
- ::pthread_mutex_unlock(&cMutex);
-}
-
-void Locker::notify()
-{
- ::pthread_mutex_lock(&cMutex);
- freezed= false;
- ::pthread_cond_broadcast(&cond);
- ::pthread_mutex_unlock(&cMutex);
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/locker.hpp b/tools/sci/org.eclipse.ptp.sci/scid/locker.hpp
deleted file mode 100644
index 86f68eb..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/locker.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Locker
-
- Description: Global lock operations.
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 01/12/09 tuhongj Initial code (D155101)
-
-****************************************************************************/
-
-#ifndef _LOCKER_HPP
-#define _LOCKER_HPP
-
-#include <pthread.h>
-
-class Locker
-{
- private:
- static Locker *locker;
- pthread_mutex_t gMutex;
-
- pthread_mutex_t cMutex;
- pthread_cond_t cond;
-
- bool freezed;
-
- Locker();
-
- public:
- ~Locker();
- static Locker * getLocker();
-
- void lock();
- void unlock();
-
- void freeze();
- void notify();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/scid.cpp b/tools/sci/org.eclipse.ptp.sci/scid/scid.cpp
deleted file mode 100644
index 3e5c5e4..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/scid.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: SCI Service Daemon
-
- Author: Tu HongJ, Nicole Nie, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 01/06/09 tuhongj Initial code (D155101)
- 09/04/12 ronglli Update the logging
-
-****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <fstream>
-
-#include "tools.hpp"
-#include "log.hpp"
-#include "locker.hpp"
-
-#include "extlisten.hpp"
-#include "extlaunch.hpp"
-
-
-const int MAXFD = 128;
-JOB_INFO jobInfo;
-string pidFile;
-
-struct sigaction oldSa;
-
-void sig_term(int sig)
-{
- if (sig == SIGTERM) {
- log_crit("Terminating ... ");
- unlink(pidFile.c_str());
- exit(0);
- }
-}
-
-void daemonInit()
-{
- umask(0);
-
- ::sigaction(SIGCHLD, NULL, &oldSa);
-
- struct sigaction sa;
- sa.sa_handler = SIG_IGN;
- sa.sa_flags = 0;
- sigemptyset(&sa.sa_mask);
- sigaction(SIGHUP, &sa, NULL);
- sigaction(SIGINT, &sa, NULL);
- sigaction(SIGPIPE, &sa, NULL);
- sigaction(SIGUSR1, &sa, NULL);
- sigaction(SIGUSR2, &sa, NULL);
- sigaction(SIGCHLD, &sa, NULL);
- sa.sa_handler = sig_term;
- sigaction(SIGTERM, &sa, NULL);
-
-#if defined(_SCI_LINUX) || defined(__APPLE__)
- pid_t pid;
- if ((pid = fork()) < 0)
- exit(-1);
- else if (pid != 0) /* parent */
- exit(0);
- setsid();
-#endif
-
- chdir("/");
- /* close off file descriptors */
- for (int i = 0; i < MAXFD; i++)
- close(i);
-
- /* redirect stdin, stdout, and stderr to /dev/null */
- open("/dev/null", O_RDONLY);
- open("/dev/null", O_RDWR);
- open("/dev/null", O_RDWR);
-}
-
-void writePidFile(string &pidf)
-{
- unlink(pidf.c_str());
- ofstream pidfile(pidf.c_str());
- if (!pidfile) {
- printf("Cann't write pid file %s", pidf.c_str());
- return;
- }
- pidfile << (int)getpid();
-}
-
-int checkPidFile(string &pidf)
-{
- ifstream pidfile(pidf.c_str());
- if (!pidfile)
- return 0;
-
- string line;
- pidfile >> line;
- if (line.size() == 0)
- return 0;
-
- int pid = atoi(line.c_str());
- if (kill(pid, 0) == 0)
- return -1;
-
- return 0;
-}
-
-void usage(char * pName)
-{
- printf("%s [-p pidDir] [-l logDir] [-s severity] [-e] \n\n", pName);
- printf(" -p pidDir\t\tSpecify the pid directory. Default is: \"/var/run/\"(Linux) and \"/var/opt/\"(AIX)\n");
- printf(" -l logDir\t\tSpecify the log directory. Default is: \"/tmp/\"\n");
- printf(" -s severity\t\tSpecify the log severity. Default is: \"'3'(INFORMATION)\"\n");
- printf(" -e \t\t\tEnable the log. Default is: disabled\n");
-}
-
-int initService(int argc, char *argv[])
-{
- int i;
- char *optpattern = "hl:p:s:e";
- char *prog = argv[0];
- char *p = NULL;
- string logDir = "/tmp";
- int logLevel = Log::INFORMATION;
- int logMode = Log::DISABLE;
-#if defined(_SCI_LINUX) || defined(__APPLE__)
- string pidDir = "/var/run/";
-#else
- string pidDir = "/var/opt/";
-#endif
- string logFile;
-
- extern char *optarg;
- extern int optind;
- p = strrchr(prog, '/');
- if (p != NULL)
- p++;
- else
- p = prog;
-
- while ((i = getopt(argc, argv, optpattern)) != EOF) {
- switch (i) {
- case 'l':
- logDir = optarg;
- break ;
- case 'p':
- pidDir = optarg;
- break;
- case 's':
- logLevel = atoi(optarg);
- break;
- case 'e':
- logMode = Log::ENABLE;
- break;
- case 'h':
- usage(p);
- exit(0);
- break;
- }
- }
- pidFile = pidDir + "/" + p + ".pid";
- if (checkPidFile(pidFile) < 0) {
- printf("%s is already running...\n", p);
- return -1;
- }
- if (getuid() != 0) {
- printf("Must running as root\n");
- return -1;
- }
- daemonInit();
- writePidFile(pidFile);
-
- logFile = string(p) + ".log";
- Log::getInstance()->init(logDir.c_str(), logFile.c_str(), logLevel, logMode);
-
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
- char *envp = NULL;
-
- set_oom_adj(-1000);
- if (initService(argc, argv) != 0)
- return -1;
-
- envp = ::getenv("SCI_DISABLE_IPV6");
- if (envp && (::strcasecmp(envp, "yes") == 0)) {
- Socket::setDisableIPv6(1);
- }
-
- ExtListener *listener = new ExtListener();
- listener->start();
-
- launcherList.clear();
- while (1) {
- Locker::getLocker()->freeze();
-
- log_debug("Delete unused launcher");
- Locker::getLocker()->lock();
- vector<ExtLauncher *>::iterator lc;
- for (lc = launcherList.begin(); lc != launcherList.end(); lc++) {
- while (!(*lc)->isLaunched()) {
- // before join, this thread should have been launched
- SysUtil::sleep(WAIT_INTERVAL);
- }
- (*lc)->join();
- delete (*lc);
- }
- launcherList.clear();
- Locker::getLocker()->unlock();
-
- log_info("Begin to cleanup the jobInfo");
- Locker::getLocker()->lock();
- JOB_INFO::iterator it;
- for (it = jobInfo.begin(); it != jobInfo.end(); ) {
- if ((SysUtil::microseconds() - it->second.timestamp) > FIVE_MINUTES) {
- log_crit("Erase jobInfo item %d", it->first);
- jobInfo.erase(it++);
- } else {
- ++it;
- }
- }
- log_info("Finish cleanup the jobInfo");
- Locker::getLocker()->unlock();
- }
-
- listener->join();
- delete listener;
- delete Log::getInstance();
-
- return 0;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/scid/sciv1 b/tools/sci/org.eclipse.ptp.sci/scid/sciv1
deleted file mode 100755
index ca99c96..0000000
--- a/tools/sci/org.eclipse.ptp.sci/scid/sciv1
+++ /dev/null
@@ -1,184 +0,0 @@
-#!/bin/sh
-#
-# chkconfig: 2345 31 41
-# description: Scalable Communication Infrastructure (SCI) Service Daemon
-#
-### BEGIN INIT INFO
-# Provides: IBM
-# Required-Start:
-# Should-Start:
-# Required-Stop:
-# Should-Stop:
-# Default-Start: 3 5
-# Default-Stop: 0 1 2 6
-# Short-Description: start/stop/restart scid daemon service
-# Description: Scalable Communication Infrastructure
-# (SCI) Service Daemon, it's a daemon needed when initializing
-# SCI sessions.
-# pidfile: /var/run/scidv1.pid
-### END INIT INFO
-
-if [[ -a /etc/redhat-release ]] ; then
-
- # Source function library.
- if [ -f /etc/init.d/functions ] ; then
- . /etc/init.d/functions
- elif [ -f /etc/rc.d/init.d/functions ] ; then
- . /etc/rc.d/init.d/functions
- else
- exit 1
- fi
-
- # Avoid using root's TMPDIR
- unset TMPDIR
-
- RETVAL=0
-
- start() {
- KIND="SCI"
- echo -n $"Starting $KIND services: "
- daemon scidv1
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sciv1 || \
- RETVAL=1
- return $RETVAL
- }
-
- stop() {
- KIND="SCI"
- echo -n $"Shutting down $KIND services: "
- killproc scidv1
- RETVAL=$?
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sciv1
- echo ""
- return $RETVAL
- }
-
- restart() {
- stop
- start
- }
-
- rhstatus() {
- status scidv1
- RETVAL=$?
- if [ $RETVAL -ne 0 ] ; then
- return $RETVAL
- fi
- }
-
- # Allow status as non-root.
- if [ "$1" = status ]; then
- rhstatus
- exit $?
- fi
-
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- restart
- ;;
- status)
- rhstatus
- ;;
- *)
- echo $"Usage: $0 {start|stop|restart|status}"
- exit 2
- esac
-
- exit $?
-
-elif [[ -a /etc/SuSE-release ]] ; then
-
- SCID_BIN="/usr/sbin/scidv1"
- PID_FILE="/var/run/scidv1.pid"
- LOG_FILE="/tmp/*.scidv1.log.*"
-
- . /etc/rc.status
- rc_reset
-
- # Check for missing binary
- if [ ! -x ${SCID_BIN} ]; then
- echo -n >&2 "SCI daemon, ${SCID_BIN} is not installed. "
- rc_status -s
- exit 5
- fi
-
- case "$1" in
- start)
- echo -n "Starting SCI daemon "
- checkproc -p ${PID_FILE} ${SCID_BIN}
- case $? in
- 0) echo -n "- Warning: daemon already running. " ;;
- 1) echo -n "- Warning: ${PID_FILE} exists. " ;;
- esac
- rm -f ${LOG_FILE} >/dev/null 2>&1
- startproc -p ${PID_FILE} ${SCID_BIN}
- rc_status -v
- ;;
- stop)
- echo -n "Shutting down SCI daemon "
- checkproc -p ${PID_FILE} ${SCID_BIN} || \
- echo -n " Warning: daemon is not running. "
- killproc -p ${PID_FILE} -t 10 ${SCID_BIN}
- rc_status -v
- ;;
- restart)
- $0 stop
- $0 start
- rc_status
- ;;
- status)
- echo -n "Checking for SCI daemon "
- checkproc -p ${PID_FILE} ${SCID_BIN}
- rc_status -v
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status}"
- exit 1
- ;;
- esac
- rc_exit
-
-elif [[ -d /usr/share/ubuntu-docs ]] ; then
-
- test -f /usr/sbin/scidv1 || exit 0
-
- . /lib/lsb/init-functions
-
- case "$1" in
- start)
- log_begin_msg "Starting SCI service daemon..."
- start-stop-daemon --start --quiet --pidfile /var/run/scidv1.pid --name scidv1 --startas /usr/sbin/scidv1
- log_end_msg $?
- ;;
- stop)
- log_begin_msg "Stopping SCI service daemon..."
- start-stop-daemon --stop --quiet --pidfile /var/run/scidv1.pid --name scidv1
- log_end_msg $?
- ;;
- restart)
- log_begin_msg "Restarting SCI service daemon..."
- start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/scidv1.pid --name scidv1
- start-stop-daemon --start --quiet --pidfile /var/run/scidv1.pid --name sci --startas /usr/sbin/scidv1
- log_end_msg $?
- ;;
- *)
- log_success_msg "Usage: $0 start|stop|restart"
- exit 1
- ;;
- esac
- exit 0
-
-else
-
- echo "Error: requires Redhat, SUSE or Ubuntu"
- exit 1
-
-fi
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/.cvsignore b/tools/sci/org.eclipse.ptp.sci/secmod/.cvsignore
deleted file mode 100644
index bd5fe06..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-.deps
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.am b/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.am
deleted file mode 100644
index f9f279a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-if SYSTEM_AIX
-lib_LIBRARIES = libpsec.a
-
-PSEC_CFLAGS = -g -O0 -D_GNU_SOURCE -U_TRACE -U_DEBUG_IOLIST -U_DEBUG_RDWR -U_DEBUG_ATOM \
- -U_CHECK_MEM_LEAK -U_TRACE_RESPONDER_DELAY -U_TRACE_IO_OP -D_FILE_OFFSET_BITS=64 \
- -D_UTE_TRACE -U_TRACE_IO_FLOW -UUSE_MIO -U_MEM_HW -D_CC_SHARED_LOCK -U_ENABLE_CC_ASSERT -qmkshrobj -I../
-libpsec.a : shr_64.o shr.o libpsec_ossh.so libpsec_ossh64.so
- $(AR) -X32_64 -rv $@ shr_64.o shr.o
-
-shr_64.o : psec.64o psec_utils.64o
- $(CC) -q64 $(PSEC_CFLAGS) -o $@ $^
-
-shr.o : psec.o psec_utils.o
- $(CC) -q32 $(PSEC_CFLAGS) -o $@ $^
-
-%.o: %.c
- $(CC) -q32 -c $(PSEC_CFLAGS) -o $@ $<
-
-%.64o: %.c
- $(CC) -q64 -c $(PSEC_CFLAGS) -o $@ $<
-
-libpsec_ossh.so : psec_openssh.c
- $(CC) -q32 -g -O0 $(PSEC_CFLAGS) -o $@ $^ -lcrypto
-
-libpsec_ossh64.so : psec_openssh.c
- $(CC) -q64 -g -O0 $(PSEC_CFLAGS) -o $@ $^ -lcrypto
-
-install-exec-hook:
- cp *.so /usr/lib
-
-clean-hook:
- rm -f *.a *.so
-
-else
-lib_LTLIBRARIES = libpsec.la libpsec_ossh.la
-libpsec_la_SOURCES = psec.c psec_utils.c
-libpsec_ossh_la_SOURCES = psec_openssh.c
-libpsec_la_CFLAGS = $(PSEC_CFLAGS)
-libpsec_ossh_la_CFLAGS = $(PSEC_CFLAGS)
-install-exec-hook:
- -ln -sf $(libdir)/libpsec.so /usr/`basename $(libdir)`/libpsec.so
- -ln -sf $(libdir)/libpsec_ossh.so /usr/`basename $(libdir)`/libpsec_ossh.so
-uninstall-hook:
- -unlink /usr/`basename $(libdir)`/libsci.so
- -unlink /usr/`basename $(libdir)`/libsci_ossh.so
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.in b/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.in
deleted file mode 100644
index 99dedb8..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/Makefile.in
+++ /dev/null
@@ -1,645 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = secmod
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libdir)"
-LIBRARIES = $(lib_LIBRARIES)
-ARFLAGS = cru
-libpsec_a_AR = $(AR) $(ARFLAGS)
-libpsec_a_LIBADD =
-libpsec_a_SOURCES = libpsec.c
-libpsec_a_OBJECTS = libpsec.$(OBJEXT)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-libpsec_la_LIBADD =
-am__libpsec_la_SOURCES_DIST = psec.c psec_utils.c
-@SYSTEM_AIX_FALSE@am_libpsec_la_OBJECTS = libpsec_la-psec.lo \
-@SYSTEM_AIX_FALSE@ libpsec_la-psec_utils.lo
-libpsec_la_OBJECTS = $(am_libpsec_la_OBJECTS)
-libpsec_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libpsec_la_CFLAGS) \
- $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-@SYSTEM_AIX_FALSE@am_libpsec_la_rpath = -rpath $(libdir)
-libpsec_ossh_la_LIBADD =
-am__libpsec_ossh_la_SOURCES_DIST = psec_openssh.c
-@SYSTEM_AIX_FALSE@am_libpsec_ossh_la_OBJECTS = \
-@SYSTEM_AIX_FALSE@ libpsec_ossh_la-psec_openssh.lo
-libpsec_ossh_la_OBJECTS = $(am_libpsec_ossh_la_OBJECTS)
-libpsec_ossh_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libpsec_ossh_la_CFLAGS) \
- $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-@SYSTEM_AIX_FALSE@am_libpsec_ossh_la_rpath = -rpath $(libdir)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = libpsec.c $(libpsec_la_SOURCES) $(libpsec_ossh_la_SOURCES)
-DIST_SOURCES = libpsec.c $(am__libpsec_la_SOURCES_DIST) \
- $(am__libpsec_ossh_la_SOURCES_DIST)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-@SYSTEM_AIX_TRUE@lib_LIBRARIES = libpsec.a
-@SYSTEM_AIX_TRUE@PSEC_CFLAGS = -g -O0 -D_GNU_SOURCE -U_TRACE -U_DEBUG_IOLIST -U_DEBUG_RDWR -U_DEBUG_ATOM \
-@SYSTEM_AIX_TRUE@ -U_CHECK_MEM_LEAK -U_TRACE_RESPONDER_DELAY -U_TRACE_IO_OP -D_FILE_OFFSET_BITS=64 \
-@SYSTEM_AIX_TRUE@ -D_UTE_TRACE -U_TRACE_IO_FLOW -UUSE_MIO -U_MEM_HW -D_CC_SHARED_LOCK -U_ENABLE_CC_ASSERT -qmkshrobj -I../
-
-@SYSTEM_AIX_FALSE@lib_LTLIBRARIES = libpsec.la libpsec_ossh.la
-@SYSTEM_AIX_FALSE@libpsec_la_SOURCES = psec.c psec_utils.c
-@SYSTEM_AIX_FALSE@libpsec_ossh_la_SOURCES = psec_openssh.c
-@SYSTEM_AIX_FALSE@libpsec_la_CFLAGS = $(PSEC_CFLAGS)
-@SYSTEM_AIX_FALSE@libpsec_ossh_la_CFLAGS = $(PSEC_CFLAGS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu secmod/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu secmod/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-libLIBRARIES: $(lib_LIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; }
- @$(POST_INSTALL)
- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- if test -f $$p; then \
- $(am__strip_dir) \
- echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \
- ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \
- else :; fi; \
- done
-
-uninstall-libLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \
- cd "$(DESTDIR)$(libdir)" && rm -f $$files
-
-clean-libLIBRARIES:
- -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
-@SYSTEM_AIX_FALSE@libpsec.a: $(libpsec_a_OBJECTS) $(libpsec_a_DEPENDENCIES)
-@SYSTEM_AIX_FALSE@ -rm -f libpsec.a
-@SYSTEM_AIX_FALSE@ $(libpsec_a_AR) libpsec.a $(libpsec_a_OBJECTS) $(libpsec_a_LIBADD)
-@SYSTEM_AIX_FALSE@ $(RANLIB) libpsec.a
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libpsec.la: $(libpsec_la_OBJECTS) $(libpsec_la_DEPENDENCIES)
- $(libpsec_la_LINK) $(am_libpsec_la_rpath) $(libpsec_la_OBJECTS) $(libpsec_la_LIBADD) $(LIBS)
-libpsec_ossh.la: $(libpsec_ossh_la_OBJECTS) $(libpsec_ossh_la_DEPENDENCIES)
- $(libpsec_ossh_la_LINK) $(am_libpsec_ossh_la_rpath) $(libpsec_ossh_la_OBJECTS) $(libpsec_ossh_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsec.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsec_la-psec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsec_la-psec_utils.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpsec_ossh_la-psec_openssh.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-libpsec_la-psec.lo: psec.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsec_la_CFLAGS) $(CFLAGS) -MT libpsec_la-psec.lo -MD -MP -MF $(DEPDIR)/libpsec_la-psec.Tpo -c -o libpsec_la-psec.lo `test -f 'psec.c' || echo '$(srcdir)/'`psec.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libpsec_la-psec.Tpo $(DEPDIR)/libpsec_la-psec.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='psec.c' object='libpsec_la-psec.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsec_la_CFLAGS) $(CFLAGS) -c -o libpsec_la-psec.lo `test -f 'psec.c' || echo '$(srcdir)/'`psec.c
-
-libpsec_la-psec_utils.lo: psec_utils.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsec_la_CFLAGS) $(CFLAGS) -MT libpsec_la-psec_utils.lo -MD -MP -MF $(DEPDIR)/libpsec_la-psec_utils.Tpo -c -o libpsec_la-psec_utils.lo `test -f 'psec_utils.c' || echo '$(srcdir)/'`psec_utils.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libpsec_la-psec_utils.Tpo $(DEPDIR)/libpsec_la-psec_utils.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='psec_utils.c' object='libpsec_la-psec_utils.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsec_la_CFLAGS) $(CFLAGS) -c -o libpsec_la-psec_utils.lo `test -f 'psec_utils.c' || echo '$(srcdir)/'`psec_utils.c
-
-libpsec_ossh_la-psec_openssh.lo: psec_openssh.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsec_ossh_la_CFLAGS) $(CFLAGS) -MT libpsec_ossh_la-psec_openssh.lo -MD -MP -MF $(DEPDIR)/libpsec_ossh_la-psec_openssh.Tpo -c -o libpsec_ossh_la-psec_openssh.lo `test -f 'psec_openssh.c' || echo '$(srcdir)/'`psec_openssh.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libpsec_ossh_la-psec_openssh.Tpo $(DEPDIR)/libpsec_ossh_la-psec_openssh.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='psec_openssh.c' object='libpsec_ossh_la-psec_openssh.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpsec_ossh_la_CFLAGS) $(CFLAGS) -c -o libpsec_ossh_la-psec_openssh.lo `test -f 'psec_openssh.c' || echo '$(srcdir)/'`psec_openssh.c
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES) $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-@SYSTEM_AIX_TRUE@uninstall-hook:
-clean: clean-am
-
-clean-am: clean-generic clean-libLIBRARIES clean-libLTLIBRARIES \
- clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLIBRARIES install-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLIBRARIES uninstall-libLTLIBRARIES
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
-.MAKE: install-am install-exec-am install-strip uninstall-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLIBRARIES clean-libLTLIBRARIES clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-exec-hook install-html install-html-am \
- install-info install-info-am install-libLIBRARIES \
- install-libLTLIBRARIES install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-hook \
- uninstall-libLIBRARIES uninstall-libLTLIBRARIES
-
-@SYSTEM_AIX_TRUE@libpsec.a : shr_64.o shr.o libpsec_ossh.so libpsec_ossh64.so
-@SYSTEM_AIX_TRUE@ $(AR) -X32_64 -rv $@ shr_64.o shr.o
-
-@SYSTEM_AIX_TRUE@shr_64.o : psec.64o psec_utils.64o
-@SYSTEM_AIX_TRUE@ $(CC) -q64 $(PSEC_CFLAGS) -o $@ $^
-
-@SYSTEM_AIX_TRUE@shr.o : psec.o psec_utils.o
-@SYSTEM_AIX_TRUE@ $(CC) -q32 $(PSEC_CFLAGS) -o $@ $^
-
-@SYSTEM_AIX_TRUE@%.o: %.c
-@SYSTEM_AIX_TRUE@ $(CC) -q32 -c $(PSEC_CFLAGS) -o $@ $<
-
-@SYSTEM_AIX_TRUE@%.64o: %.c
-@SYSTEM_AIX_TRUE@ $(CC) -q64 -c $(PSEC_CFLAGS) -o $@ $<
-
-@SYSTEM_AIX_TRUE@libpsec_ossh.so : psec_openssh.c
-@SYSTEM_AIX_TRUE@ $(CC) -q32 -g -O0 $(PSEC_CFLAGS) -o $@ $^ -lcrypto
-
-@SYSTEM_AIX_TRUE@libpsec_ossh64.so : psec_openssh.c
-@SYSTEM_AIX_TRUE@ $(CC) -q64 -g -O0 $(PSEC_CFLAGS) -o $@ $^ -lcrypto
-
-@SYSTEM_AIX_TRUE@install-exec-hook:
-@SYSTEM_AIX_TRUE@ cp *.so /usr/lib
-
-@SYSTEM_AIX_TRUE@clean-hook:
-@SYSTEM_AIX_TRUE@ rm -f *.a *.so
-@SYSTEM_AIX_FALSE@install-exec-hook:
-@SYSTEM_AIX_FALSE@ -ln -sf $(libdir)/libpsec.so /usr/`basename $(libdir)`/libpsec.so
-@SYSTEM_AIX_FALSE@ -ln -sf $(libdir)/libpsec_ossh.so /usr/`basename $(libdir)`/libpsec_ossh.so
-@SYSTEM_AIX_FALSE@uninstall-hook:
-@SYSTEM_AIX_FALSE@ -unlink /usr/`basename $(libdir)`/libsci.so
-@SYSTEM_AIX_FALSE@ -unlink /usr/`basename $(libdir)`/libsci_ossh.so
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/psec.c b/tools/sci/org.eclipse.ptp.sci/secmod/psec.c
deleted file mode 100644
index 3c57f6d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/psec.c
+++ /dev/null
@@ -1,676 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Description: psec functions from poe
-
- Author: Serban Maerean
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 serban Initial code (D153875)
-
-****************************************************************************/
-#include <pthread.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#include <dlfcn.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-#include "psec.h"
-#include "psec_lib.h"
-#include "psec_mod.h"
-
-char *_psec_rtne_list[PSM_SYMTBLE_SIZE] = {
-#define PSM__INIT 0
- "psm__init",
-#define PSM__CLEANUP 1
- "psm__cleanup",
-#define PSM__GET_ID_TOKEN 2
- "psm__get_id_token",
-#define PSM__VERIFY_ID_TOKEN 3
- "psm__verify_id_token",
-#define PSM__GET_ID_FROM_TOKEN 4
- "psm__get_id_from_token",
-#define PSM__FREE_ID_TOKEN 5
- "psm__free_id_token",
-#define PSM__GET_KEY_FROM_TOKEN 6
- "psm__get_key_from_token",
-#define PSM__SIGN_DATA 7
- "psm__sign_data",
-#define PSM__VERIFY_DATA 8
- "psm__verify_data",
-#define PSM__FREE_SIGNATURE 9
- "psm__free_signature"};
-
-
-_psec_state_desc _PSEC_STATE = {0, PTHREAD_MUTEX_INITIALIZER, 0, NULL, NULL};
-
-int
-_psec_load_auth_module(
- _psec_module_t psmp)
-{
- int rc = 0;
-do {
- if (!psmp) {
- // printf("Error [%s:d]: internal error: invalid auth module_pinter\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_PTR_ERR; break;
- }
- pthread_mutex_lock(&psmp->psm_mutex);
- pthread_cleanup_push((void(*)(void *))pthread_mutex_unlock, (void *)&psmp->psm_mutex);
-do {
- if (PSM_STATE_INITED&psmp->psm_stindex) break; // already init'ed
-do {
- if (PSM_STATE_LOADED&psmp->psm_stindex) break; // already loaded
- if (!psmp->psm_fpath) {
- // printf("Error [%s:%d]: internal error: invalid module file path (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- rc = PSEC_MODULE_PATH_ERR; break;
- }
- if (!(psmp->psm_object = dlopen(psmp->psm_fpath, RTLD_NOW))) {
- // char *errmsg = dlerror();
- // printf("Error [%s:%d]: dlopen() failed: %s\n", __FILE__, __LINE__, errmsg?errmsg:"<no error message>");
- rc = PSEC_DLOPEN_ERR; break;
- }
-do {
- // resolve all the symbols
- int i; for (i=0; i<PSM_SYMTBLE_SIZE; i++) {
- if (!(psmp->psm_symtble[i] = dlsym(psmp->psm_object, _psec_rtne_list[i]))) {
- // char *errmsg = dlerror();
- // printf("Error [%s:%d]: dlsym() failed: %s\n", __FILE__, __LINE__, errmsg?errmsg:"<no error message>");
- if (i<6) rc = PSEC_DLSYM_ERR+i;
- break;
- }
- }
- if (rc) {
- memset(psmp->psm_symtble, 0, sizeof(psmp->psm_symtble));
- break;
- }
-} while (0);
- if (rc) {
- dlclose(psmp->psm_object); psmp->psm_object = NULL;
- break;
- }
- psmp->psm_stindex |= PSM_STATE_LOADED;
-} while (0);
- if (rc) break;
- pthread_cleanup_push((void (*)(void *))(psmp->psm_symtble[PSM__CLEANUP]), NULL);
-do {
- // call the module's initialization routine
- if (rc = ((int(*)())psmp->psm_symtble[PSM__INIT])(psmp->psm_opts)) {
- ((void (*)())psmp->psm_symtble[PSM__CLEANUP])();
- // printf("Error [%s:%d]: init failed w/rc = %d for module %s\n", __FILE__, __LINE__, rc, psmp->psm_fpath);
- rc = PSEC_MODULE_INIT_ERR; break;
- }
- psmp->psm_stindex |= PSM_STATE_INITED;
-} while (0);
- pthread_cleanup_pop(0);
-} while (0);
- pthread_cleanup_pop(1);
-} while (0);
- return rc;
-}
-
-int
-psec_set_auth_module(
- char *name,
- char *fpath,
- char *opts,
- unsigned int *mdlhndl)
-{
- int rc = 0, tmdlhndl;
-do {
- // check arguments
- if (!fpath) { rc = PSEC_ARGS_ERR; break; }
- if ('/'!=fpath[0]) { rc = PSEC_MODULE_PATH_ERR; break; }
-{
- struct stat amsbuf = {0};
- if (0>stat(fpath, &amsbuf)) {
- // printf("Error [%s:%d]: stat() failed w/errno = %d for %s\n", __FILE__, __LINE__, errno, fpath);
- rc = PSEC_MODULE_FILE_ERR; break;
- }
- if (!S_ISREG(amsbuf.st_mode)) { rc = PSEC_MODULE_IREG_ERR; break; }
- if (0==amsbuf.st_size) { rc = PSEC_MODULE_SIZE_ERR; break; }
-}
-{ // get the mutex lock and load the authentication module
- _psec_module_t psmp = NULL;
- pthread_mutex_lock(&_PSEC_STATE.pss_mutex);
- pthread_cleanup_push((void(*)(void *))pthread_mutex_unlock, &_PSEC_STATE.pss_mutex);
-do {
- // search for an existing entry
- psmp = _PSEC_STATE.pss_modules;
- while (psmp) {
- if (!strcmp(psmp->psm_fpath, fpath)) break;
- psmp = psmp->next;
- }
- if (psmp) break; // module data already allocated
- // allocate memory for the module's internal data structure
- psmp = malloc(sizeof(_psec_module_sec));
- if (!psmp) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = PSEC_MEMORY_ERR; break;
- }
-do {
- memset(psmp, 0, sizeof(*psmp));
- if (rc = pthread_mutex_init(&psmp->psm_mutex, NULL)) {
- // printf("Error [%s:%d]: pthread_mutex_init() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- rc = PSEC_MUTEX_INIT_ERR; break;
- }
-do {
- if (!(psmp->psm_fpath = strdup(fpath))) {
- // printf("Error [%s:%d]: strdup() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = PSEC_MEMORY2_ERR; break;
- }
-do {
- if (name&&!(psmp->psm_name = strdup(name))) {
- // printf("Error [%s:%d] strdup() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = PSEC_MEMORY3_ERR; break;
- }
-do {
-do { // translate options
- // options are a list of comma separated characters (no spaces allowed);
- // options can have values within square brackets, immediately
- // following the character identifying the option.
- // one important optiom is 'm' and it defines the options that the
- // shared library will pass to the auth module's init function
- // if there is no value to this option, the auth module's init function
- // will get a NULL pointer
- char *cp = opts;
- if (!cp||('\0'==*cp)) break;
- do {
- switch (*cp) {
- case 'm': case 'M':
- if (psmp->psm_opts) {
- // printf("Error [%s:%d]: module options can be specified only once\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_OPTS_ERR; break;
- }
- if (('\0'==*++cp)||('['!=*cp)) break; // no value
-{ // find the end of module options string
- char *endcp = cp++;
- while (*++endcp) {
- int noofbkslshs = 0;
- if (!(endcp = strchr(endcp, ']'))) {
- // printf("Error [%s:%d]: no closing bracket in module options\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_OPTS2_ERR; break;
- }
-{ // check whether quote is back-slashed
- char *tcp = endcp;
- while ('\\' == *--tcp) noofbkslshs++;
-}
- if (0==noofbkslshs%2) break; // non-back-slashed quote
- }
- if (0<endcp-cp) {
- if (!(psmp->psm_opts = calloc(endcp-cp+1, sizeof(char)))) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = PSEC_MEMORY4_ERR; break;
- }
- strncpy(psmp->psm_opts, cp, endcp-cp);
- }
- cp = endcp;
-}
- break;
- default:
- // ignore unknown options
- break;
- }
- if (rc) break;
- } while (*++cp);
-} while (0);
- if (rc) break;
-{ // add the module's data structure to the list
- _psec_module_t *tmdlslist = NULL;
- if (!(tmdlslist = realloc(_PSEC_STATE.pss_mdlslist, (_PSEC_STATE.pss_modcnt+1)*sizeof(_psec_module_t)))) {
- // printf("Error [%s:%d]: realloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = PSEC_MEMORY5_ERR; break;
- }
- _PSEC_STATE.pss_mdlslist = tmdlslist;
-}
- _PSEC_STATE.pss_mdlslist[_PSEC_STATE.pss_modcnt++] = psmp;
- psmp->psm_stindex = (0xffff&_PSEC_STATE.pss_modcnt)<<16;
- __add_elem_to_dllist((__dlink_elem_t)psmp, (__dlink_elem_t *)&_PSEC_STATE.pss_modules);
-} while (0);
- if (rc&&psmp->psm_opts) free(psmp->psm_opts);
- if (rc&&psmp->psm_name) free(psmp->psm_name);
-} while (0);
- if (rc) free(psmp->psm_fpath);
-} while (0);
- if (rc) pthread_mutex_destroy(&psmp->psm_mutex);
-} while (0);
- if (rc) free(psmp);
-} while (0);
- pthread_cleanup_pop(1);
- if (rc) break;
- tmdlhndl = (0xffff0000&psmp->psm_stindex)>>16;
- if (!(PSM_STATE_INITED&psmp->psm_stindex)) {
- if (rc = _psec_load_auth_module(psmp)) {
- // printf("Error [%s:%d]: failed to load and init auth module (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- break;
- }
- }
-}
- *mdlhndl = tmdlhndl;
-} while (0);
- return rc;
-}
-
-int
-psec_get_id_token(
- unsigned int mdlhndl,
- char *tname,
- char *thost,
- psec_idbuf_t idtok)
-{
- int rc = 0;
-do {
- // check arguments
- if (!idtok) {
- // printf("Error [%s:%d]: invalid id token argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS_ERR; break;
- }
- // find the authentication module by handle
- if ((1>mdlhndl)||(_PSEC_STATE.pss_modcnt<mdlhndl)) {
- // printf("Error [%s:%d]: invalid module handle\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL_ERR; break;
- }
-{
- _psec_module_t psmp = _PSEC_STATE.pss_mdlslist[mdlhndl-1];
- if (!psmp||(mdlhndl!=((0xfff000&psmp->psm_stindex)>>16))) {
- // this should not happen, something went very wrong
- // printf("Error [%s:%d]: internal failure: no auth module\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL2_ERR; break;
- }
- // check the module's state
- if (!(PSM_STATE_INITED&psmp->psm_stindex)) {
- if (rc = _psec_load_auth_module(psmp)) {
- // printf("Error [%s:%d]: failed to load and init auth module (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- break;
- }
- }
- // call the module's routine
- if (rc = ((int(*)(char*, char *, psec_idbuf_t))psmp->psm_symtble[PSM__GET_ID_TOKEN])(tname, thost, idtok)) {
- // printf("Error [%s:%d]: auth module's get_id_token() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- rc = PSEC_MODULE_INTERNAL_ERR; break;
- }
-}
-} while (0);
- return rc;
-}
-
-int
-psec_verify_id_token(
- unsigned int mdlhndl,
- char *uname,
- psec_idbuf_t idtok)
-{
- int rc = 0;
-do {
- // check arguments
- if (!idtok) {
- // printf("Error [%s:%d]: invalid id token argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS_ERR; break;
- }
- // find the authentication module by handle
- if ((1>mdlhndl)||(_PSEC_STATE.pss_modcnt<mdlhndl)) {
- // printf("Error [%s:%d]: invalid module handle\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL_ERR; break;
- }
-{
- _psec_module_t psmp = _PSEC_STATE.pss_mdlslist[mdlhndl-1];
- if (!psmp||(mdlhndl!=((0xfff000&psmp->psm_stindex)>>16))) {
- // this should not happen, something went very wrong
- // printf("Error [%s:%d]: internal failure: no auth module\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL2_ERR; break;
- }
- // check the module's state
- if (!(PSM_STATE_INITED&psmp->psm_stindex)) {
- if (rc = _psec_load_auth_module(psmp)) {
- // printf("Error [%s:%d]: failed to load and init auth module (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- break;
- }
- }
- // call the module's routine
- if (rc = ((int(*)(char *, psec_idbuf_t))psmp->psm_symtble[PSM__VERIFY_ID_TOKEN])(uname, idtok)) {
- // printf("Error [%s:%d]: auth module's verify_id_token() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- rc = PSEC_MODULE_INTERNAL_ERR; break;
- }
-}
-} while (0);
- return rc;
-}
-
-int
-psec_get_id_from_token(
- unsigned int mdlhndl,
- psec_idbuf_t idtok,
- char *usrid,
- size_t *usridlen)
-{
- int rc = 0;
-do {
- // check arguments
- if (!idtok) {
- // printf("Error [%s:%d]: invalid id token argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS_ERR; break;
- }
- if (!usridlen) {
- // printf("Error [%s:%d]: invalid id length argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS3_ERR; break;
- }
- if ((0!=*usridlen)&&(!usrid)) {
- // printf("Error [%s:%d]: invalid id argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS2_ERR; break;
- }
- // find the authentication module by handle
- if ((1>mdlhndl)||(_PSEC_STATE.pss_modcnt<mdlhndl)) {
- // printf("Error [%s:%d]: invalid module handle\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL_ERR; break;
- }
-{
- _psec_module_t psmp = _PSEC_STATE.pss_mdlslist[mdlhndl-1];
- if (!psmp||(mdlhndl!=((0xfff000&psmp->psm_stindex)>>16))) {
- // this should not happen, something went very wrong
- // printf("Error [%s:%d]: internal failure: no auth module\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL2_ERR; break;
- }
- // check the module's state
- if (!(PSM_STATE_INITED&psmp->psm_stindex)) {
- if (rc = _psec_load_auth_module(psmp)) {
- // printf("Error [%s:%d]: failed to load and init auth module (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- break;
- }
- }
- // call the module's routine
- if (rc = ((int(*)(psec_idbuf_t, char*, size_t *))psmp->psm_symtble[PSM__GET_ID_FROM_TOKEN])(idtok, usrid, usridlen)) {
- // printf("Error [%s:%d]: auth module's get_id_from_token() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- if (PSM__MEMORY_ERR == rc) { rc = PSEC_MEMORY_ERR; break; }
- rc = PSEC_MODULE_INTERNAL_ERR; break;
- }
-}
-} while (0);
- return rc;
-}
-
-int
-psec_get_key_from_token(
- unsigned int mdlhndl,
- char *uname,
- psec_idbuf_t idtok,
- char *key,
- size_t *keylen)
-{
- int rc = 0;
-do {
- // check arguments
- if (!idtok) {
- // printf("Error [%s:%d]: invalid id token argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS_ERR; break;
- }
- if (!keylen) {
- // printf("Error [%s:%d]: invalid key length argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS3_ERR; break;
- }
- if ((0!=*keylen)&&(!key)) {
- // printf("Error [%s:%d]: invalid key argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS2_ERR; break;
- }
- // find the authentication module by handle
- if ((1>mdlhndl)||(_PSEC_STATE.pss_modcnt<mdlhndl)) {
- // printf("Error [%s:%d]: invalid module handle\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL_ERR; break;
- }
-{
- _psec_module_t psmp = _PSEC_STATE.pss_mdlslist[mdlhndl-1];
- if (!psmp||(mdlhndl!=((0xfff000&psmp->psm_stindex)>>16))) {
- // this should not happen, something went very wrong
- // printf("Error [%s:%d]: internal failure: no auth module\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL2_ERR; break;
- }
- // check the module's state
- if (!(PSM_STATE_INITED&psmp->psm_stindex)) {
- if (rc = _psec_load_auth_module(psmp)) {
- // printf("Error [%s:%d]: failed to load and init auth module (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- break;
- }
- }
- // check whether routine supported by authentication module
- if (!psmp->psm_symtble[PSM__GET_KEY_FROM_TOKEN]) {
- // printf("Error [%s:%d]: function not supported\n", __FILE__, __LINE__);
- rc = PSEC_NOT_SUPPORTED_ERR; break;
- }
- // call the module's routine
- if (rc = ((int(*)(char *, psec_idbuf_t, char *, size_t *))psmp->psm_symtble[PSM__GET_KEY_FROM_TOKEN])(uname, idtok, key, keylen)) {
- // printf("Error [%s:%d]: auth module's get_key_from_token() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- if (PSM__MEMORY_ERR == rc) { rc = PSEC_MEMORY_ERR; break; }
- rc = PSEC_MODULE_INTERNAL_ERR; break;
- }
-}
-} while (0);
- return rc;
-}
-
-int
-psec_sign_data(
- unsigned int mdlhndl,
- char *key,
- size_t keylen,
- struct iovec *in,
- int cnt,
- struct iovec *signature)
-{
- int rc = 0;
-do {
- // check arguments
- if (!key) {
- // printf("Error [%s:%d]: invalid key argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS_ERR; break;
- }
- if (0==keylen) {
- // printf("Error [%s:%d]: invalid key length argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS2_ERR; break;
- }
- if ((NULL==in)||(0==in->iov_len)||(NULL==in->iov_base)) {
- // printf("Error [%s:%d]: invalid input data argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS3_ERR; break;
- }
- if (NULL==signature) {
- // printf("Error [%s:%d]: invalid signature argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS4_ERR; break;
- }
- // find the authentication module by handle
- if ((1>mdlhndl)||(_PSEC_STATE.pss_modcnt<mdlhndl)) {
- // printf("Error [%s:%d]: invalid module handle\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL_ERR; break;
- }
-{
- _psec_module_t psmp = _PSEC_STATE.pss_mdlslist[mdlhndl-1];
- if (!psmp||(mdlhndl!=((0xfff000&psmp->psm_stindex)>>16))) {
- // this should not happen, something went very wrong
- // printf("Error [%s:%d]: internal failure: no auth module\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL2_ERR; break;
- }
- // check the module's state
- if (!(PSM_STATE_INITED&psmp->psm_stindex)) {
- if (rc = _psec_load_auth_module(psmp)) {
- // printf("Error [%s:%d]: failed to load and init auth module (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- break;
- }
- }
- // check whether routine is supported by authentication module
- if (!psmp->psm_symtble[PSM__SIGN_DATA]) {
- // printf("Error [%s:%d]: function not supported\n", __FILE__, __LINE__);
- rc = PSEC_NOT_SUPPORTED_ERR; break;
- }
- // call the module's routine
- if (rc = ((int(*)(char*, size_t, struct iovec*, int, struct iovec*))psmp->psm_symtble[PSM__SIGN_DATA])(key, keylen, in, cnt, signature)) {
- // printf("Error [%s:%d]: auth module's sign_data() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- if (PSM__MEMORY_ERR == rc) { rc = PSEC_MEMORY_ERR; break; }
- rc = PSEC_MODULE_INTERNAL_ERR; break;
- }
-}
-} while (0);
- return rc;
-}
-
-int
-psec_verify_data(
- unsigned int mdlhndl,
- char *key,
- size_t keylen,
- struct iovec *in,
- int cnt,
- struct iovec *signature)
-{
- int rc = 0;
-do {
- // check arguments
- if (!key) {
- // printf("Error [%s:%d]: invalid key argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS_ERR; break;
- }
- if (0==keylen) {
- // printf("Error [%s:%d]: invalid key length argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS2_ERR; break;
- }
- if ((NULL==in)||(0==cnt)) {
- // printf("Error [%s:%d]: invalid input data argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS3_ERR; break;
- }
- if ((NULL==signature)||(0==signature->iov_len)||(NULL==signature->iov_base)) {
- // printf("Error [%s:%d]: invalid signature argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS4_ERR; break;
- }
- // find the authentication module by handle
- if ((1>mdlhndl)||(_PSEC_STATE.pss_modcnt<mdlhndl)) {
- // printf("Error [%s:%d]: invalid module handle\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL_ERR; break;
- }
-{
- _psec_module_t psmp = _PSEC_STATE.pss_mdlslist[mdlhndl-1];
- if (!psmp||(mdlhndl!=((0xfff000&psmp->psm_stindex)>>16))) {
- // this should not happen, something went very wrong
- // printf("Error [%s:%d]: internal failure: no auth module\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL2_ERR; break;
- }
- // check the module's state
- if (!(PSM_STATE_INITED&psmp->psm_stindex)) {
- if (rc = _psec_load_auth_module(psmp)) {
- // printf("Error [%s:%d]: failed to load and init auth module (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- break;
- }
- }
- // check whether routine is supported by authentication module
- if (!psmp->psm_symtble[PSM__VERIFY_DATA]) {
- // printf("Error [%s:%d]: function not supported\n", __FILE__, __LINE__);
- rc = PSEC_NOT_SUPPORTED_ERR; break;
- }
- // call the module's routine
- if (rc = ((int(*)(char*, size_t, struct iovec*, int, struct iovec*))psmp->psm_symtble[PSM__VERIFY_DATA])(key, keylen, in, cnt, signature)) {
- // printf("Error [%s:%d]: auth module's verify_data() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- if (PSM__MEMORY_ERR == rc) { rc = PSEC_MEMORY_ERR; break; }
- rc = PSEC_MODULE_INTERNAL_ERR; break;
- }
-}
-} while (0);
- return rc;
-
-}
-
-int
-psec_free_id_token(
- unsigned int mdlhndl,
- psec_idbuf_t idtok)
-{
- int rc = 0;
-do {
- // check arguments
- if (!idtok) {
- // printf("Error [%s:%d]: invalid id token argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS_ERR; break;
- }
- // find the authentication module by handle
- if ((1>mdlhndl)||(_PSEC_STATE.pss_modcnt<mdlhndl)) {
- // printf("Error [%s:%d]: invalid module handle\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL_ERR; break;
- }
-{
- _psec_module_t psmp = _PSEC_STATE.pss_mdlslist[mdlhndl-1];
- if (!psmp||(mdlhndl!=((0xfff000&psmp->psm_stindex)>>16))) {
- // this should not happen, something went very wrong
- // printf("Error [%s:%d]: internal failure: no auth module\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL2_ERR; break;
- }
- // check the module's state
- if (!(PSM_STATE_INITED&psmp->psm_stindex)) {
- if (rc = _psec_load_auth_module(psmp)) {
- // printf("Error [%s:%d]: failed to load and init auth module (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- break;
- }
- }
- // call the module's routine
- if (rc = ((int(*)(psec_idbuf_t))psmp->psm_symtble[PSM__FREE_ID_TOKEN])(idtok)) {
- // printf("Error [%s:%d]: auth module's free_id_token() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- rc = PSEC_MODULE_INTERNAL_ERR; break;
- }
-}
-} while (0);
- return rc;
-}
-
-int
-psec_free_signature(
- unsigned int mdlhndl,
- struct iovec *signature)
-{
- int rc = 0;
-do {
- // check arguments
- if (!signature) {
- // printf("Error [%s:%d]: invalid signature argument\n", __FILE__, __LINE__);
- rc = PSEC_ARGS_ERR; break;
- }
- // find the authentication module by handle
- if ((1>mdlhndl)||(_PSEC_STATE.pss_modcnt<mdlhndl)) {
- // printf("Error [%s:%d]: invalid module handle\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL_ERR; break;
- }
-{
- _psec_module_t psmp = _PSEC_STATE.pss_mdlslist[mdlhndl-1];
- if (!psmp||(mdlhndl!=((0xfff000&psmp->psm_stindex)>>16))) {
- // this should not happen, something went very wrong
- // printf("Error [%s:%d]: internal failure: no auth module\n", __FILE__, __LINE__);
- rc = PSEC_MODULE_HNDL2_ERR; break;
- }
- // check the module's state
- if (!(PSM_STATE_INITED&psmp->psm_stindex)) {
- if (rc = _psec_load_auth_module(psmp)) {
- // printf("Error [%s:%d]: failed to load and init auth module (%s)\n", __FILE__, __LINE__, psmp->psm_fpath);
- break;
- }
- }
- // check whether routine is supported by authentication module
- if (!psmp->psm_symtble[PSM__FREE_SIGNATURE]) {
- // printf("Error [%s:%d]: function not supported\n", __FILE__, __LINE__);
- rc = PSEC_NOT_SUPPORTED_ERR; break;
- }
- // call the module's routine
- if (rc = ((int(*)(psec_idbuf_t))psmp->psm_symtble[PSM__FREE_SIGNATURE])(signature)) {
- // printf("Error [%s:%d]: auth module's free_id_token() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- rc = PSEC_MODULE_INTERNAL_ERR; break;
- }
-}
-} while (0);
- return rc;
-}
-
-// EOF
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/psec.h b/tools/sci/org.eclipse.ptp.sci/secmod/psec.h
deleted file mode 100644
index 1b87a8a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/psec.h
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Description: psec functions from poe
-
- Author: Serban Maerean
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 serban Initial code (D153875)
-
-****************************************************************************/
-#include <stdlib.h>
-#include <sys/uio.h>
-
-#ifndef _H_PSEC_H
-#define _H_PSEC_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define PSEC_MEMORY_ERR 1
-#define PSEC_MEMORY2_ERR 2
-#define PSEC_MEMORY3_ERR 3
-#define PSEC_MEMORY4_ERR 4
-#define PSEC_MEMORY5_ERR 5
-#define PSEC_ARGS_ERR 11
-#define PSEC_ARGS2_ERR 12
-#define PSEC_ARGS3_ERR 13
-#define PSEC_ARGS4_ERR 14
-#define PSEC_INTERNAL_ERR 20
-#define PSEC_MUTEX_INIT_ERR 30
-#define PSEC_MODULE_PTR_ERR 101
-#define PSEC_MODULE_PATH_ERR 102
-#define PSEC_MODULE_FILE_ERR 103
-#define PSEC_MODULE_IREG_ERR 104
-#define PSEC_MODULE_SIZE_ERR 105
-#define PSEC_MODULE_INIT_ERR 106
-#define PSEC_MODULE_OPTS_ERR 107
-#define PSEC_MODULE_OPTS2_ERR 108
-#define PSEC_MODULE_INTERNAL_ERR 109
-#define PSEC_MODULE_HNDL_ERR 111
-#define PSEC_MODULE_HNDL2_ERR 112
-#define PSEC_DLOPEN_ERR 120
-#define PSEC_DLSYM_ERR 121
-#define PSEC_DLSYM2_ERR 122
-#define PSEC_DLSYM3_ERR 123
-#define PSEC_DLSYM4_ERR 124
-#define PSEC_DLSYM5_ERR 125
-#define PSEC_DLSYM6_ERR 126
-#define PSEC_NOT_SUPPORTED_ERR 150
-
-typedef struct iovec psec_idbuf_desc, *psec_idbuf_t;
-
-int
-psec_set_auth_module( /* sets the authentication module params */
- char *, /* mnemonic--can be NULL */
- char *, /* file full path name */
- char *, /* flags--can be NULL */
- unsigned int *); /* return handle to the authentication method */
-
-int
-psec_get_id_token( /* get a client's identity token */
- unsigned int, /* handle to the authentication method */
- char *, /* target user identity */
- char *, /* target host name */
- psec_idbuf_t); /* address of identity buffer descriptor */
-
-int
-psec_verify_id_token( /* verifies a client's identity token */
- unsigned int, /* handle to the authentication method */
- char *, /* name of target user */
- psec_idbuf_t); /* address of identity buffer descriptor */
-
-int
-psec_get_id_from_token( /* returns a client's identity */
- unsigned int, /* handle to the authentication method */
- psec_idbuf_t, /* address of id token descriptor */
- char *, /* memory for id string */
- size_t *); /* provided/required length of id string */
-
-int
-psec_free_id_token( /* frees memory allocated for id token */
- unsigned int, /* handle to the authentication method */
- psec_idbuf_t); /* address of id token descriptor */
-
-int
-psec_get_key_from_token( /* returns session key from id token */
- unsigned int, /* handle to the authentication method */
- char *, /* name of target user */
- psec_idbuf_t, /* address of identity buffer descriptor */
- char *, /* memory for key data */
- size_t *); /* provided/required length of key data */
-
-int
-psec_sign_data( /* sign data */
- unsigned int, /* handle to the authentication method */
- char *, /* key data */
- size_t, /* length of key data */
- struct iovec *, /* address of input data vector */
- int, /* number of vectors */
- struct iovec *); /* address of signature buffer */
-
-int
-psec_verify_data( /* verify signature */
- unsigned int, /* handle to the authentication method */
- char *, /* key data */
- size_t, /* length of key data */
- struct iovec *, /* address of input data vector */
- int, /* number of vectors */
- struct iovec *); /* address of signature buffer */
-
-int
-psec_free_signature( /* frees memory allocated for signature */
- unsigned int, /* handle to the authentication method */
- struct iovec *); /* address of signature buffer */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // _H_PSEC_H
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/psec_lib.h b/tools/sci/org.eclipse.ptp.sci/secmod/psec_lib.h
deleted file mode 100644
index 10be887..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/psec_lib.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Description: psec functions from poe
-
- Author: Serban Maerean
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 serban Initial code (D153875)
-
-****************************************************************************/
-
-#include <pthread.h>
-
-typedef struct __dlink_elem_s {
- struct __dlink_elem_s *prev;
- struct __dlink_elem_s *next;
-} __dlink_elem_desc, *__dlink_elem_t;
-
-void __rm_elem_from_dllist(__dlink_elem_t, __dlink_elem_t *);
-void __add_elem_to_dllist(__dlink_elem_t, __dlink_elem_t *);
-void __insert_elem_before_dllist(__dlink_elem_t, __dlink_elem_t *);
-
-typedef struct _psec_module {
- struct _psec_module *prev;
- struct _psec_module *next;
- unsigned int psm_flags;
- unsigned int psm_stindex;
-#define PSM_STATE_MASK 0x0000ffff
-#define PSM_STATE_LOADED 0x0001
-#define PSM_STATE_INITED 0x0002
- char *psm_opts;
- char *psm_name;
- char *psm_fpath;
- void *psm_object;
-#define PSM_SYMTBLE_SIZE 10
- void *psm_symtble[PSM_SYMTBLE_SIZE];
- pthread_mutex_t psm_mutex;
-} _psec_module_sec, *_psec_module_t;
-
-typedef struct _psec_state {
- unsigned int pss_state;
- pthread_mutex_t pss_mutex;
- int pss_modcnt;
- _psec_module_t *pss_mdlslist;
- _psec_module_t pss_modules;
-} _psec_state_desc, *_psec_state_t;
-
-extern _psec_state_desc _PSEC_STATE;
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/psec_mod.h b/tools/sci/org.eclipse.ptp.sci/secmod/psec_mod.h
deleted file mode 100644
index b373271..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/psec_mod.h
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Description: psec functions from poe
-
- Author: Serban Maerean
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 serban Initial code (D153875)
-
-****************************************************************************/
-#include <stdlib.h>
-#include <sys/uio.h>
-
-#ifndef _H_PSM_H
-#define _H_PSM_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct iovec psm_idbuf_desc, *psm_idbuf_t;
-
-#define PSM__SUCCESS 0
-#define PSM__MEMORY_ERR 1
-
-int
-psm__init( /* one time initialization of the module */
- char *); /* options */
-
-int
-psm__get_id_token( /* gets a client's identity token */
- char *, /* target user identity */
- char *, /* tartet host name */
- psm_idbuf_t); /* address of identity buffer descriptor */
-
-int
-psm__verify_id_token( /* verifies a client's identity token */
- char *, /* name of user to authorize as */
- psm_idbuf_t); /* address of identity buffer descriptor */
-
-int
-psm__get_id_from_token( /* returns a client's identity */
- psm_idbuf_t, /* address of identity buffer descriptor */
- char *, /* memory for id string */
- size_t *); /* provided/required length of the id string */
-
-int
-psm__free_id_token( /* frees memory allocated for id token */
- psm_idbuf_t); /* address of identity buffer descriptor */
-
-int
-psm__get_key_from_token(/* gets session key from token */
- char *, /* user name */
- psm_idbuf_t, /* address of identity buffer descriptor */
- unsigned char *, /* memory for key data */
- size_t *); /* provided/required length of key data */
-
-int
-psm__sign_data( /* sign data */
- unsigned char *, /* key data */
- size_t, /* length of key data */
- struct iovec *, /* address of input data vector */
- int, /* number of buffers in vector */
- struct iovec *); /* address of signature buffer */
-
-int
-psm__verify_data( /* verify signature */
- unsigned char *, /* key data */
- size_t, /* length of key data */
- struct iovec *, /* address of input data vector */
- int, /* number of buffers in vector */
- struct iovec *); /* address of signature buffer */
-
-int
-psm__free_signature( /* deallocates mem. allocated for signature */
- struct iovec *); /* address of signature buffer */
-
-void
-psm__cleanup(); /* one time cleanup of the module */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // _H_PSM_H
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/psec_openssh.c b/tools/sci/org.eclipse.ptp.sci/secmod/psec_openssh.c
deleted file mode 100644
index 430c4af..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/psec_openssh.c
+++ /dev/null
@@ -1,1988 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Description: psec functions from poe
-
- Author: Serban Maerean
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 serban Initial code (D153875)
-
-****************************************************************************/
-
-#include <pthread.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include <unistd.h>
-#include <pwd.h>
-#include <ctype.h>
-#include <dlfcn.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/param.h>
-
-#include <openssl/pem.h>
-#include <openssl/bio.h>
-#include <openssl/md5.h>
-#include <openssl/aes.h>
-
-#include "psec_openssh.h"
-
-#define USR_CONFIG_FILE ".ssh/config"
-#define SSH_CONFIG_FILE "/etc/ssh/ssh_config"
-#define SSHD_CONFIG_FILE "/etc/ssh/sshd_config"
-
-#define CONFIG_FILE_MAXSIZE 10*1024
-
-pthread_key_t _prngKey;
-time_t _idtokTTL = 600;
-char *authzkeyfile = NULL;
-char *osslversion = NULL;
-#if defined(_AIX)
-#define _BIO_f_base64 BIO_f_base64
-#define _BIO_free BIO_free
-#define _BIO_free_all BIO_free_all
-#define _BIO_new BIO_new
-#define _BIO_new_mem_buf BIO_new_mem_buf
-#define _BIO_push BIO_push
-#define _BIO_read BIO_read
-#define _BIO_set_flags BIO_set_flags
-#define _BN_bin2bn BN_bin2bn
-#define _BN_dec2bn BN_dec2bn
-#define _BN_free BN_free
-#define _DSA_free DSA_free
-#define _DSA_new DSA_new
-#define _DSA_sign DSA_sign
-#define _DSA_size DSA_size
-#define _DSA_verify DSA_verify
-#define _PEM_read_DSAPrivateKey PEM_read_DSAPrivateKey
-#define _PEM_read_RSAPrivateKey PEM_read_RSAPrivateKey
-#define _RSA_free RSA_free
-#define _RSA_new RSA_new
-#define _RSA_sign RSA_sign
-#define _RSA_size RSA_size
-#define _RSA_verify RSA_verify
-#define _RSA_public_encrypt RSA_public_encrypt
-#define _RSA_private_decrypt RSA_private_decrypt
-#define _SHA1 SHA1
-#define _MD5_Init MD5_Init
-#define _MD5_Update MD5_Update
-#define _MD5_Final MD5_Final
-#define _AES_set_encrypt_key AES_set_encrypt_key
-#define _AES_encrypt AES_encrypt
-#define _BIO_set_flags BIO_set_flags
-#define OSSL_FNCSELECT(name) name
-#elif defined(_LINUX)
-typedef BIO_METHOD *(*_ft_BIO_f_base64)(void);
-typedef int (*_ft_BIO_free)(BIO *);
-typedef void (*_ft_BIO_free_all)(BIO *);
-typedef BIO *(*_ft_BIO_new)(BIO_METHOD *);
-typedef BIO *(*_ft_BIO_new_mem_buf)(void *, int);
-typedef BIO *(*_ft_BIO_push)(BIO *, BIO *);
-typedef int (*_ft_BIO_read)(BIO *, void *, int);
-typedef int (*_ft_BN_dec2bn)(BIGNUM **, const char *);
-typedef BIGNUM *(*_ft_BN_bin2bn)(const unsigned char *,int , BIGNUM *);
-typedef void (*_ft_BN_free)(BIGNUM *);
-typedef void (*_ft_DSA_free)(DSA *);
-typedef DSA *(*_ft_DSA_new)(void);
-typedef int (*_ft_DSA_sign)(int, const unsigned char *, int, unsigned char *, unsigned int *, DSA *);
-typedef int (*_ft_DSA_size)(const DSA *);
-typedef int (*_ft_DSA_verify)(int, const unsigned char *, int, const unsigned char *, int, DSA *);
-typedef DSA *(*_ft_PEM_read_DSAPrivateKey)(FILE *, ...);
-typedef RSA *(*_ft_PEM_read_RSAPrivateKey)(FILE *, ...);
-typedef void (*_ft_RSA_free)(RSA *);
-typedef RSA *(*_ft_RSA_new)(void);
-typedef int (*_ft_RSA_sign)(int, const unsigned char *, unsigned int, unsigned char *, unsigned int *, RSA *);
-typedef int (*_ft_RSA_size)(const RSA *);
-typedef int (*_ft_RSA_verify)(int, const unsigned char *, unsigned int, unsigned char *, unsigned int, RSA *);
-typedef int (*_ft_RSA_public_encrypt)(int, unsigned char *, unsigned char *, RSA *, int);
-typedef int (*_ft_RSA_private_decrypt)(int, unsigned char *, unsigned char *, RSA *, int);
-typedef unsigned char *(*_ft_SHA1)(const unsigned char *, size_t, unsigned char *);
-typedef int (*_ft_MD5_Init)(MD5_CTX *);
-typedef int (*_ft_MD5_Update)(MD5_CTX *, void *, size_t);
-typedef int (*_ft_MD5_Final)(unsigned char *, MD5_CTX *);
-typedef int (*_ft_AES_set_encrypt_key)(const unsigned char *, const int, AES_KEY *);
-typedef void (*_ft_AES_encrypt)(const unsigned char *, unsigned char *, const AES_KEY *);
-#if !defined(BIO_set_flags)
-typedef void (*_ft_BIO_set_flags)(BIO *, int);
-#endif
-
-typedef struct func_doublet_s {
- char *fncname;
- void *fncpntr;
-} func_doublet_desc, *func_doublet_t;
-
-#define _fpi_BIO_f_base64 0
-#define _fpi_BIO_free 1
-#define _fpi_BIO_free_all 2
-#define _fpi_BIO_new 3
-#define _fpi_BIO_new_mem_buf 4
-#define _fpi_BIO_push 5
-#define _fpi_BIO_read 6
-#define _fpi_BN_bin2bn 7
-#define _fpi_BN_dec2bn 8
-#define _fpi_BN_free 9
-#define _fpi_DSA_free 10
-#define _fpi_DSA_new 11
-#define _fpi_DSA_sign 12
-#define _fpi_DSA_size 13
-#define _fpi_DSA_verify 14
-#define _fpi_PEM_read_DSAPrivateKey 15
-#define _fpi_PEM_read_RSAPrivateKey 16
-#define _fpi_RSA_free 17
-#define _fpi_RSA_new 18
-#define _fpi_RSA_sign 19
-#define _fpi_RSA_size 20
-#define _fpi_RSA_verify 21
-#define _fpi_RSA_public_encrypt 22
-#define _fpi_RSA_private_decrypt 23
-#define _fpi_SHA1 24
-#define _fpi_MD5_Init 25
-#define _fpi_MD5_Update 26
-#define _fpi_MD5_Final 27
-#define _fpi_AES_set_encrypt_key 28
-#define _fpi_AES_encrypt 29
-#if defined(BIO_set_flags)
-#define OSSL_FNCSTBLE_SIZE 30
-void *_fp_BIO_set_flags = NULL;
-#else
-#define _fpi_BIO_set_flags 30
-void _fp_BIO_set_flags(BIO *b, int flags) { b->flags |= flags; }
-#define OSSL_FNCSTBLE_SIZE 31
-#endif
-func_doublet_desc ossl_fncstble[OSSL_FNCSTBLE_SIZE] = {
- {"BIO_f_base64", NULL},
- {"BIO_free", NULL},
- {"BIO_free_all", NULL},
- {"BIO_new", NULL},
- {"BIO_new_mem_buf", NULL},
- {"BIO_push", NULL},
- {"BIO_read", NULL},
- {"BN_bin2bn", NULL},
- {"BN_dec2bn", NULL},
- {"BN_free", NULL},
- {"DSA_free", NULL},
- {"DSA_new", NULL},
- {"DSA_sign", NULL},
- {"DSA_size", NULL},
- {"DSA_verify", NULL},
- {"PEM_read_DSAPrivateKey", NULL},
- {"PEM_read_RSAPrivateKey", NULL},
- {"RSA_free", NULL},
- {"RSA_new", NULL},
- {"RSA_sign", NULL},
- {"RSA_size", NULL},
- {"RSA_verify", NULL},
- {"RSA_public_encrypt", NULL},
- {"RSA_private_decrypt", NULL},
- {"SHA1", NULL},
- {"MD5_Init", NULL},
- {"MD5_Update", NULL},
- {"MD5_Final", NULL},
- {"AES_set_encrypt_key", NULL},
- {"AES_encrypt", NULL}
-#if !defined(BIO_set_flags)
- , {"BIO_set_flags", NULL}
-#endif
-};
-#define OSSL_FNCSELECT(name) ((_ft##name)(ossl_fncstble[_fpi##name].fncpntr))
-#endif
-
-int
-_read_config_param(
- char *cfgfile,
- char *param,
- char *value)
-{
- int rc = 0;
-
-do {
- struct stat cfgstat = {0};
- if (0>stat(cfgfile, &cfgstat)) {
- // printf("Error [%s:%d]: stat() failed for %s: errno = %d\n", __FILE__, __LINE__, cfgfile, errno);
- rc = OSSH_CFGFILE_ERR; break;
- }
- if (0==cfgstat.st_size) { rc = OSSH_CFGFILE_SIZE_ERR; break; }
- if (CONFIG_FILE_MAXSIZE<cfgstat.st_size) { rc = OSSH_CFGFILE_SIZE_ERR; break; }
-{
- FILE *cfgstrm = NULL;
- if (NULL==(cfgstrm = fopen(cfgfile, "r"))) {
- // printf("Error [%s:%d]: fopen() failed for %s: errno = %d\n", __FILE__, __LINE__, cfgfile, errno);
- rc = OSSH_CFGFILE_OPEN_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))fclose, (void *)cfgstrm);
-do {
- char *cfgline = malloc(cfgstat.st_size);
- if (!cfgline) {
- // printf("Error [%s:%d]: fopen() failed w/errno = %d (%d)\n", __FILE__, __LINE__, errno, cfgstat.st_size);
- rc = OSSH_MEMORY_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))free, cfgline);
- do {
- char *cp = NULL;
- if (NULL==(cp = fgets(cfgline, cfgstat.st_size, cfgstrm))) {
- // if (ferror(cfgstrm)) printf("Error [%s:%d]: fgets() failed for %s: errno = %d\n", __FILE__, __LINE__, cfgfile, errno);
- if (feof(cfgstrm)) break;
- rc = OSSH_CFGFILE_GETS_ERR; break;
- }
- if (('#' == *cp) || ('\n' == *cp)) continue;
-{
- while (isblank(*cp)) cp++;
- if (!strncmp(cp, param, strlen(param))) {
- char *pcp = cp + strlen(param);
- if (!isblank(*pcp)) continue;
- while (isblank(*pcp)) pcp++;
-{
- char *ecp = pcp;
- while (ispunct(*ecp)||isalnum(*ecp)) ecp++;
- if (ecp == pcp) { rc = OSSH_CFGFILE_DATA_ERR; break; }
- if (PATH_MAX-1<ecp-pcp) { rc = OSSH_CFGFILE_DATA_ERR; break; }
- strncpy(value, pcp, ecp-pcp); value[ecp-pcp] = '\0';
- break;
-}
- }
-}
- } while (1);
- pthread_cleanup_pop(1); // free(cfgline);
-} while (0);
- pthread_cleanup_pop(1); // fclose(cfgstrm);
-}
-} while (0);
- return rc;
-}
-
-void
-_nfree(void *p) { if (p) free(p); }
-
-int
-_get_identity_fname(
- char *luser,
- char *ruser,
- char *rhost,
- char **idfpath)
-{
- // ruser and rhost not used at this time
- int rc = 0;
- char *usrConfigFile = NULL, *usrHomeDir = NULL;
-
- pthread_cleanup_push((void(*)(void *))_nfree, usrConfigFile);
- pthread_cleanup_push((void(*)(void *))_nfree, usrHomeDir);
-do {
- char vIdentityFile[PATH_MAX] = "";
- size_t usrHomeDirLen = 0;
- // get the user's home directory
- long pwrbufsize = sysconf(_SC_GETPW_R_SIZE_MAX);
- void *pwrbuf = malloc(pwrbufsize);
- if (!pwrbuf) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))free, pwrbuf);
-do {
- struct passwd usrpwd, *usrpwdp = NULL;
- if (luser&&('\0'!=*luser)) rc = getpwnam_r(luser, &usrpwd, pwrbuf, pwrbufsize, &usrpwdp);
- else rc = getpwuid_r(geteuid(), &usrpwd, pwrbuf, pwrbufsize, &usrpwdp);
- if (rc) {
- // printf("Error [%s:%d]: getpwuid_r() failed: rc = %d\n", __FILE__, __LINE__, rc);
- rc = OSSH_PWUID_ERR; break;
- }
- if (usrpwd.pw_dir&&(usrHomeDirLen = strlen(usrpwd.pw_dir))) {
- if(!(usrHomeDir = strdup(usrpwd.pw_dir))) {
- // printf("Error [%s:%d]: strdup() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
- if (!(usrConfigFile = malloc(usrHomeDirLen+strlen(USR_CONFIG_FILE)+2))) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
- sprintf(usrConfigFile, "%s/%s", usrHomeDir, USR_CONFIG_FILE);
- }
-} while (0);
- pthread_cleanup_pop(1); // free(pwrbuf);
- if (rc) break;
-do {
- if (!usrConfigFile) { rc = OSSH_CFGFILE_ERR; break; }
- rc = _read_config_param(usrConfigFile, "IdentityFile", vIdentityFile);
-} while (0);
- if (rc||('\0'==*vIdentityFile)) {
- rc = _read_config_param(SSH_CONFIG_FILE, "IdentityFile", vIdentityFile);
- }
- if ((!rc)&&('\0' != *vIdentityFile)) {
- // check the file name
- if (strchr(vIdentityFile, '%')) {
- // printf("Error [%s:%d]: invalid format of identity file name: %s\n", __FILE__, __LINE__, vIdentityFile);
- rc = OSSH_IDFILE_NAME_ERR; break;
- }
-do {
- if ('/' == *vIdentityFile) {
- // absolute file path
- rc = OSSH_IDFILE_NAME_ERR; break;
- }
- // relative file path to user's home directory
- if (!usrHomeDir) { rc = OSSH_PWUID_HOMEDIR_ERR; break; }
- if ('~' == *vIdentityFile) {
- if ('/' != *(vIdentityFile+1)) {
- // printf("Error [%s:%d]: invalid format of identity file name %s\n", __FILE__, __LINE__, vIdentityFile);
- rc = OSSH_IDFILE_NAME_ERR; break;
- }
- if (PATH_MAX-1<(usrHomeDirLen+strlen(vIdentityFile+1))) {
- // id file name too long
- rc = OSSH_IDFILE_PATH_ERR; break;
- }
- memmove(&vIdentityFile[usrHomeDirLen], vIdentityFile+1, strlen(vIdentityFile+1));
- } else {
- if (PATH_MAX-2<(usrHomeDirLen+strlen(vIdentityFile))) {
- // id file name too long
- rc = OSSH_IDFILE_PATH_ERR; break;
- }
- memmove(&vIdentityFile[usrHomeDirLen+1], vIdentityFile, strlen(vIdentityFile));
- vIdentityFile[usrHomeDirLen] = '/';
- }
- memcpy(vIdentityFile, usrHomeDir, usrHomeDirLen);
-} while (0);
- if (rc) break;
-{ // check the identity file
- struct stat idfstat = {0};
- if (0>stat(vIdentityFile, &idfstat)) {
- // printf("Error [%s:%d]: stat() failed for %s: errno = %d\n", __FILE__, __LINE__, idfpath, errno);
- rc = OSSH_IDFILE_PATH_ERR; break;
- }
- if (0==idfstat.st_size) {
- // printf("Error [%s:%d]: invalid private identity file (size = %d)\n", __FILE__, __LINE__, idfstat.st_size);
- rc = OSSH_IDFILE_SIZE_ERR; break;
- }
-}
- } else {
- // either error reading config file or no identity file name
- // try the default file names: identity, id_rsa, id_dsa
- struct stat idfstat = {0};
- strcpy(vIdentityFile, usrHomeDir);
-do {
- rc = 0; // reset error code, in case of any
- strcpy(vIdentityFile+usrHomeDirLen, "/.ssh/id_rsa");
- if ((0==stat(vIdentityFile, &idfstat))&&(0!=idfstat.st_size)) {
- // found this default file
- break;
- }
- memset(&idfstat, 0, sizeof(struct stat));
- strcpy(vIdentityFile+usrHomeDirLen, "/.ssh/id_dsa");
- if ((0==stat(vIdentityFile, &idfstat))&&(0!=idfstat.st_size)) {
- // found this default file
- break;
- }
- memset(&idfstat, 0, sizeof(struct stat));
- strcpy(vIdentityFile+usrHomeDirLen, "/.ssh/identity");
- if ((0==stat(vIdentityFile, &idfstat))&&(0!=idfstat.st_size)) {
- // found this default file
- break;
- }
- rc = OSSH_IDFILE_DEFS_ERR;
-} while (0);
- if (rc) break;
- }
- if (!(*idfpath = strdup(vIdentityFile))) {
- // printf("Error [%s:%d]: strdup() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
-} while (0);
- pthread_cleanup_pop(1); // _nfree(usrHomeDir)
- pthread_cleanup_pop(1); // _nfree(usrConfigFile)
- return rc;
-}
-
-int
-_get_authz_fname(
- char *luser,
- char **azfpath)
-{
- int rc = 0;
-do {
- int dvAuthorizedFilef = 0, vAuthorizedFileLen = 0;
- char vAuthorizedFile[PATH_MAX] = "", *dvAuthorizedFilep = ".ssh/authorized_keys";
- if (!authzkeyfile) _read_config_param(SSHD_CONFIG_FILE, "AuthorizedKeysFile", vAuthorizedFile);
- else strcpy(vAuthorizedFile, authzkeyfile);
-do {
- if ('\0' == *vAuthorizedFile) {
- // no value found for authorized keys parameter
- strcpy(vAuthorizedFile, dvAuthorizedFilep);
- dvAuthorizedFilef++;
- }
- if ('/' == *vAuthorizedFile) {
- // absolute file path
- rc = OSSH_AUTHZFILE_NAME_ERR; break;
- }
- // relative path to user's home directory
-{
- size_t usrHomeDirLen = 0;
- long pwrbufsize = sysconf(_SC_GETPW_R_SIZE_MAX);
- void *pwrbuf = malloc(pwrbufsize);
- if (!pwrbuf) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %s\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))free, pwrbuf);
-do {
- struct passwd usrpwd, *usrpwdp = NULL;
- if (luser) rc = getpwnam_r(luser, &usrpwd, pwrbuf, pwrbufsize, &usrpwdp);
- else rc = getpwuid_r(geteuid(), &usrpwd, pwrbuf, pwrbufsize, &usrpwdp);
- if (rc) {
- // printf("Error [%s:%d]: getpwuid_r() failed: rc = %d\n", __FILE__, __LINE__, rc);
- rc = OSSH_PWUID_ERR; break;
- }
- if (!usrpwd.pw_dir|| (0==(usrHomeDirLen = strlen(usrpwd.pw_dir)))) {
- // printf("Error [%s:%d]: invalid user home directory\n", __FILE__, __LINE__);
- rc = OSSH_PWUID_HOMEDIR_ERR; break;
- }
- if ('~' == *vAuthorizedFile) {
- if ('/' != *(vAuthorizedFile+1)) {
- // printf("Error [%s:%d]: invalid format of authorized key file name: %s\n", __FILE__, __LINE__, vAuthorizedFile);
- rc = OSSH_AUTHZFILE_NAME_ERR; break;
- }
- if (PATH_MAX-1<(vAuthorizedFileLen = usrHomeDirLen+strlen(vAuthorizedFile+1))) {
- // authorized file name too long
- rc = OSSH_AUTHZFILE_PATH_ERR; break;
- }
- memmove(&vAuthorizedFile[usrHomeDirLen], vAuthorizedFile+1, strlen(vAuthorizedFile+1));
- } else {
- if (PATH_MAX-2<(vAuthorizedFileLen = usrHomeDirLen+strlen(vAuthorizedFile))) {
- // authorized file name too long
- rc = OSSH_AUTHZFILE_PATH_ERR; break;
- }
- memmove(&vAuthorizedFile[usrHomeDirLen+1], vAuthorizedFile, strlen(vAuthorizedFile));
- vAuthorizedFile[usrHomeDirLen] = '/';
- }
- memcpy(vAuthorizedFile, usrpwd.pw_dir, usrHomeDirLen);
-} while (0);
- pthread_cleanup_pop(1); // free(pwrbuf)
-}
-} while (0);
- if (rc) break;
-{ // check the authorization file
- struct stat azfstat = {0};
- if (0>stat(vAuthorizedFile, &azfstat)) {
- if ((ENOENT!=errno)||(0==dvAuthorizedFilef)) {
- // printf("Error [%s:%d]: stat() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_AUTHZFILE_PATH_ERR; break;
- }
- // default authorization file does not exist: try the 2 version
- memset(&azfstat, 0, sizeof(struct stat));
- if (PATH_MAX-2<vAuthorizedFileLen) {
- // too long
- rc = OSSH_AUTHZFILE_PATH_ERR; break;
- }
- strcat(vAuthorizedFile, "2");
- if (0>stat(vAuthorizedFile, &azfstat)) {
- // printf("Error [%s:%d]: stat() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_AUTHZFILE_PATH_ERR; break;
- }
- }
-}
- if (!(*azfpath = strdup(vAuthorizedFile))) {
- // printf("Error [%s:%d]: strdup() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
-} while (0);
- return rc;
-}
-
-#define KEYTYPE_STR_DSA "ssh-dss"
-
-DSA *
-_read_dsa_public_key(
- char *s,
- char **usrid)
-{
- DSA *dsapub = NULL;
-do {
- int rc = 0;
- char *ts = strdup(s);
- if (!ts) {
- // printf("Error [%s:%d]: strdup() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- break;
- }
- pthread_cleanup_push((void(*)(void *))free, ts);
-do {
- // find the dsa header in the public key data
- char *cp = strstr(ts, KEYTYPE_STR_DSA);
- if (!cp) {
- // not a DSA public key
- // printf("Error [%s:%d]: invalid DSA public key format\n", __FILE__, __LINE__);
- rc = OSSH_DSA_INVALID_FORMAT_ERR; break;
- }
-{ // version 2 DSA public key
- char *lasts, *buf = NULL; size_t len;
- // get the base64 key encoding
- if (!(cp = strtok_r(cp+strlen(KEYTYPE_STR_DSA), " ", &lasts))) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_DSA_INVALID_FORMAT_ERR; break;
- }
- if (!(buf = malloc(2*(len=strlen(cp)+1)))) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, len);
- rc = OSSH_MEMORY_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))free, buf);
-do {
-{ // decode the base64 encoded public key data
- BIO *bio, *b64;
- if (!(bio = OSSL_FNCSELECT(_BIO_new_mem_buf)(cp, -1))) {
- // printf("Error [%s:%d]: BIO_new_mem_buf() failed...\n", __FILE__, __LINE__);
- rc = OSSH_BIO_NEW_MEMBUF_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))OSSL_FNCSELECT(_BIO_free_all), bio);
-do {
- if (!(b64 = OSSL_FNCSELECT(_BIO_new)(OSSL_FNCSELECT(_BIO_f_base64)()))) {
- // printf("Error [%s:%d]: BIO_new failed...\n", __FILE__, __LINE__);
- rc = OSSH_BIO_NEW_ERR; break;
- }
-#if defined(BIO_set_flags)
- BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);
-#else
- OSSL_FNCSELECT(_BIO_set_flags)(b64, BIO_FLAGS_BASE64_NO_NL);
-#endif
- if (!(bio = OSSL_FNCSELECT(_BIO_push)(b64, bio))) {
- // printf("Error [%s:%d]: BIO_push() failed...\n", __FILE__, __LINE__);
- OSSL_FNCSELECT(_BIO_free)(b64);
- rc = OSSH_BIO_PUSH_ERR; break;
- }
- if (0>=(len = OSSL_FNCSELECT(_BIO_read)(bio, buf, len))) {
- // printf("Error [%s:%d]: BIO_read() failed\n", __FILE__, __LINE__);
- rc = OSSH_BIO_READ_ERR; break;
- }
-} while (0);
- pthread_cleanup_pop(1); // BIO_free_all(bio);
-}
- if (rc) break;
-{ // make sense of the public key data
- BIGNUM *p = NULL, *q = NULL, *g = NULL, *y= NULL;
- char *cp = buf;
- // 1st field should be key type
- int len = ntohl(*((int *)cp));
- if (strncmp(cp+=sizeof(int), KEYTYPE_STR_DSA, len)) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_DSA_INVALID_FORMAT_ERR; break;
- } else cp += len;
- // the subsequent fields for DSA should be the p, q, g and y parameters
- len = ntohl(*((int *)cp)); cp += sizeof(int);
-do {
- // read the p parameter
- if (!(p = OSSL_FNCSELECT(_BN_bin2bn)(cp, len, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for the p parameter...\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- } else cp += len;
- len = ntohl(*((int *)cp)); cp += sizeof(int);
- // read the q parameter
- if (!(q = OSSL_FNCSELECT(_BN_bin2bn)(cp, len, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for q parameter...\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- } else cp += len;
- len = ntohl(*((int *)cp)); cp += sizeof(int);
- // read the g parameter
- if (!(g = OSSL_FNCSELECT(_BN_bin2bn)(cp, len, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for the g parameter...\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- } else cp += len;
- len = ntohl(*((int *)cp)); cp += sizeof(int);
- // read the y parameter
- if (!(y = OSSL_FNCSELECT(_BN_bin2bn)(cp, len, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for the y parameter...\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- }
- if (!(dsapub = OSSL_FNCSELECT(_DSA_new)())) {
- // printf("Error [%s:%d]: DSA_new() failed...\n", __FILE__, __LINE__);
- rc = OSSH_DSA_NEW_ERR; break;
- }
- dsapub->p = p; dsapub->q = q; dsapub->g = g; dsapub->pub_key = y;
-} while (0);
- if (rc) {
- if (p) OSSL_FNCSELECT(_BN_free)(p);
- if (q) OSSL_FNCSELECT(_BN_free)(q);
- if (g) OSSL_FNCSELECT(_BN_free)(g);
- if (y) OSSL_FNCSELECT(_BN_free)(y);
- }
-}
-} while (0);
- pthread_cleanup_pop(1); // free(buf)
- if (rc) break;
- if (usrid&&(cp = strtok_r(NULL, " \n", &lasts))) *usrid = strdup(cp);
-}
-} while (0);
- pthread_cleanup_pop(1); // free (ts);
-} while (0);
- return dsapub;
-}
-
-#define KEYTYPE_STR_RSA "ssh-rsa"
-
-RSA *
-_read_rsa_public_key(
- char *s,
- char **usrid)
-{
- // this routine reads a public RSA key from either an openSSH v1 or v2
- // formatted public key identity file
- // the v1 format appears to be as follows: options, key length, public
- // exponent, modulus, comments; the fields are separated by white
- // spaces
- // the v2 format appears to be as follows: options, key type, key
- // value, comment; the fields are separated by one blank space
- // in both versions options are optional; the comment field is not used
- RSA *rsapub = NULL;
-do {
- int rc = 0;
- char *ts = strdup(s);
- if (!ts) {
- // printf("Error [%s:%d]: strdup() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- break;
- }
- pthread_cleanup_push((void(*)(void *))free, ts);
-do {
- // if rsa header, then RSA v2 key
- char *cp = strstr(ts, KEYTYPE_STR_RSA);
- if (!cp) {
- // possibly a v1 RSA public key
- // split the input string in tokens separated by blank spaces
- int noofquotes = 0; char *lasts, *cp = strtok_r(ts, " ", &lasts);
- if (!cp) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- }
- if (!isdigit(*cp)) {
- // this must be a comment
- int quotesclosed = 0;
- while (!quotesclosed) {
-{ // check whether a blank space whithin quotes
- char *cp2 = cp-1;
- while (cp2 = strchr(cp2+1, '"')) noofquotes++;
- if (!(noofquotes%2)) quotesclosed++;
- if (!(cp = strtok_r(NULL, " ", &lasts))) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- }
-}
- }
- if (!isdigit(*cp)) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- }
- }
- // version 1 public key; get the key length
- BIGNUM *e = NULL, *n = NULL;
- long keylen;
- if ((0==(errno = 0, keylen=atol(cp)))&&(EINVAL==errno)) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- }
- if (((LONG_MAX==keylen)||(LONG_MIN==keylen))&&(ERANGE==errno)) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- }
- if (0>=keylen) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- }
- // get the public exponent
- if (!(cp = strtok_r(NULL, " ", &lasts))) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- }
- if (!(OSSL_FNCSELECT(_BN_dec2bn)(&e, cp))) {
- // printf("Error [%s:%d]: BN_dec2bn() failed...\n", __FILE__, __LINE__);
- rc = OSSH_BN_DEC2BN_ERR; break;
- }
-do {
- // get the modulus
- if (!(cp = strtok_r(NULL, " ", &lasts))) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- }
- if (!(OSSL_FNCSELECT(_BN_dec2bn)(&n, cp))) {
- // printf("Error [%s:%d]: BN_dec2bn() failed...\n", __FILE__, __LINE__);
- rc = OSSH_BN_DEC2BN_ERR; break;
- }
-do {
- if (!(rsapub = OSSL_FNCSELECT(_RSA_new)())) {
- // printf("Error [%s:%d]: RSA_new() failed...\n", __FILE__, __LINE__);
- rc = OSSH_RSA_NEW_ERR; break;
- }
- rsapub->n = n; rsapub->e = e;
-} while (0);
- if (rc) { OSSL_FNCSELECT(_BN_free)(n); break; }
-} while (0);
- if (rc) { OSSL_FNCSELECT(_BN_free)(e); break; }
- // get the user id, if any--normally, there should be a
- // user@hostname id
- if (usrid&&(cp = strtok_r(NULL, " \n", &lasts))) *usrid = strdup(cp);
- } else {
- // version 2 public key
- char *lasts, *buf = NULL; size_t len;
- // get the base64 key encoding
- if (!(cp = strtok_r(cp+strlen(KEYTYPE_STR_RSA), " ", &lasts))) {
- // printf("Error [%s:%d]: invalid RSA public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- }
- if (!(buf = malloc(2*(len=strlen(cp)+1)))) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, len);
- rc = OSSH_MEMORY_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))free, buf);
-do {
-{ // decode the base64 encoded public key data
- BIO *bio, *b64;
- if (!(bio = OSSL_FNCSELECT(_BIO_new_mem_buf)(cp, -1))) {
- // printf("Error [%s:%d]: BIO_new_mem_buf() failed...\n", __FILE__, __LINE__);
- rc = OSSH_BIO_NEW_MEMBUF_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))OSSL_FNCSELECT(_BIO_free_all), bio);
-do {
- if (!(b64 = OSSL_FNCSELECT(_BIO_new)(OSSL_FNCSELECT(_BIO_f_base64)()))) {
- // printf("Error [%s:%d]: BIO_new failed...\n", __FILE__, __LINE__);
- rc = OSSH_BIO_NEW_ERR; break;
- }
-#if defined(BIO_set_flags)
- BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);
-#else
- OSSL_FNCSELECT(_BIO_set_flags)(b64, BIO_FLAGS_BASE64_NO_NL);
-#endif
- if (!(bio = OSSL_FNCSELECT(_BIO_push)(b64, bio))) {
- // printf("Error [%s:%d]: BIO_push() failed...\n", __FILE__, __LINE__);
- OSSL_FNCSELECT(_BIO_free)(b64);
- rc = OSSH_BIO_PUSH_ERR; break;
- }
- if (0>=(len = OSSL_FNCSELECT(_BIO_read)(bio, buf, len))) {
- // printf("Error [%s:%d]: BIO_read() failed...\n", __FILE__, __LINE__);
- rc = OSSH_BIO_READ_ERR; break;
- }
-} while (0);
- pthread_cleanup_pop(1); // BIO_free_all(bio);
-}
- if (rc) break;
-{ // make sense of the public key data
- BIGNUM *e = NULL, *n = NULL;
- char *cp = buf;
- // check the key type
- int len = ntohl(*((int *)cp));
- if (strncmp(cp+=sizeof(int), KEYTYPE_STR_RSA, len)) {
- // printf("Error [%s:%d]: invalid public key format\n", __FILE__, __LINE__);
- rc = OSSH_RSA_INVALID_FORMAT_ERR; break;
- } else cp += len;
-do {
- // read the public exponent
- len = ntohl(*((int *)cp)); cp += sizeof(int);
- if (!(e = OSSL_FNCSELECT(_BN_bin2bn)(cp, len, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for the public exponent...\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- }
- cp += len;
- // read the modulus
- len = ntohl(*((int *)cp));
- cp += sizeof(int);
- // read the modulus
- if (!(n = OSSL_FNCSELECT(_BN_bin2bn)(cp, len, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for modulus...\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- }
- if (!(rsapub = OSSL_FNCSELECT(_RSA_new)())) {
- // printf("Error [%s:%d]: RSA_new() failed...\n", __FILE__, __LINE__);
- rc = OSSH_RSA_NEW_ERR; break;
- }
- rsapub->n = n; rsapub->e = e;
-} while (0);
- if (rc) {
- if (e) OSSL_FNCSELECT(_BN_free)(e);
- if (n) OSSL_FNCSELECT(_BN_free)(n);
- }
-}
-} while (0);
- pthread_cleanup_pop(1); // free(buf);
- if (rc) break;
- if (usrid&&(cp = strtok_r(NULL, " \n", &lasts))) *usrid = strdup(cp);
- }
-} while (0);
- pthread_cleanup_pop(1); // free(ts);
-} while (0);
- return rsapub;
-}
-
-#define SSHRSA1_FILE_IDSTR "SSH PRIVATE KEY FILE FORMAT 1.1\n"
-RSA *
-_read_rsa1_private_key(
- FILE *strm)
-{
- RSA *rsaprv = NULL;
-do {
- // get the file desriptor number and check the size of the private key
- // file
- int strmfsize = 0; char *strmfbuf;
- int strmfd = fileno(strm);
- if (0>strmfd) {
- // printf("Error [%s:%d]: fileno() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- break;
- }
-{
- struct stat strmstat = {0};
- if (0>fstat(strmfd, &strmstat)) {
- // printf("Error [%s:%d]: fstat() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- break;
- }
- if ((0==(strmfsize = strmstat.st_size))||(1024*1024<strmfsize)) {
- // printf("Error [%s:%d]: private key file out of range (%d bytes)\n", __FILE__, __LINE__, strmfsize);
- break;
- }
-}
- // allocate memory for the private key file content
- if(!(strmfbuf = malloc(strmfsize))) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- break;
- }
- pthread_cleanup_push((void(*)(void *))free, strmfbuf);
-do {
- // read the private key file
- size_t nbytes;
- if (0>(nbytes = read(strmfd, strmfbuf, strmfsize))) {
- // printf("Error [%s:%d]: read() failed w/errno = %d\n", __FILE__, __LINE__, nbytes);
- break;
- }
- if (nbytes != strmfsize) {
- // printf("Error [%s:%d]: failed to read the entire private key file\n", __FILE__, __LINE__);
- break;
- }
-{
- // check the private key file contents
- char *cp = strmfbuf;
- if (strcmp(SSHRSA1_FILE_IDSTR, cp)) {
- // printf("Error [%s:%d]: not an RSA1 private key file\n", __FILE__, __LINE__);
- break;
- }
- cp += strlen(SSHRSA1_FILE_IDSTR)+1;
- // check the cipher type
- if (0!=cp[0]) {
- // printf("Error [%s:%d]: no support for passphrase protected private key files\n", __FILE__, __LINE__);
- break;
- } else cp++;
- // skip the reserved data
- cp += sizeof(int);
-{
- int rc = 0;
- BIGNUM *n = NULL, *e = NULL, *d = NULL, *iqmp = NULL, *p = NULL, *q = NULL;
-do {
- // next is the public key
- int pkeysize; short bnsize; size_t bnbytes;
- // the key size -- not really used
- pkeysize = ntohl(*((unsigned int *)cp)); cp += sizeof(unsigned int);
- // the modulus
- bnsize = ntohs(*((unsigned short int *)cp)); cp += sizeof(unsigned short int);
- bnbytes = (bnsize +7)/8;
- if (!(n = OSSL_FNCSELECT(_BN_bin2bn)(cp, bnbytes, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for modulus\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- } else cp += bnbytes;
- // the public exponent
- bnsize = ntohs(*((unsigned short int *)cp)); cp += sizeof(unsigned short int);
- bnbytes = (bnsize+7)/8;
- if (!(e = OSSL_FNCSELECT(_BN_bin2bn)(cp, bnbytes, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for public exponent\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- } else cp += bnbytes;
- // skip the comment
- bnbytes = ntohl(*((unsigned int *)cp)); cp += sizeof(unsigned int);
- cp += bnbytes;
- // check the cipher verification data
- if ((cp[0]!=cp[2])||(cp[1]!=cp[3])) {
- // printf("Error [%s:%d]: cipher verification failure\n", __FILE__, __LINE__);
- rc = OSSH_CIPHER_VERIF_ERR; break;
- } else cp += sizeof(unsigned int);
- // get private key
- bnsize = ntohs(*((unsigned short int *)cp)); cp += sizeof(unsigned short int);
- bnbytes = (bnsize+7)/8;
- if (!(d = OSSL_FNCSELECT(_BN_bin2bn)(cp, bnbytes, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for private key\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- } else cp += bnbytes;
- // get (q^-1)mod(p)
- bnsize = ntohs(*((unsigned short int *)cp)); cp += sizeof(unsigned short int);
- bnbytes = (bnsize+7)/8;
- if (!(iqmp = OSSL_FNCSELECT(_BN_bin2bn)(cp, bnbytes, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for (q^-1)mod(p)\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- } else cp += bnbytes;
- // get prime factors
- bnsize = ntohs(*((unsigned short int *)cp)); cp += sizeof(unsigned short int);
- bnbytes = (bnsize+7)/8;
- if (!(q = OSSL_FNCSELECT(_BN_bin2bn)(cp, bnbytes, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for prime factor q\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- } else cp += bnbytes;
- bnsize = ntohs(*((unsigned short int *)cp)); cp += sizeof(unsigned short int);
- bnbytes = (bnsize+7)/8;
- if (!(p = OSSL_FNCSELECT(_BN_bin2bn)(cp, bnbytes, NULL))) {
- // printf("Error [%s:%d]: BN_bin2bn() failed for prime factor p\n", __FILE__, __LINE__);
- rc = OSSH_BN_BIN2BN_ERR; break;
- }
- // create an RSA key and fill it in
- if (!(rsaprv = OSSL_FNCSELECT(_RSA_new)())) {
- // printf("Error [%s:%d]: RSA_new() failed...\n", __FILE__, __LINE__);
- rc = OSSH_RSA_NEW_ERR; break;
- }
- rsaprv->n = n; rsaprv->e = e; rsaprv->d = d;
- rsaprv->p = p; rsaprv->q = q; rsaprv->iqmp = iqmp;
-} while (0);
- if (rc) {
- if (n) OSSL_FNCSELECT(_BN_free)(n);
- if (e) OSSL_FNCSELECT(_BN_free)(e);
- if (d) OSSL_FNCSELECT(_BN_free)(d);
- if (iqmp) OSSL_FNCSELECT(_BN_free)(iqmp);
- if (p) OSSL_FNCSELECT(_BN_free)(p);
- if (q) OSSL_FNCSELECT(_BN_free)(q);
- }
-}
-}
-} while (0);
- pthread_cleanup_pop(1); // free(strmfbuf);
-} while (0);
- return rsaprv;
-}
-
-#include <time.h>
-
-int
-_prng_random(unsigned int *prn)
-{
- int rc = 0;
- unsigned int *_prngData;
-do {
- // get the thread specific data for the PRNG
- if (!(_prngData = pthread_getspecific(_prngKey))) {
- // allocate memory for the thread specific PRNG data
- if (!(_prngData = calloc(1, sizeof(unsigned int)))) {
- // printf("Error [%s:%d]: calloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
-{ // seed the PRNG data
-#ifdef _AIX
- struct timespec ts = {0};
- clock_gettime(CLOCK_REALTIME, &ts);
- *_prngData = (unsigned int)(ts.tv_sec^ts.tv_nsec);
-#else
- struct timeval tv = {0};
- gettimeofday(&tv, NULL);
- *_prngData = (unsigned int)(tv.tv_sec^tv.tv_usec);
-#endif
-}
- // set the PRNG data
- if (rc = pthread_setspecific(_prngKey, _prngData)) {
- // printf("Error [%s:%d]: pthread_setspecific() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- rc = OSSH_PTHRD_SETSPECIFIC_ERR; break;
- }
- }
-{ // mangle the _prngData
-#ifdef _AIX
- struct timespec ts = {0};
- clock_gettime(CLOCK_REALTIME, &ts);
- *_prngData |= (unsigned int)(ts.tv_sec^ts.tv_nsec);
-#else
- struct timeval tv = {0};
- gettimeofday(&tv, NULL);
- *_prngData |= (unsigned int)(tv.tv_sec^tv.tv_usec);
-#endif
-}
- *prn = rand_r(_prngData);
-} while (0);
- return rc;
-}
-
-int
-_generate_session_key(
- RSA *pub,
- unsigned char *key,
- size_t *keylen)
-{
- // this routine generates a 128bit AES key and encrypts it with the
- // RSA public key provided
- // will not check the arguments because I control how this routine
- // is called
- int rc = 0;
- unsigned char rawkey[16]; size_t tkeylen;
-do {
- // generate the key
- int i = 0; for(;i<4; i++) if (rc = _prng_random((unsigned int *)((void *)rawkey+i*sizeof(unsigned int)))) break;
- if (rc) break;
- // encrypt the key
- if (0>(tkeylen = OSSL_FNCSELECT(_RSA_public_encrypt)(16, rawkey, key, pub, RSA_PKCS1_PADDING))) {
- // printf("Error [%s:%d]: RSA_public_encrypt() failed for session key\n", __FILE__, __LINE__);
- rc = OSSH_RSA_PUBLIC_ENCRYPT_ERR; break;
- }
- *keylen = tkeylen;
-} while (0);
- return rc;
-}
-
-int
-_recover_session_key(
- RSA *prv,
- unsigned char *ekey,
- size_t ekeylen,
- unsigned char *key,
- size_t *keylen)
-{
- // this routine recovers the key data from the encrypted key
- // material in the identity token; the encrypted material was
- // generated by encrypting a raw 128bit AES key with the user's
- // OpenSSH RSA public key; therefore, the recovery of the session
- // key uses the user's OpenSSH RSA private key to decrypt the
- // encrypted key material
- // it assumes valid arguments
- int rc = 0;
- unsigned char *tbuf;
-do {
- if (16>*keylen) {
- // not enough memory to store the return session key
- // printf("Error [%s:%d]: not enough memory for the session key; bytes required: 16\n", __FILE__, __LINE__):
- *keylen=16; rc = OSSH_MEMORY_ERR; break;
- }
- // allocate memory for a temporary buffer
- if (!(tbuf = malloc(OSSL_FNCSELECT(_RSA_size)(prv)))) {
- // unable to allocate memory for the encrypted key
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- *keylen = 0; rc = OSSH_MEMORY_ERR; break;
- }
-do {
- // decrypt the encrypted key
- if (16 != OSSL_FNCSELECT(_RSA_private_decrypt)(ekeylen, ekey, tbuf, prv, RSA_PKCS1_PADDING)) {
- rc = OSSH_RSA_PRIVATE_DECRYPT_ERR; break;
- }
- memcpy(key, tbuf, *keylen=16);
-} while (0);
- free(tbuf);
-} while (0);
- return rc;
-}
-
-int
-psm__init(
- char *opts)
-{
- int rc = 0;
-do {
- // create a pthread key for the pseudo-random specific data
- if (rc = pthread_key_create(&_prngKey, free)) {
- // printf("Error [%s:%d]: pthread_key_create() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- rc = OSSH_PTHRD_KEYCREATE_ERR; break;
- }
- if (!opts||('\0'==opts)) break;
-{ char *tcp, *lasts, *cp = strdup(opts);
- if (!cp) {
- // printf("Error [%s:%d]: strdup() failed w/errno = %s\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
-do {
- tcp = strtok_r(cp, ",", &lasts);
- do {
- switch (*tcp) {
- case 't':
- if ('='!=*++tcp) break;
-{ time_t tidtokTTL; if (0==(tidtokTTL = strtol(++tcp, NULL, 10))) {
- // printf("Error [%s:%d]: TTL value must be a positive number\n", __FILE__, __LINE__);
- break;
- }
- if (0>tidtokTTL) _idtokTTL = 0;
- else _idtokTTL = tidtokTTL;
-}
- break;
- case 'v':
- if ('='!=*++tcp) break;
- if (PATH_MAX-25<strlen(++tcp)) {
- // printf("Error [%s:%d]: Version must have a valid format for openssl\n", __FILE__, __LINE__);
- break;
- }
- osslversion = strdup(tcp);
- break;
- case 'z':
- if ('='!=*++tcp) break;
- if (PATH_MAX-1<strlen(++tcp)) {
- // printf("Error [%s:%d]: Authorized keys file must be a valid file name\n", __FILE__, __LINE__);
- break;
- }
- authzkeyfile = strdup(tcp);
- break;
- default:
- // skip unknown options
- break;
- }
- } while (tcp = strtok_r(NULL, ",", &lasts));
-} while (0);
- free(cp);
-}
-{ // open the libcrypto.so library and resolve required symbols
- char osslcryptolib[PATH_MAX+1] = "", *errmsg = NULL; int i; void *p;
-#if defined(_LINUX)
-#if defined(__64BIT__)
- strcpy(osslcryptolib, "/usr/lib64/libcrypto.so");
-#else
- strcpy(osslcryptolib, "/usr/lib/libcrypto.so");
-#endif
- if (osslversion) {
- strcat(osslcryptolib, ".");
- strcat(osslcryptolib, osslversion);
- }
- p = dlopen(osslcryptolib, RTLD_NOW);
- if (!p) {
- char *errmsg = dlerror();
- // printf("Error [%s:%d]: dlopen() failed: %s\n", __FILE__, __LINE__, errmsg?errmsg:"<no error message>");
- rc = OSSH_DLOPEN_ERR; break;
- }
- for (i=0; i<OSSL_FNCSTBLE_SIZE; i++) {
- if (!(ossl_fncstble[i].fncpntr = dlsym(p, ossl_fncstble[i].fncname))) {
- if (!strcmp(ossl_fncstble[i].fncname, "BIO_set_flags")) {
- ossl_fncstble[i].fncpntr = _fp_BIO_set_flags;
- continue;
- }
- errmsg = dlerror();
- // printf("Error [%s:%d]: dlsym() failed for %s: %s\n", __FILE__, __LINE__, ossl_fncstble[i].fncname, errmsg?errmsg:"<no error message>");
- rc = OSSH_DLSYM_ERR; break;
- }
- }
- if (rc) break;
-#elif !defined(_AIX)
- rc = OSSH_DLOPEN_ERR; break;
-#endif
-}
-} while (0);
- return rc;
-}
-
-void
-psm__cleanup()
-{
-do {
- // nothing to do
-} while (0);
- return;
-}
-
-typedef union {
- u_int64_t l;
- u_int32_t i[2];
- u_int16_t s[4];
- u_int8_t c[8];
-} Uu_int64_t;
-
-#define IDTOK_LEN_MIN 32
-#define IDTOK_LEN (4*1024)
-int
-_increase_tknsize(
- size_t len,
- void **p,
- size_t *nlen)
-{
- int rc = 0;
-do {
- void *tp = NULL; size_t tlen = (len/IDTOK_LEN+1)*IDTOK_LEN;
- if (!(tp = realloc(*p, tlen))) {
- // printf("Error [%s:d]: realloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
- *p = tp; *nlen = tlen;
-} while (0);
- return rc;
-}
-
-int
-psm__get_id_token(
- char *ruser,
- char *rhost,
- psm_idbuf_t idtok)
-{
- int rc = 0;
-do {
- if (!idtok) {
- // printf("Error [%s:%d]: invalid id buffer descriptor\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
-{
- char *idfpath = NULL, *pubidfpath = NULL;
- if (rc = _get_identity_fname(NULL, ruser, rhost, &idfpath)) break;
- pthread_cleanup_push((void(*)(void *))free, idfpath);
-do {
- if (!(pubidfpath = malloc(strlen(idfpath)+strlen(".pub")+1))) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))free, pubidfpath);
-do {
- strcpy(pubidfpath, idfpath);
- strcat(pubidfpath, ".pub");
-{
- struct stat idfstat = {0};
- if (0>stat(pubidfpath, &idfstat)) {
- // printf("Error [%s:%d]: stat() failed for %s: errno = %d\n", __FILE__, __LINE__, pubidfpath, errno);
- rc = OSSH_PIDFILE_PATH_ERR; break;
- }
- if (0==idfstat.st_size) {
- // printf("Error [%s:%d]: invalid public identity file (size = %d)\n", __FILE__, __LINE__, idfstat.st_size);
- rc = OSSH_PIDFILE_SIZE_ERR; break;
- }
-}
-{ // read the keys
- RSA *rsaprv = NULL, *rsapub = NULL;
- DSA *dsaprv = NULL, *dsapub = NULL;
- char usridstr[1024] = ""; int usridstrlen = strlen(usridstr);
-do {
-{ // open the private identity file
- FILE *idfstrm = fopen(idfpath, "r");
- if (!idfstrm) {
- // printf("Error [%s:%d]: fopen() failed for %s: errno = %d\n", __FILE__, __LINE__, idfpath, errno);
- rc = OSSH_IDFILE_OPEN_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))fclose, idfstrm);
-do {
- // read the private key
- if (rsaprv = _read_rsa1_private_key(idfstrm)) break;
- // rewind the stream to the beginning
- fseek(idfstrm, 0, SEEK_SET);
- if (rsaprv = OSSL_FNCSELECT(_PEM_read_RSAPrivateKey)(idfstrm, NULL, NULL, "")) break;
- // rewind the stream to the beginning
- fseek(idfstrm, 0, SEEK_SET);
- if (dsaprv = OSSL_FNCSELECT(_PEM_read_DSAPrivateKey)(idfstrm, NULL, NULL, "")) break;
- // printf("Error [%s:%d]: unable to read user's private key\n", __FILE__, __LINE__);
- rc = OSSH_IDFILE_READ_ERR; break;
-} while (0);
- pthread_cleanup_pop(1); // fclose(idfstrm);
- if (rc) break;
-}
- // the type of key in the public identity file can be derived from
- // the type of the private key; if the private key is a DSA key,
- // the public key must be also a DSA key; if the private key is an
- // RSA key, the public identity file may containe either an SSH-1
- // or an SSH-2 formatted RSA public key
-{ // open the public identity file
- char *usrid = NULL; FILE *idfstrm = NULL;
- pthread_cleanup_push((void(*)(void *))_nfree, usrid);
-do {
- if (!(idfstrm=fopen(pubidfpath, "r"))) {
- // printf("Error [%s:%d]: fopen() failed for %s: errno = %d\n", __FILE__, __LINE__, pubidfpath, errno);
- rc = OSSH_PIDFILE_OPEN_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))fclose, idfstrm);
-do {
- char *cp, pubkeydata[8*1024] = "";
- if (!(cp = fgets(pubkeydata, 8*1024, idfstrm))) {
- // printf("Error [%s:%d]: fgets() failed or EOF\n", __FILE__, __LINE__);
- rc = OSSH_PIDFILE_GETS_ERR; break;
- }
- if (dsaprv) {
- // this must be a DSA public key file
- if (!(dsapub = _read_dsa_public_key(cp, &usrid))) rc = OSSH_DSA_INVALID_FORMAT_ERR;
- break;
- }
- if (!(rsapub = _read_rsa_public_key(cp, &usrid))) { rc = OSSH_RSA_INVALID_FORMAT_ERR; break; }
-} while (0);
- pthread_cleanup_pop(1); // fclose(idfstrm);
- if (rc) break;
-{
- // build the id token and sign it; start w/a 4k buffer and realloc if
- // necessary
- // the id token's structure is as follows:
- // 4 bytes: magic - "ossh"
-#define IDTOK_OFFST_STATVER 4
- // 1 byte: status (high nibble) and version (low nibble)
-#define IDTOK_OFFST_KEYTYPE 5
- // 1 byte: key type - 1 for DSA, 2 for RSA
-#define IDTOK_OFFST_NONCE 6
- // 8 bytes: nonce
-#define IDTOK_OFFST_TMSTAMP 14
- // 8 bytes: time stamp
-#define IDTOK_OFFST_IDDATA 22
- // 2 bytes: length of target user name - N bytes
- // N bytes: target user name
- // 2 bytes: length of target host name - M bytes
- // M bytes: target host name
- // 2 bytes: length of user name - P bytes
- // P bytes: user name
- // 2 bytes: length of encrypted session key - Q bytes
- // Q bytes: encrypted session key
- // 2 bytes: length of id token signature - R bytes
- // R bytes: id token signature
- // minimum length of the id token is 34 bytes, including a minimum
- // 1 byte for the user id and a minimum 1 byte for the signature
-#define IDTOK_OFFST_MINLEN 32
-
-#define IDTOK_MAGIC "ossh"
- size_t idtoklen = IDTOK_LEN, cidlen = 0;
- char *idtokbuf = (char *)malloc(IDTOK_LEN);
- if (!idtokbuf) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
-do { // no cancellations points in this loop
- // write the magic, version and key type
- sprintf(idtokbuf, "%s", IDTOK_MAGIC); cidlen += strlen(IDTOK_MAGIC);
- *((unsigned char *)(idtokbuf+cidlen)) = 0x02; cidlen += sizeof(unsigned char);
- *((unsigned char *)(idtokbuf+cidlen)) = dsaprv?0x01:0x02; cidlen += sizeof(unsigned char);
-{ // write the nonce...
- Uu_int64_t nonce;
- _prng_random((unsigned int *)&nonce.i[0]); _prng_random((unsigned int *)&nonce.i[1]);
- *((u_int32_t *)(idtokbuf+cidlen)) = htonl(nonce.i[0]); cidlen += sizeof(nonce.i[0]);
- *((u_int32_t *)(idtokbuf+cidlen)) = htonl(nonce.i[1]); cidlen += sizeof(nonce.i[0]);
- // ...and skip the time stamp--will do that later
- cidlen += sizeof(Uu_int64_t);
-}
-{ // write the remote user id
- unsigned short ruserlen = ruser?strlen(ruser):0;
- if (idtoklen<(cidlen+sizeof(unsigned long)+ruserlen)) {
- // not enough space in the allocated id token buffer--need to
- // reallocate
- if (rc = _increase_tknsize(cidlen+sizeof(unsigned long)+ruserlen, (void **)&idtokbuf, &idtoklen)) break;
- }
- // write the remote user id length...
- *((unsigned short *)(idtokbuf+cidlen)) = htons(ruserlen); cidlen += sizeof(unsigned short);
- // ...and the remote user id
- if (ruserlen) { sprintf(idtokbuf+cidlen, "%s", ruser); cidlen += ruserlen; }
-}
-{ // write the remote host name
- unsigned short rhostlen = rhost?strlen(rhost):0;
- if (idtoklen<(cidlen+sizeof(unsigned long)+rhostlen)) {
- // not enough space in the allocated id token buffer--need to
- // reallocate
- if (rc = _increase_tknsize(cidlen+sizeof(unsigned long)+rhostlen, (void **)&idtokbuf, &idtoklen)) break;
- }
- // write the remote user id length...
- *((unsigned short *)(idtokbuf+cidlen)) = htons(rhostlen); cidlen += sizeof(unsigned short);
- // ...and the remote user id
- if (rhostlen) { sprintf(idtokbuf+cidlen, "%s", rhost); cidlen += rhostlen; }
-}
- // write the user id (len and value)
- if (!usrid) {
- /* build a user id, but for the time being return an error */
- // printf("Error [%s:%d]: no user id\n", __FILE__, __LINE__);
- rc = OSSH_NOUSERID_ERR; break;
- }
-{ size_t usridlen = strlen(usrid);
- if (SHRT_MAX < usridlen) {
- // printf("Error [%s:%d]: userid too long\n", __FILE__, __LINE__);
- rc = OSSH_USERID_LEN_ERR; break;
- }
- if (idtoklen<(cidlen+sizeof(unsigned short)+usridlen)) {
- // not enough space in the allocated id token buffer--need to
- // reallocate
- if (rc = _increase_tknsize(cidlen+sizeof(unsigned short)+usridlen, (void **)&idtokbuf, &idtoklen)) break;
- }
- // write the user id length...
- *((unsigned short *)(idtokbuf+cidlen)) = htons((unsigned short)usridlen); cidlen += sizeof(unsigned short);
- // ...and the user id
- sprintf(idtokbuf+cidlen, "%s", usrid); cidlen += usridlen;
-}
-{ // generate an encrypted, 128bit AES session key; this will be done
- // only for RSA identity keys;
- // the whole idea with generating a session key is based on how
- // customers use such a large system like an HPC cluster; usually,
- // the user's home directory is mounted on the compute nodes, so
- // the application has access to the user's ~/.ssh subdir; when end
- // users setup key-based login, they add the OpenSSH public key to
- // their own authorized keys file and, on the compute node, they
- // use the public key from their own authorized keys file to login
- // as themselves on the compute node; however, in addition to the
- // authorized keys file, users also have access to their own
- // private key file, and that is what I am trying to exploit here;
- // of course, in the grand schema of things, there is still the
- // question of the network file system services accessing the end
- // user's home directory (and their private key, respectively)--if
- // that is not secure and the private key can be sniffed off the
- // network, what's the point having this key distibution mechanism?
- // one could ask; the answer lays in what we try to protect here,
- // and that is separating users from each others and ensureing that
- // one end-user does not submit jobs as another end-user;
- // in addition to user's home directory setup, this mechanism
- // requires RSA keys; to keep the key distribution simple and
- // scalable, the authn/authz mechanism employs a 1-to-many
- // communication path, i.e. one client to many servers;
- // consequentely, there is no negotiation between the client and
- // the server; the server uses whatever the client sends, in one
- // shot, and that's it; all servers receive the same identity token
- // from the client; so the key is generated on the client side and
- // sent to the servers encrypted with the user's public key; the
- // servers decrypt the session key with the users's private key and
- // subsequently use it; the encryption and decryption with the
- // user's public and private key requires a key type that supports
- // such operations and the DSA standard does not support encryption
- // and decryption (that's not to say that one cannot use elliptic
- // keys to encrypt and decrypt data); consequently, the session key
- // can be distributed only if the user's identity file contains an
- // RSA key (i.e. it is either an SSH-1 or SSH-2 RSA identity file);
- size_t skeylen = 0; unsigned char *keybuf = NULL;
-do {
- if (rsapub) {
- if (!(keybuf = malloc(2*(skeylen=OSSL_FNCSELECT(_RSA_size)(rsapub))))) {
- // unable to allocate memory for the encrypted key
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
- if (rc = _generate_session_key(rsapub, keybuf, &skeylen)) break;
- }
- // write the encrypted key and its length
- if (idtoklen<(cidlen+sizeof(unsigned short)+skeylen)) {
- // not enough space in the allocated id token buffer--need to
- // reallocate
- if (rc = _increase_tknsize(cidlen+sizeof(unsigned short)+skeylen, (void **)&idtokbuf, &idtoklen)) break;
- }
- *((unsigned short *)(idtokbuf+cidlen)) = htons((unsigned short)skeylen); cidlen += sizeof(unsigned short);
- if (skeylen) {
- memcpy((void *)(idtokbuf+cidlen), (void *)keybuf, skeylen);
- cidlen += skeylen;
- }
-} while (0);
- if (keybuf) free(keybuf);
- if (rc) break;
-}
-{ // time stamp the id token
- Uu_int64_t tmstamp;
- tmstamp.l = time(NULL);
-#if BYTE_ORDER == LITTLE_ENDIAN
- *((u_int32_t *)(idtokbuf+IDTOK_OFFST_TMSTAMP)) = htonl(tmstamp.i[1]);
- *((u_int32_t *)(idtokbuf+IDTOK_OFFST_TMSTAMP+sizeof(tmstamp.i[1]))) = htonl(tmstamp.i[0]);
-#elif BYTE_ORDER == BIG_ENDIAN
- *((u_int32_t *)(idtokbuf+IDTOK_OFFST_TMSTAMP)) = htonl(tmstamp.i[0]);
- *((u_int32_t *)(idtokbuf+IDTOK_OFFST_TMSTAMP+sizeof(tmstamp.i[0]))) = htonl(tmstamp.i[1]);
-#else
-#error BYTE_ORDER must be either BIG_ENDIAN or LITTLE_ENDIAN
-#endif
-}
-{ // sign the id token
- char idtoksha1[20] = "";
- unsigned int idtoksiglen = dsaprv?OSSL_FNCSELECT(_DSA_size)(dsaprv):OSSL_FNCSELECT(_RSA_size)(rsaprv);
- if (0==idtoksiglen) {
- // printf("Error [%s:%d]: invalid public key size...\n", __FILE__, __LINE__);
- rc = OSSH_DRSA_SIZE_ERR; break;
- }
- if (!OSSL_FNCSELECT(_SHA1)(idtokbuf, cidlen, idtoksha1)) {
- // printf("Error [%s:%d]: SHA1() failed for id token\n", __FILE__, __LINE__);
- rc = OSSH_SHA1_ERR; break;
- }
- if (idtoklen<cidlen+sizeof(unsigned short)+idtoksiglen) {
- // not enough space in the allocated id token buffer--need to
- // reallocate
- if (rc = _increase_tknsize(cidlen+sizeof(unsigned short)+idtoksiglen, (void **)&idtokbuf, &idtoklen)) break;
- }
- cidlen += sizeof(unsigned short);
- // write the signature...
- if (!(dsaprv?OSSL_FNCSELECT(_DSA_sign)(NID_sha1, idtoksha1, 20, (char *)(idtokbuf+cidlen), &idtoksiglen, dsaprv): OSSL_FNCSELECT(_RSA_sign)(NID_sha1, idtoksha1, 20, (char *)(idtokbuf+cidlen), &idtoksiglen, rsaprv))) {
- // printf("Error [%s:%d]: DSA/RSA_sign() failed...\n", __FILE__, __LINE__);
- rc = OSSH_DRSA_SIGN_ERR; break;
- }
- // ...and the signature length
- *((unsigned short *)(idtokbuf+cidlen-sizeof(unsigned short))) = htons((unsigned short)idtoksiglen); cidlen += idtoksiglen;
- // scale back the memory allocated for the id token buf. if need be
- if (cidlen<idtoklen) idtokbuf = realloc(idtokbuf, cidlen);
- idtok->iov_base = idtokbuf; idtok->iov_len = cidlen;
-}
-} while (0);
- if (rc) { memset(idtokbuf, 0, idtoklen); free(idtokbuf); }
-}
-} while (0);
- pthread_cleanup_pop(1); // _nfree(usrid)
-}
-} while (0);
- // cleanup the public keys
- if (rsaprv) OSSL_FNCSELECT(_RSA_free)(rsaprv); if (rsapub) OSSL_FNCSELECT(_RSA_free)(rsapub);
- if (dsaprv) OSSL_FNCSELECT(_DSA_free)(dsaprv); if (dsapub) OSSL_FNCSELECT(_DSA_free)(dsapub);
-}
-} while (0);
- pthread_cleanup_pop(1); // free(pubidfpath);
-} while (0);
- pthread_cleanup_pop(1); // free(idfpath);
-}
-} while (0);
- return rc;
-}
-
-#define IDTOK_STAT_VRFIED 0x80
-#define IDTOK_STAT_ISVRFIED(idtok) \
- (IDTOK_STAT_VRFIED&(*((unsigned char *)(idtok->iov_base+IDTOK_OFFST_STATVER))))
-#define IDTOK_STAT_SETVRFIED(idtok) \
- (*((unsigned char *)(idtok->iov_base+IDTOK_OFFST_STATVER)) |= IDTOK_STAT_VRFIED)
-#define IDTOK_STAT_CLRVRFIED(idtok) \
- (*((unsigned char *)(idtok->iov_base+IDTOK_OFFST_STATVER)) &= ~IDTOK_STAT_VRFIED)
-#define IDTOK_STAT_SKEY 0x40
-#define IDTOK_STAT_HASKEY(idtok) \
- (IDTOK_STAT_SKEY&(*((unsigned char *)(idtok->iov_base+IDTOK_OFFST_STATVER))))
-#define IDTOK_STAT_SETSKEY(idtok) \
- (*((unsigned char *)(idtok->iov_base+IDTOK_OFFST_STATVER)) |= IDTOK_STAT_SKEY)
-#define IDTOK_STAT_CLRSKEY(idtok) \
- (*((unsigned char *)(idtok->iov_base+IDTOK_OFFST_STATVER)) &= ~IDTOK_STAT_SKEY)
-int
-psm__verify_id_token(
- char *uname,
- psm_idbuf_t idtok)
-{
- int rc = 0;
-do {
- if (!idtok || !idtok->iov_base || (IDTOK_LEN_MIN>=idtok->iov_len)) {
- // printf("Error [%s:%d]: invalid id buffer descriptor\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
- if (!uname||('\0'==uname[0])) {
- // printf("Error [%s:%d]: invalid user name\n", __FILE__, __LINE__);
- rc = OSSH_UNAME_INVALID_ERR; break;
- }
-{ // check the id token
- size_t idtokbuflen = 0; unsigned char keytype = 0;
- char *cp = idtok->iov_base; int idtokver = 0;
- if (strncmp(cp, "ossh", strlen("ossh"))) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- } else cp += strlen("ossh");
- if ((1!=(idtokver=0x0f&(*((unsigned char *)cp))))&&(2!=idtokver)) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- } else cp += sizeof(unsigned char);
- if ((0x01!=(keytype = *cp))&&(0x02!=keytype)) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- } else cp += sizeof(unsigned char);
- // skip the nonce
- cp += sizeof(Uu_int64_t);
-{ // check the time against the skew
- time_t ltime = time(NULL);
- Uu_int64_t tmstamp = {0};
-#if BYTE_ORDER == LITTLE_ENDIAN
- tmstamp.i[1] = ntohl(*((u_int32_t *)cp)); cp += sizeof(tmstamp.i[1]);
- tmstamp.i[0] = ntohl(*((u_int32_t *)cp)); cp += sizeof(tmstamp.i[0]);
-#elif BYTE_ORDER == BIG_ENDIAN
- tmstamp.i[0] = ntohl(*((u_int32_t *)cp)); cp += sizeof(tmstamp.i[0]);
- tmstamp.i[1] = ntohl(*((u_int32_t *)cp)); cp += sizeof(tmstamp.i[1]);
-#endif
- if (_idtokTTL&&(ltime>(time_t)tmstamp.l+_idtokTTL)) {
- // printf("Error [%s:%d]: id token skew too big\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_SKEW_ERR; break;
- }
-}
-{ // check the remote user id
- unsigned short tuserlen = ntohs(*((unsigned short *)cp)); cp += sizeof(unsigned short);
- if (tuserlen&&((tuserlen!=strlen(uname))||strncmp(uname, cp, tuserlen))) {
- // printf("Error [%s:%d]: id token not valid for target user %s\n", __FILE__, __LINE__, uname);
- rc = OSSH_IDTOK_USER_ERR; break;
- }
- cp += tuserlen;
-}
-{ // skip the host -- we'll come back to it, if need be
- unsigned short thostlen = ntohs(*((unsigned short *)cp)); cp += sizeof(unsigned short);
- cp += thostlen;
-}
-{
- char *rusrnid, idtoksha1[20] = "";
- unsigned short rusrnidlen = ntohs(*((unsigned short *)cp)); cp += sizeof(unsigned short);
- if (!rusrnidlen) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
- if (idtok->iov_len<((void *)cp-idtok->iov_base+rusrnidlen)) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
- if (!(rusrnid = malloc(rusrnidlen+1))) {
- // printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = OSSH_MEMORY_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))free, rusrnid);
-do {
- strncpy(rusrnid, cp, rusrnidlen); rusrnid[rusrnidlen] = '\0';
- // skip the target user id
- cp += rusrnidlen;
- // skip the session key, if any
- if (1<idtokver) {
- // id tokens version 2 and above have a session key field
- unsigned short skeylen = ntohs(*((unsigned short *)cp));
- cp += sizeof(unsigned short)+skeylen;
- }
- idtokbuflen = (size_t)((void *)cp-idtok->iov_base);
- // calculate the SHA1 digest
- if (!(OSSL_FNCSELECT(_SHA1)(idtok->iov_base, idtokbuflen, idtoksha1))) {
- // printf("Error [%s:%d]: SHA1() failed for id token\n", __FILE__, __LINE__);
- rc = OSSH_SHA1_ERR; break;
- }
-{ // get the signature and its length
- unsigned short idtoksiglen = ntohs(*((unsigned short *)cp));
- unsigned char *idtoksig = (unsigned char *)(cp+=sizeof(unsigned short));
- if (!idtoksiglen) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
- if (idtok->iov_len<((void *)cp-idtok->iov_base+idtoksiglen)) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
-{ // get the name of the authorized key file
- char *azfpath = NULL;
- if (rc = _get_authz_fname(uname, &azfpath)) {
- // printf("Error [%s:%d]: invalid authorized key file\n", __FILE__, __LINE__);
- break;
- }
- pthread_cleanup_push((void(*)(void *))free, azfpath);
-do {
- // open the authorized keys file and read it, one line at a time
- FILE *azfstrm = NULL;
- if (!(azfstrm=fopen(azfpath, "r"))) {
- // printf("Error [%s:%d]: fopen() failed for %s: errno = %d\n", __FILE__, __LINE__, azfpath, errno);
- rc = OSSH_AUTHZFILE_OPEN_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))fclose, azfstrm);
-do {
- char *cp, pubkeydata[8*1024] = "";
- do {
- if (!(cp = fgets(pubkeydata, 8*1024, azfstrm))) {
- // printf("Error [%s:%d]: fgets() failed or EOF\n", __FILE__, __LINE__);
- rc = OSSH_AUTHZFILE_GETS_ERR; break;
- }
- if ('#' != *cp) {
- DSA *dsapub = NULL; RSA *rsapub = NULL; char *usrid = NULL;
- // try to read the key data as RSA
- if (0x01==keytype) {
- if (!(dsapub = _read_dsa_public_key(cp, &usrid))) continue;
- if (usrid&&strcmp(usrid, rusrnid)) {
- // user ids don't match
- OSSL_FNCSELECT(_DSA_free)(dsapub); free(usrid); continue;
- }
- rc = OSSL_FNCSELECT(_DSA_verify)(NID_sha1, idtoksha1, 20, idtoksig, idtoksiglen, dsapub); OSSL_FNCSELECT(_DSA_free)(dsapub);
- if (!rc||(0>rc)) {
- rc = OSSH_DSA_VERIFY_ERR;
- // printf("Error [%s:%d]: DSA_verify() failed...\n", __FILE__, __LINE__);
- // there is no user id associated w/this key, so
- // I'll continue searching for another DSA key
- continue;
- } else rc = 0;
- if (usrid) free(usrid);
- break;
- }
- if (0x02==keytype) {
- if (!(rsapub = _read_rsa_public_key(cp, &usrid))) continue;
- if (usrid&&strcmp(usrid, rusrnid)) {
- // user ids don't match
- OSSL_FNCSELECT(_RSA_free)(rsapub); free(usrid); continue;
- }
- rc = OSSL_FNCSELECT(_RSA_verify)(NID_sha1, idtoksha1, 20, idtoksig, idtoksiglen, rsapub); OSSL_FNCSELECT(_RSA_free)(rsapub);
- if (!rc||(0>rc)) {
- rc = OSSH_RSA_VERIFY_ERR;
- // printf("Error [%s:%d]: RSA_verify() failed...\n", __FILE__, __LINE__);
- // there is no user id associated w/this key, so
- // I'll continue searching for another RSA key
- continue;
- } else rc = 0;
- if (usrid) free(usrid);
- break;
- }
- }
- } while (1);
- if (rc) {
- // just to make sure the verified bit is not on
- IDTOK_STAT_CLRVRFIED(idtok);
- break;
- } else IDTOK_STAT_SETVRFIED(idtok);
-} while (0);
- pthread_cleanup_pop(1); // fclose(azfstrm);
-} while (0);
- pthread_cleanup_pop(1); // free(azfpath);
-}
-}
-} while (0);
- pthread_cleanup_pop(1); // free(rusrnid);
-}
-}
-} while (0);
- return rc;
-}
-
-int
-psm__free_id_token(
- psm_idbuf_t idtok)
-{
- int rc = 0;
-do {
- if (!idtok || !idtok->iov_base || (0==idtok->iov_len)) {
- // printf("Error [%s:%d]: invalid id buffer descriptor\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
- free(idtok->iov_base);
- idtok->iov_base = (void *)NULL; idtok->iov_len = 0;
-} while (0);
- return rc;
-}
-
-int
-psm__get_id_from_token(
- psm_idbuf_t idtok,
- char *usrnid,
- size_t *usrnidlen)
-{
- int rc = 0;
-do {
- if (!idtok || !idtok->iov_base || (0==idtok->iov_len)) {
- // printf("Error [%s:%d]: invalid id buffer descriptor\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
- if (!usrnidlen) {
- // printf("Error [%s:%d]: invalid userid buffer length\n", __FILE__, __LINE__);
- rc = OSSH_ARG_ERR; break;
- }
- if (!IDTOK_STAT_ISVRFIED(idtok)) {
- // printf("Error [%s:%d]: identity token is not verified\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_NOTVERIFD_ERR; break;
- }
-{ size_t tusrnidlen; char *tusrnid;
- size_t nidoffset = IDTOK_OFFST_IDDATA;
- // skip the target user name
- nidoffset += ntohs(*((unsigned short *)(idtok->iov_base+nidoffset)))+sizeof(unsigned short);
- // skip the target host name
- nidoffset += ntohs(*((unsigned short *)(idtok->iov_base+nidoffset)))+sizeof(unsigned short);
- // get the user name (i.e. the client's name)
- tusrnidlen = ntohs(*((unsigned short *)(idtok->iov_base+nidoffset)))+1;
- if ((*usrnidlen<tusrnidlen)||(!usrnid)) { *usrnidlen = tusrnidlen; rc = PSM__MEMORY_ERR; break; }
- tusrnid = (char *)(idtok->iov_base+nidoffset+sizeof(unsigned short)); \
- strncpy(usrnid, tusrnid, tusrnidlen-1); usrnid[tusrnidlen-1] = '\0';
- *usrnidlen = tusrnidlen;
-}
-} while (0);
- return rc;
-}
-
-int
-psm__get_key_from_token(
- char *uname,
- psm_idbuf_t idtok,
- unsigned char *keybuf,
- size_t *keylen)
-{
- int rc = 0;
-do {
- if (!idtok || (NULL==idtok->iov_base) || (IDTOK_LEN_MIN>idtok->iov_len)) {
- // printf("Error [%s:%d]: invalid id buffer descriptor\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
- if (!keylen) {
- // printf("Error [%s:%d]: invalid key buffer length\n", __FILE__, __LINE__);
- rc = OSSH_ARG_ERR; break;
- }
- if (!keybuf || (16>*keylen)) {
- // printf("Error [%s:%d]: not enough memory for the session key\n", __FILE__, __LINE__);
- *keylen = 16; rc = PSM__MEMORY_ERR; break;
- }
- // if user argument is provided, then I expect the token to have
- // been verified first
- if (uname && ('\0'!=*uname) && !IDTOK_STAT_ISVRFIED(idtok)) {
- // printf("Error [%s:%d]: identity token is not verified\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_NOTVERIFD_ERR; break;
- }
- // check the identity token
- if (strncmp((char *)idtok->iov_base, "ossh", strlen("ossh"))) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
-{ unsigned char idtokver = 0x0f&(*((unsigned char *)(idtok->iov_base+IDTOK_OFFST_STATVER)));
- if (2!=idtokver) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_IDTOK_INVALID_ERR; break;
- }
-}
-{ unsigned char keytype = *((unsigned char *)(idtok->iov_base+IDTOK_OFFST_KEYTYPE));
- if (0x02!=keytype) {
- // printf("Error [%s:%d]: invalid id token\n", __FILE__, __LINE__);
- rc = OSSH_SKEY_NOTRSA_ERR; break;
- }
-}
-{ // check the user name, if provided
- char *cp = idtok->iov_base+IDTOK_OFFST_IDDATA;
-{ size_t tuserlen = ntohs(*((unsigned short *)cp)); cp += sizeof(unsigned short);
- if (uname && ('\0' != *uname)) {
- // make sure it's the same as the remote user in the id token
- if (tuserlen&&((tuserlen!=strlen(uname))||strncmp(uname, cp-sizeof(unsigned short), tuserlen))) {
- // printf("Error [%s:%d]: id token not valid for target user %s\n", __FILE__, __LINE__, uname);
- rc = OSSH_IDTOK_USER_ERR; break;
- }
- }
- cp += tuserlen;
-}
- // skip the host name
- cp += ntohs(*((unsigned short *)cp)) + sizeof(unsigned short);
- // skip the remote user network id
- cp += ntohs(*((unsigned short *)cp)) + sizeof(unsigned short);
-{ // check whether there is a session key
- // the public key used is RSA and there is a session key
- // get the user's identity file and try to de decrypt the
- // session key; if the user's identity file matches the public
- // keys used to initially encrypt the session key, then we can
- // decrypt the session key and will replace it w/the decrypted
- // value; this should work as the session key should be a
- // 128bit AES key, which is smaller than its encrypted version
- // (which is the size of the RSA key, at least 512bits);
- // any error encountered in this code path will not result
- // in invalidating the identity token, because the token has
- // already been verified; however, it will rezult in no session
- // key and no subsequent message authentication services
- size_t ekeylen = ntohs(*((unsigned short *)cp));
- if (0 == ekeylen) {
- // printf("Error [%s:%d]: no session key in id token\n", __FILE__, __LINE__);
- rc = OSSH_SKEY_NOKEY_ERR; break;
- }
- cp += sizeof(unsigned short);
-{ char *idfpath = NULL; RSA *rsaprv = NULL;
- if (rc = _get_identity_fname(uname, NULL, NULL, &idfpath)) break;
- pthread_cleanup_push((void(*)(void *))free, idfpath);
-do { // open the private identity file
- FILE *idfstrm = fopen(idfpath, "r");
- if (!idfstrm) {
- // printf("Error [%s:%d]: fopen() failed for %s: errno = %d\n", __FILE__, __LINE__, idfpath, errno);
- rc = OSSH_IDFILE_OPEN_ERR; break;
- }
- pthread_cleanup_push((void(*)(void *))fclose, idfstrm);
-do { // read the private key
- if (rsaprv = _read_rsa1_private_key(idfstrm)) break;
- // rewind the stream to the beginning
- fseek(idfstrm, 0, SEEK_SET);
- if (rsaprv = OSSL_FNCSELECT(_PEM_read_RSAPrivateKey)(idfstrm, NULL, NULL, "")) break;
- // printf("Error [%s:%d]: unable to read user's private key\n", __FILE__, __LINE__);
- rc = OSSH_IDFILE_READ_ERR; break;
-} while (0);
- pthread_cleanup_pop(1); // fclose(idfstrm);
-} while (0);
- pthread_cleanup_pop(1); // free(idfpath);
- if (rc) break;
- pthread_cleanup_push((void(*)(void *))OSSL_FNCSELECT(_RSA_free), rsaprv);
-do { // now that I have the private key, decrypt the session key
- if (rc = _recover_session_key(rsaprv, cp, ekeylen, keybuf, keylen)) break;
-} while (0);
- pthread_cleanup_pop(1); // OSSL_FNCSELECT(_RSA_free)
-}
-}
-}
-} while (0);
- return rc;
-}
-
-int
-_generate_md5_digest(
- struct iovec *in,
- int cnt,
- unsigned char *digest)
-{
- // assumes valid arguments
- int rc = 0;
- struct iovec *tdata = in;
-do {
- MD5_CTX md5ctx = {0};
- // initialize the MD5 engine
- if (1 != OSSL_FNCSELECT(_MD5_Init)(&md5ctx)) {
- // printf("Error [%s:%d]: MD5_Init() failed...\n", __FILE__, __LINE__);
- rc = OSSH_MD5_INIT_ERR; break;
- }
- while (cnt--) {
- if (1 != OSSL_FNCSELECT(_MD5_Update)(&md5ctx, tdata->iov_base, tdata->iov_len)) {
- // printf("Error [%s:%d]: MD5_Update() failed...\n", __FILE__, __LINE__);
- rc = OSSH_MD5_UPDATE_ERR; break;
- }
- tdata++;
- }
- if (rc) break;
- if (1 != OSSL_FNCSELECT(_MD5_Final)(digest, &md5ctx)) {
- // printf("Error [%s:%d]: MD5_Final() failed...\n", __FILE__, __LINE__);
- rc = OSSH_MD5_FINAL_ERR; break;
- }
-} while (0);
- return rc;
-}
-
-int
-psm__sign_data(
- unsigned char *key,
- size_t keylen,
- struct iovec *in,
- int cnt,
- struct iovec *sig)
-{
- // generate an MD5 digest of the messages received and then encrypt
- // the digest w/the 128bit AES key
- // data points to a NULL-terminated array of struct iovec scalars
- int rc = 0;
-do {
- if (!in || (0 == cnt)) {
- // printf("Error [%s:%d]: invalid data vector\n", __FILE__, __LINE__);
- rc = OSSH_DATA_INVALID_ERR; break;
- }
-{
- // generate the md5 digest
- unsigned char md5digest[MD5_DIGEST_LENGTH];
- if (rc = _generate_md5_digest(in, cnt, md5digest)) break;
-{ // sign the digest w/the AES key
- AES_KEY keysched = {0};
- unsigned char *aescipher = malloc(AES_BLOCK_SIZE);
- if (!aescipher) {
- // printf("Error [%s:%d]: malloc() failed...\n", __FILE__, __LINE__);
- rc = OSSH_MEMORY_ERR; break;
- }
- if (rc = OSSL_FNCSELECT(_AES_set_encrypt_key)(key, 8*keylen, &keysched)) {
- // printf("Error [%s:%d]: AES_set_encrypt_key() failed...\n", __FILE__, __LINE__);
- rc = OSSH_AES_KEYSCHED_ERR; break;
- }
- OSSL_FNCSELECT(_AES_encrypt)(md5digest, aescipher, &keysched);
- sig->iov_base = aescipher; sig->iov_len = AES_BLOCK_SIZE;
-}
-}
-} while (0);
- return rc;
-}
-
-int
-psm__verify_data(
- unsigned char *key,
- size_t keylen,
- struct iovec *in,
- int cnt,
- struct iovec *sig)
-{
- int rc = 0;
-do {
- if (!sig||(!sig->iov_base)||(16!=sig->iov_len)) {
- // printf("Error [%s:%d]: signature is not valid\n", __FILE__, __LINE__);
- rc = OSSH_SIG_INVALID_ERR; break;
- }
-{ struct iovec tsig = {0};
- if (rc = psm__sign_data(key, keylen, in, cnt, &tsig)) break;
- if ((tsig.iov_len!=sig->iov_len)||memcmp(tsig.iov_base, sig->iov_base, tsig.iov_len)) {
- // printf("Error [%s:%d]: signature verification failed\n", __FILE__, __LINE__);
- rc = OSSH_SIG_SIGNATURE_ERR;
- }
- psm__free_signature(&tsig);
-}
-} while (0);
- return rc;
-}
-
-int
-psm__free_signature(
- struct iovec *sig)
-{
- int rc = 0;
-do {
- if (!sig || (0==sig->iov_len) || (!sig->iov_base)) {
- // printf("Error [%s:%d]: invalid signature descriptor\n", __FILE__, __LINE__);
- rc = OSSH_SIG_INVALID_ERR; break;
- }
- free(sig->iov_base);
- sig->iov_base = (void *)NULL; sig->iov_len = 0;
-} while (0);
- return rc;
-}
-
-// EOF
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/psec_openssh.h b/tools/sci/org.eclipse.ptp.sci/secmod/psec_openssh.h
deleted file mode 100644
index 37c6d39..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/psec_openssh.h
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Description: psec functions from poe
-
- Author: Serban Maerean
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 serban Initial code (D153875)
-
-****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include "psec_mod.h"
-
-#ifndef _H_PSEC_OSSH_H
-#define _H_PSEC_OSSH_H
-
-#define OSSH_MEMORY_ERR 1
-#define OSSH_PWUID_ERR 2
-#define OSSH_PWUID_HOMEDIR_ERR 3
-#define OSSH_IDTOK_INVALID_ERR 4
-#define OSSH_IDTOK_NOTVERIFD_ERR 5
-#define OSSH_IDTOK_SKEW_ERR 6
-#define OSSH_IDTOK_USER_ERR 7
-#define OSSH_UNAME_INVALID_ERR 8
-#define OSSH_DSA_INVALID_FORMAT_ERR 9
-#define OSSH_RSA_INVALID_FORMAT_ERR 10
-#define OSSH_CIPHER_VERIF_ERR 11
-#define OSSH_NOUSERID_ERR 12
-#define OSSH_USERID_LEN_ERR 13
-#define OSSH_ARG_ERR 14
-#define OSSH_IDTOK_NOSKEY_ERR 15
-
-#define OSSH_CFGFILE_ERR 20
-#define OSSH_CFGFILE_SIZE_ERR 21
-#define OSSH_CFGFILE_DATA_ERR 22
-#define OSSH_CFGFILE_OPEN_ERR 23
-#define OSSH_CFGFILE_GETS_ERR 24
-#define OSSH_IDFILE_NAME_ERR 25
-#define OSSH_IDFILE_PATH_ERR 26
-#define OSSH_IDFILE_SIZE_ERR 27
-#define OSSH_IDFILE_OPEN_ERR 28
-#define OSSH_IDFILE_READ_ERR 29
-#define OSSH_IDFILE_DEFS_ERR 30
-#define OSSH_PIDFILE_PATH_ERR 31
-#define OSSH_PIDFILE_SIZE_ERR 32
-#define OSSH_PIDFILE_OPEN_ERR 33
-#define OSSH_PIDFILE_GETS_ERR 34
-#define OSSH_AUTHZFILE_NAME_ERR 35
-#define OSSH_AUTHZFILE_PATH_ERR 36
-#define OSSH_AUTHZFILE_OPEN_ERR 37
-#define OSSH_AUTHZFILE_GETS_ERR 38
-
-#define OSSH_DSA_NEW_ERR 40
-#define OSSH_RSA_NEW_ERR 41
-#define OSSH_DRSA_SIZE_ERR 42
-#define OSSH_DRSA_SIGN_ERR 43
-#define OSSH_DSA_VERIFY_ERR 44
-#define OSSH_RSA_VERIFY_ERR 45
-#define OSSH_SHA1_ERR 46
-#define OSSH_BIO_NEW_MEMBUF_ERR 47
-#define OSSH_BIO_NEW_ERR 48
-#define OSSH_BIO_PUSH_ERR 49
-#define OSSH_BIO_READ_ERR 50
-#define OSSH_BN_BIN2BN_ERR 51
-#define OSSH_BN_DEC2BN_ERR 52
-#define OSSH_RSA_PUBLIC_ENCRYPT_ERR 53
-#define OSSH_RSA_PRIVATE_DECRYPT_ERR 54
-#define OSSH_SIG_INVALID_ERR 55
-#define OSSH_DATA_INVALID_ERR 56
-#define OSSH_MD5_INIT_ERR 57
-#define OSSH_MD5_UPDATE_ERR 57
-#define OSSH_MD5_FINAL_ERR 58
-
-#define OSSH_PTHRD_SETSPECIFIC_ERR 60
-#define OSSH_PTHRD_KEYCREATE_ERR 61
-#define OSSH_DLSYM_ERR 62
-#define OSSH_DLOPEN_ERR 63
-
-#define OSSH_SKEY_NOTRSA_ERR 70
-#define OSSH_SKEY_NOKEY_ERR 71
-#define OSSH_AES_KEYSCHED_ERR 72
-#define OSSH_AES_ENCRYPT_ERR 73
-#define OSSH_SIG_SIGNATURE_ERR 74
-
-#endif // _H_PSEC_OSSH_H
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/psec_test.c b/tools/sci/org.eclipse.ptp.sci/secmod/psec_test.c
deleted file mode 100644
index 214ad32..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/psec_test.c
+++ /dev/null
@@ -1,279 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Description: psec functions from poe
-
- Author: Serban Maerean
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 serban Initial code (D153875)
-
-****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <string.h>
-#include <assert.h>
-#include <fcntl.h>
-#include <pwd.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/uio.h>
-
-#include "psec.h"
-
-unsigned char testdata[] = {
-0xde, 0xad, 0xbe, 0xef, 0x15, 0x04, 0x16, 0x89, 0x92, 0x73, 0x30, 0x68,
-0x19, 0xa7, 0xb7, 0x2d, 0xde, 0xbe, 0xff, 0x00, 0x79, 0xc8, 0x8f, 0x5b,
-0x30, 0x50, 0x67, 0x58, 0xdf, 0x11, 0x94, 0xe3, 0x8b, 0x39, 0x33, 0x94,
-0x93, 0x83, 0xaa, 0x93, 0xa9, 0x93, 0xf2, 0x3d, 0x3e, 0x0d, 0x83, 0xf8,
-0x38, 0x47, 0xd3, 0x8a, 0x85, 0x78, 0x82, 0x58, 0x56, 0xa9, 0x9a, 0x67,
-0x01, 0x47, 0xab, 0xe7, 0x23, 0xc0, 0xf1, 0x38, 0xa7, 0xf0, 0x91, 0xc8};
-struct iovec testvector[3] = {{(void *)testdata, 13}, {(void *)testdata+17, 23}, {(void *)testdata+50, 6}};
-
-int
-main(int argc, char *argv[])
-{
- int rc = 0;
- unsigned int amdlhndl = 0;
- char amfpath[PATH_MAX] = "", idtokfpath[PATH_MAX] = "", *cp, *progname = ((cp=strrchr(argv[0], '/'))?cp++:argv[0]);
- int creatver = 0;
- struct iovec signature = {0};
- char *username = NULL;
-do {
- if ((2!=argc)&&(4!=argc)&&(5!=argc)) {
- printf("Error [%s:%d]: invalid number of arguments\n", __FILE__, __LINE__);
- printf("Usage:\n %s <auth module file>\n", progname);
- printf("or\n %s <auth module file> [create|verify] <id token file>\n", progname);
- printf("or\n %s {<auth module file>} verify <id token file> <user name>\n", progname);
- printf("\nwhere\n"" <auth module file> is relative to current directory\n"" <id token file> is relative to current directory\n""<user name> is the target user\n");
- rc = -1; break;
- }
- if (2<argc) {
-do {
- if (('c'==*(argv[2]))&&(strstr("create", argv[2]))) {
- creatver = 1; break;
- }
- if (('v'==*(argv[2]))&&(strstr("verify", argv[2]))) {
- creatver = 2; break;
- }
- printf("Error [%s:%d]: invalid action: %s\n", __FILE__, __LINE__, argv[2]);
- rc = -1;
-} while (0);
- if (rc) break;
- }
- if ((5==argc)&&(2==creatver)) username = argv[4];
- // get current directory
- if (0>getcwd(amfpath, PATH_MAX)) {
- printf("Error [%s:%d]: getcwd() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = -1; break;
- }
- if ('/' != amfpath[strlen(amfpath)]) strcat(amfpath, "/");
- strcpy(idtokfpath, amfpath);
- strcat(amfpath, argv[1]);
- if (rc = psec_set_auth_module(NULL, amfpath, "m[t=-1]", &amdlhndl)) {
- printf("Error [%s:%d]: psec_set_auth_module() failed\n", __FILE__, __LINE__);
- rc = -1; break;
- }
-{
- psec_idbuf_desc idbufd = {0};
- if (2!=creatver) {
- // we need to get an id token
- if (rc = psec_get_id_token(amdlhndl, NULL, NULL, &idbufd)) {
- printf("Error [%s:%d]: psec_get_id_token() failed with rc = %d\n", __FILE__, __LINE__, rc);
- rc = -1; break;
- }
- if (1==creatver) {
- // save the id token in the file provided and exit
- strcat(idtokfpath, argv[3]);
-{
- int idtokfd = -1; size_t nbytes = -1;
- if (0>(idtokfd = open(idtokfpath, O_WRONLY|O_CREAT|O_EXCL, S_IRUSR|S_IWUSR))) {
- printf("Error [%s:%d]: open() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = -1; break;
- }
-do {
- if (0>(nbytes=write(idtokfd, idbufd.iov_base, idbufd.iov_len))) {
- printf("Error [%s:%d]: write() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = -1; break;
- }
- if (nbytes!=idbufd.iov_len) {
- printf("Error [%s:%d]: failure to write entire id token to file\n", __FILE__, __LINE__);
- rc = -1; break;
- }
-} while (0);
- close(idtokfd);
-}
- break;
- } else {
- // get the session key
- unsigned char skey[10], *skeyp = skey; size_t skeylen = 10;
-do {
-do {
- if (!(rc = psec_get_key_from_token(amdlhndl, NULL, &idbufd, skeyp, &skeylen))) break;
- if (PSEC_MEMORY_ERR!=rc) {
- printf("Error [%s:%d]: psec_get_key_from_token() failed: rc = %d\n", __FILE__, __LINE__);
- break;
- }
- if (!skeylen) {
- printf("Error [%s:%d]: psec_get_key_from_token() failed: rc = %d\n", __FILE__, __LINE__);
- break;
- }
- skeyp = malloc(skeylen); assert(skeyp);
- if (rc = psec_get_key_from_token(amdlhndl, NULL, &idbufd, skeyp, &skeylen)) {
- printf("Error [%s:%d]: psec_get_key_from_token() failed: rc = %d\n", __FILE__, __LINE__);
- break;
- }
-} while (0);
- if (rc) break;
- // use some test data to sign
- if (rc = psec_sign_data(amdlhndl, skeyp, skeylen, testvector, 3, &signature)) {
- printf("Error [%s:%d]: psec_sign_data() failed: rc = %d\n", __FILE__, __LINE__);
- break;
- }
-{ // one more time, for consistency
- struct iovec sig2 = {0};
- if (rc = psec_sign_data(amdlhndl, skeyp, skeylen, testvector, 3, &sig2)) {
- printf("Error [%s:%d]: psec_sign_data() failed: rc = %d\n", __FILE__, __LINE__);
- break;
- }
- if (memcmp(sig2.iov_base, signature.iov_base, sig2.iov_len)) {
- printf("Error [%s:%d]: psec_sign_data() failed with inconsistent results\n", __FILE__, __LINE__);
- rc = -1; break;
- }
-}
-} while (0);
- if (skeyp != skey) free (skeyp);
- if (rc) break;
- }
- }
-do {
- // get the current user name
- long pwrbufsize = sysconf(_SC_GETPW_R_SIZE_MAX);
- void *pwrbuf = malloc(pwrbufsize); assert(pwrbuf);
-do {
- struct passwd usrpwd, *usrpwdp = NULL;
- if (rc = getpwuid_r(geteuid(), &usrpwd, pwrbuf, pwrbufsize, &usrpwdp)) {
- printf("Error [%s:%d]: getpwuid_r() failed: rc = %d\n", __FILE__, __LINE__, rc);
- rc = -1; break;
- }
- if (!usrpwd.pw_name) {
- printf("Error: [%s:%d]: no user name available\n", __FILE__, __LINE__);
- rc = -1; break;
- }
- if (2==creatver) {
- // read the id token from file
- strcat(idtokfpath, argv[3]);
-{
- size_t nbytes; int idtokfd = -1; struct stat idtokfstat = {0};
- if (0>stat(idtokfpath, &idtokfstat)) {
- printf("Error [%s:%d]: stat() failed w/errno = %d for %s\n", __FILE__, __LINE__, errno, idtokfpath);
- rc = -1; break;
- }
- if (!idtokfstat.st_size) {
- printf("Error [%s:%d]: invalid id token file: %s\n", __FILE__, __LINE__, idtokfpath);
- rc = -1; break;
- }
- if (0>(idtokfd = open(idtokfpath, O_RDONLY))) {
- printf("Error [%s:%d]: open() failed w/errno = %d for %s\n", __FILE__, __LINE__, errno, idtokfpath);
- rc = -1; break;
- }
-do {
- if (!(idbufd.iov_base = malloc(idbufd.iov_len = idtokfstat.st_size))) {
- printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = -1; break;
- }
- if (0>(nbytes = read(idtokfd, idbufd.iov_base, idbufd.iov_len))) {
- printf("Error [%s:%d]: read() failed w/errno = %d for %s\n", __FILE__, __LINE__, errno, idtokfpath);
- rc = -1; break;
- }
- if (nbytes!=idbufd.iov_len) {
- printf("Error [%s:%d]: failed to read entire id token from %s\n", __FILE__, __LINE__, idtokfpath);
- rc = -1; break;
- }
-} while (0);
- close(idtokfd);
- if (rc) break;
-}
- }
- if (rc = psec_verify_id_token(amdlhndl, username?username:usrpwd.pw_name, &idbufd)) {
- printf("Error [%s:%d]: psec_verify_id_token() failed\n", __FILE__, __LINE__);
- rc = -1; break;
- }
- printf("Info [%s:%d]: id token verified :-)\n", __FILE__, __LINE__);
-{ // get the user's NID from the id token
- char usrnid[10] = "", *cp = usrnid; size_t usrnidlen = 10;
- int freeusrnid = 0;
-do {
- if (!(rc = psec_get_id_from_token(amdlhndl, &idbufd, cp, &usrnidlen))) break;
- if ((PSEC_MEMORY_ERR!=rc)||(0==usrnidlen)) {
- // memory error; break out of here
- rc = -1; break;
- }
- // not enough memory provided for the user NID
- // usrnidlen should have the size of memory we need to allocate
- if (!(cp = malloc(usrnidlen))) {
- printf("Error [%s:%d]: malloc() failed w/errno = %d\n", __FILE__, __LINE__, errno);
- rc = -1; break;
- }
- freeusrnid++;
- if (rc = psec_get_id_from_token(amdlhndl, &idbufd, cp, &usrnidlen)) {
- printf("Error [%s:%d]: psec_get_id_from_token() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- rc = -1; break;
- }
-} while (0);
- if (!rc) printf("Info [%s:%d]: user NID = %s\n", __FILE__, __LINE__, cp);
- if (freeusrnid) free(cp);
-}
-{ // get the session key from the token and verify the signature
- unsigned char skey[20], *skeyp = skey; size_t skeylen = 20;
-do {
- if (!(rc = psec_get_key_from_token(amdlhndl, username?username:usrpwd.pw_name, &idbufd, skeyp, &skeylen))) break;
- if (PSEC_MEMORY_ERR!=rc) {
- printf("Error [%s:%d]: psec_get_key_from_token() failed: rc = %d\n", __FILE__, __LINE__);
- rc = -1; break;
- }
- if (!skeylen) {
- printf("Error [%s:%d]: psec_get_key_from_token() failed: rc = %d\n", __FILE__, __LINE__);
- rc = -1; break;
- }
- skeyp = malloc(skeylen); assert(skeyp);
- if (rc = psec_get_key_from_token(amdlhndl, username?username:usrpwd.pw_name, &idbufd, skeyp, &skeylen)) {
- printf("Error [%s:%d]: psec_get_key_from_token() failed: rc = %d\n", __FILE__, __LINE__);
- rc = -1; break;
- }
-} while (0);
- if (rc) break;
- if (2!=creatver) {
- // verify signature
- if (rc = psec_verify_data(amdlhndl, skeyp, skeylen, testvector, 3, &signature)) {
- printf("Error [%s:%d]: psec_verify_data() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- rc = -1; break;
- }
- }
-}
-} while (0);
- free(pwrbuf);
-} while (0);
- if ((2==creatver)&&idbufd.iov_base) free(idbufd.iov_base);
- else psec_free_id_token(amdlhndl, &idbufd);
-}
-} while (0);
- if (rc = psec_free_signature(amdlhndl, &signature)) {
- printf("Error [%s:%d]: psec_free_signature() failed w/rc = %d\n", __FILE__, __LINE__, rc);
- }
- return rc;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/secmod/psec_utils.c b/tools/sci/org.eclipse.ptp.sci/secmod/psec_utils.c
deleted file mode 100644
index 1308847..0000000
--- a/tools/sci/org.eclipse.ptp.sci/secmod/psec_utils.c
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Description: psec functions from poe
-
- Author: Serban Maerean
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 serban Initial code (D153875)
-
-****************************************************************************/
-
-#include "psec_lib.h"
-
-/*- Double linked list routines -------------------------------------*/
-
-void
-__rm_elem_from_dllist(
- __dlink_elem_t elem,
- __dlink_elem_t *queue)
-{
- /* assumes elem and queue are valid */
- if (elem->next) {
- if (elem->prev) {
- /* somewhere in the middle */
- elem->prev->next = elem->next;
- elem->next->prev = elem->prev;
- } else {
- /* the first one */
- *queue = elem->next;
- elem->next->prev = NULL;
- }
- } else {
- if (elem->prev) {
- /* the last one */
- elem->prev->next = NULL;
- } else {
- /* the only one */
- *queue = NULL;
- }
- }
- /* reset next and prev pointer */
- elem->prev = elem->next = NULL;
-}
-
-void
-__add_elem_to_dllist(
- __dlink_elem_t elem,
- __dlink_elem_t *queue)
-{
- /* assumes elem is valid */
- elem->next = *queue; elem->prev = NULL;
- if (*queue) (*queue)->prev = elem;
- *queue = elem;
-}
-
-void
-__insert_elem_before_dllist(
- __dlink_elem_t elem,
- __dlink_elem_t *queue)
-{
- /* assumes elem and queue are valid */
- __dlink_elem_t tmp = (*queue)->prev;
- if (tmp) {
- tmp->next = elem;
- elem->next = *queue; elem->prev = tmp;
- (*queue)->prev = elem;
- } else {
- elem->next = *queue; elem->prev = NULL;
- (*queue)->prev = elem; *queue = elem;
- }
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/spec/sci_32bit.spec b/tools/sci/org.eclipse.ptp.sci/spec/sci_32bit.spec
deleted file mode 100644
index 7350ce5..0000000
--- a/tools/sci/org.eclipse.ptp.sci/spec/sci_32bit.spec
+++ /dev/null
@@ -1,65 +0,0 @@
-Summary: SCI 32bit Run Time Library
-Name: sci_32bit
-Version: 2
-Release: 0.0.0
-Group: IBM HPC
-License: IBM Corp.
-Packager: IBM
-URL: http://www.ibm.com
-Conflicts: N/A
-Vendor: IBM Corp.
-Source0: N/A
-NoSource: 0
-AutoReqProv: no
-
-%description
-IBM SCI 32bit Run Time Library
-This package contains header files, shared libraries and executables.
-
-%undefine __check_files
-
-%install
-
-%build
-
-%files
-# Library, header files, message catalog and README files.
-%attr( 755, bin, bin ) %dir /opt/sci
-
-# Header files
-%attr( 755, bin, bin ) %dir /opt/sci/include
-%attr( 644, bin, bin ) /opt/sci/include/sci.h
-
-# Libraries.
-%attr( 755, bin, bin ) %dir /opt/sci/lib
-%attr( 644, bin, bin ) /opt/sci/lib/libsci.so
-%attr( 644, bin, bin ) /opt/sci/lib/libsci.so.0
-%attr( 644, bin, bin ) /opt/sci/lib/libsci.so.0.0.0
-%attr( 644, bin, bin ) /opt/sci/lib/libpsec.so
-%attr( 644, bin, bin ) /opt/sci/lib/libpsec.so.0
-%attr( 644, bin, bin ) /opt/sci/lib/libpsec.so.0.0.0
-%attr( 644, bin, bin ) /opt/sci/lib/libpsec_ossh.so
-%attr( 644, bin, bin ) /opt/sci/lib/libpsec_ossh.so.0
-%attr( 644, bin, bin ) /opt/sci/lib/libpsec_ossh.so.0.0.0
-
-# Executables
-%attr( 755, bin, bin ) %dir /opt/sci/bin
-%attr( 755, bin, bin ) /opt/sci/bin/scia
-%attr( 755, bin, bin ) %dir /opt/sci/sbin
-%attr( 755, bin, bin ) /opt/sci/sbin/scidv1
-
-# Pre-install script
-%pre
-
-# Post-install script
-%post
-/sbin/ldconfig
-
-# Pre-uninstall script
-%preun
-
-# Post-uninstall script
-# Run the following ONLY when performing uninstall (rpm -e),
-# skip if it is an upgrape (rpm -U).
-%postun
-
diff --git a/tools/sci/org.eclipse.ptp.sci/spec/sci_64bit.spec b/tools/sci/org.eclipse.ptp.sci/spec/sci_64bit.spec
deleted file mode 100644
index 2e39434..0000000
--- a/tools/sci/org.eclipse.ptp.sci/spec/sci_64bit.spec
+++ /dev/null
@@ -1,65 +0,0 @@
-Summary: SCI 64bit Run Time Library
-Name: sci_64bit
-Version: 2
-Release: 0.0.0
-Group: IBM HPC
-License: IBM Corp.
-Packager: IBM
-URL: http://www.ibm.com
-Conflicts: N/A
-Vendor: IBM Corp.
-Source0: N/A
-NoSource: 0
-AutoReqProv: no
-
-%description
-IBM SCI 64bit Run Time Library
-This package contains header files, shared libraries and executables.
-
-%undefine __check_files
-
-%install
-
-%build
-
-%files
-# Library, header files, message catalog and README files.
-%attr( 755, bin, bin ) %dir /opt/sci
-
-# Header files
-%attr( 755, bin, bin ) %dir /opt/sci/include
-%attr( 644, bin, bin ) /opt/sci/include/sci.h
-
-# Libraries.
-%attr( 755, bin, bin ) %dir /opt/sci/lib64
-%attr( 644, bin, bin ) /opt/sci/lib64/libsci.so
-%attr( 644, bin, bin ) /opt/sci/lib64/libsci.so.0
-%attr( 644, bin, bin ) /opt/sci/lib64/libsci.so.0.0.0
-%attr( 644, bin, bin ) /opt/sci/lib64/libpsec.so
-%attr( 644, bin, bin ) /opt/sci/lib64/libpsec.so.0
-%attr( 644, bin, bin ) /opt/sci/lib64/libpsec.so.0.0.0
-%attr( 644, bin, bin ) /opt/sci/lib64/libpsec_ossh.so
-%attr( 644, bin, bin ) /opt/sci/lib64/libpsec_ossh.so.0
-%attr( 644, bin, bin ) /opt/sci/lib64/libpsec_ossh.so.0.0.0
-
-# Executables
-%attr( 755, bin, bin ) %dir /opt/sci/bin
-%attr( 755, bin, bin ) /opt/sci/bin/scia64
-%attr( 755, bin, bin ) %dir /opt/sci/sbin
-%attr( 755, bin, bin ) /opt/sci/sbin/scidv1
-
-# Pre-install script
-%pre
-
-# Post-install script
-%post
-/sbin/ldconfig
-
-# Pre-uninstall script
-%preun
-
-# Post-uninstall script
-# Run the following ONLY when performing uninstall (rpm -e),
-# skip if it is an upgrape (rpm -U).
-%postun
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/.cvsignore b/tools/sci/org.eclipse.ptp.sci/usecase/.cvsignore
deleted file mode 100644
index f3c7a7c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/Makefile.am b/tools/sci/org.eclipse.ptp.sci/usecase/Makefile.am
deleted file mode 100644
index f299d2b..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = dsh dsh_2 dsh_filter dsh_filter2
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/Makefile.in b/tools/sci/org.eclipse.ptp.sci/usecase/Makefile.in
deleted file mode 100644
index 84d65b0..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/Makefile.in
+++ /dev/null
@@ -1,554 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = usecase
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = dsh dsh_2 dsh_filter dsh_filter2
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu usecase/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu usecase/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/.cvsignore b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/.cvsignore
deleted file mode 100644
index 2696bd3..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-.deps
-.libs
-gdsh_fe
-edsh_fe
-dsh_be
-dsh_fe
-ddsh_fe
-Makefile
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/Makefile.aix b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/Makefile.aix
deleted file mode 100644
index 155a5a7..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/Makefile.aix
+++ /dev/null
@@ -1,49 +0,0 @@
-CC = xlC_r
-
-CPPFLAGS =
-
-OTHER_FLAGS = -ldl -lpthread -lsci_r
-
-all: all_32 all_64
-
-all_32: dsh_fe edsh_fe gdsh_fe ddsh_fe dsh_be
-
-all_32: dsh_fe64 edsh_fe64 gdsh_fe64 ddsh_fe64 dsh_be64
-
-dsh_fe: dsh_fe.c
- $(CC) -g -q32 $(CPPFLAGS) -o $@ dsh_fe.c $(OTHER_FLAGS)
-
-edsh_fe: edsh_fe.cpp
- $(CC) -g -q32 $(CPPFLAGS) -o $@ edsh_fe.cpp $(OTHER_FLAGS)
-
-gdsh_fe: gdsh_fe.cpp
- $(CC) -g -q32 $(CPPFLAGS) -o $@ gdsh_fe.cpp $(OTHER_FLAGS)
-
-ddsh_fe: ddsh_fe.c
- $(CC) -g -q32 $(CPPFLAGS) -o $@ ddsh_fe.c $(OTHER_FLAGS)
-
-dsh_be: dsh_be.c
- $(CC) -g -q32 $(CPPFLAGS) -o $@ dsh_be.c $(OTHER_FLAGS)
-
-dsh_fe64: dsh_fe.c
- $(CC) -g -q64 $(CPPFLAGS) -o $@ dsh_fe.c $(OTHER_FLAGS)
-
-edsh_fe64: edsh_fe.cpp
- $(CC) -g -q64 $(CPPFLAGS) -o $@ edsh_fe.cpp $(OTHER_FLAGS)
-
-gdsh_fe64: gdsh_fe.cpp
- $(CC) -g -q64 $(CPPFLAGS) -o $@ gdsh_fe.cpp $(OTHER_FLAGS)
-
-ddsh_fe64: ddsh_fe.c
- $(CC) -g -q64 $(CPPFLAGS) -o $@ ddsh_fe.c $(OTHER_FLAGS)
-
-dsh_be64: dsh_be.c
- $(CC) -g -q64 $(CPPFLAGS) -o $@ dsh_be.c $(OTHER_FLAGS)
-
-clean: clean_32 clean_64
-
-clean_32:
- @rm -f *.o dsh_fe edsh_fe gdsh_fe ddsh_fe dsh_be
-
-clean_64:
- @rm -f *.o dsh_fe64 edsh_fe64 gdsh_fe64 ddsh_fe64 dsh_be64
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/Makefile.am b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/Makefile.am
deleted file mode 100644
index 42c977d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/Makefile.am
+++ /dev/null
@@ -1,77 +0,0 @@
-dsh_fe64_SOURCES = dsh_fe.c
-edsh_fe64_SOURCES = edsh_fe.cpp
-gdsh_fe64_SOURCES = gdsh_fe.cpp
-ddsh_fe64_SOURCES = ddsh_fe.c
-dsh_be64_SOURCES = dsh_be.c
-dsh_fe_SOURCES = dsh_fe.c
-edsh_fe_SOURCES = edsh_fe.cpp
-gdsh_fe_SOURCES = gdsh_fe.cpp
-ddsh_fe_SOURCES = ddsh_fe.c
-dsh_be_SOURCES = dsh_be.c
-if SYSTEM_AIX
-if BIT64
-bin_PROGRAMS = dsh_fe64 edsh_fe64 gdsh_fe64 ddsh_fe64 dsh_be64
-dsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-edsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-edsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-gdsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-gdsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-ddsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-ddsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_be64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_be64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-else
-bin_PROGRAMS = dsh_fe edsh_fe gdsh_fe ddsh_fe dsh_be
-dsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-edsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-edsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-gdsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-gdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-ddsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-ddsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_be_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-endif
-endif
-if SYSTEM_DARWIN
-bin_PROGRAMS = dsh_fe edsh_fe gdsh_fe ddsh_fe dsh_be
-dsh_fe_CPPFLAGS = -I../../common -I../../include
-dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-edsh_fe_CPPFLAGS = -I../../common -I../../include
-edsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-gdsh_fe_CPPFLAGS = -I../../common -I../../include
-gdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-ddsh_fe_CPPFLAGS = -I../../common -I../../include
-ddsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-dsh_be_CPPFLAGS = -I../../common -I../../include
-dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-endif
-if SYSTEM_LINUX
-if BIT64
-bin_PROGRAMS = dsh_fe64 edsh_fe64 gdsh_fe64 ddsh_fe64 dsh_be64
-dsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-edsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-edsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-gdsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-gdsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-ddsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-ddsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_be64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_be64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-else
-bin_PROGRAMS = dsh_fe edsh_fe gdsh_fe ddsh_fe dsh_be
-dsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-edsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-edsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-gdsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-gdsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-ddsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-ddsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_be_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_be_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-endif
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/Makefile.in b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/Makefile.in
deleted file mode 100644
index 3dcc53a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/Makefile.in
+++ /dev/null
@@ -1,857 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ edsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ gdsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ ddsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_be$(EXEEXT)
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ edsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ gdsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ ddsh_fe$(EXEEXT) dsh_be$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = dsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ edsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ gdsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ ddsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_be64$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = dsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ edsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ gdsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ ddsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ dsh_be64$(EXEEXT)
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ edsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ gdsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ ddsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ dsh_be$(EXEEXT)
-subdir = usecase/dsh
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-PROGRAMS = $(bin_PROGRAMS)
-am_ddsh_fe_OBJECTS = ddsh_fe-ddsh_fe.$(OBJEXT)
-ddsh_fe_OBJECTS = $(am_ddsh_fe_OBJECTS)
-ddsh_fe_LDADD = $(LDADD)
-ddsh_fe_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ddsh_fe_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_ddsh_fe64_OBJECTS = ddsh_fe64-ddsh_fe.$(OBJEXT)
-ddsh_fe64_OBJECTS = $(am_ddsh_fe64_OBJECTS)
-ddsh_fe64_LDADD = $(LDADD)
-ddsh_fe64_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(ddsh_fe64_LDFLAGS) $(LDFLAGS) -o $@
-am_dsh_be_OBJECTS = dsh_be-dsh_be.$(OBJEXT)
-dsh_be_OBJECTS = $(am_dsh_be_OBJECTS)
-dsh_be_LDADD = $(LDADD)
-dsh_be_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_be_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_dsh_be64_OBJECTS = dsh_be64-dsh_be.$(OBJEXT)
-dsh_be64_OBJECTS = $(am_dsh_be64_OBJECTS)
-dsh_be64_LDADD = $(LDADD)
-dsh_be64_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_be64_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_dsh_fe_OBJECTS = dsh_fe-dsh_fe.$(OBJEXT)
-dsh_fe_OBJECTS = $(am_dsh_fe_OBJECTS)
-dsh_fe_LDADD = $(LDADD)
-dsh_fe_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_fe_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_dsh_fe64_OBJECTS = dsh_fe64-dsh_fe.$(OBJEXT)
-dsh_fe64_OBJECTS = $(am_dsh_fe64_OBJECTS)
-dsh_fe64_LDADD = $(LDADD)
-dsh_fe64_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_fe64_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_edsh_fe_OBJECTS = edsh_fe-edsh_fe.$(OBJEXT)
-edsh_fe_OBJECTS = $(am_edsh_fe_OBJECTS)
-edsh_fe_LDADD = $(LDADD)
-edsh_fe_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(edsh_fe_LDFLAGS) $(LDFLAGS) -o $@
-am_edsh_fe64_OBJECTS = edsh_fe64-edsh_fe.$(OBJEXT)
-edsh_fe64_OBJECTS = $(am_edsh_fe64_OBJECTS)
-edsh_fe64_LDADD = $(LDADD)
-edsh_fe64_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(edsh_fe64_LDFLAGS) $(LDFLAGS) -o $@
-am_gdsh_fe_OBJECTS = gdsh_fe-gdsh_fe.$(OBJEXT)
-gdsh_fe_OBJECTS = $(am_gdsh_fe_OBJECTS)
-gdsh_fe_LDADD = $(LDADD)
-gdsh_fe_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(gdsh_fe_LDFLAGS) $(LDFLAGS) -o $@
-am_gdsh_fe64_OBJECTS = gdsh_fe64-gdsh_fe.$(OBJEXT)
-gdsh_fe64_OBJECTS = $(am_gdsh_fe64_OBJECTS)
-gdsh_fe64_LDADD = $(LDADD)
-gdsh_fe64_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(gdsh_fe64_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(ddsh_fe_SOURCES) $(ddsh_fe64_SOURCES) $(dsh_be_SOURCES) \
- $(dsh_be64_SOURCES) $(dsh_fe_SOURCES) $(dsh_fe64_SOURCES) \
- $(edsh_fe_SOURCES) $(edsh_fe64_SOURCES) $(gdsh_fe_SOURCES) \
- $(gdsh_fe64_SOURCES)
-DIST_SOURCES = $(ddsh_fe_SOURCES) $(ddsh_fe64_SOURCES) \
- $(dsh_be_SOURCES) $(dsh_be64_SOURCES) $(dsh_fe_SOURCES) \
- $(dsh_fe64_SOURCES) $(edsh_fe_SOURCES) $(edsh_fe64_SOURCES) \
- $(gdsh_fe_SOURCES) $(gdsh_fe64_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-dsh_fe64_SOURCES = dsh_fe.c
-edsh_fe64_SOURCES = edsh_fe.cpp
-gdsh_fe64_SOURCES = gdsh_fe.cpp
-ddsh_fe64_SOURCES = ddsh_fe.c
-dsh_be64_SOURCES = dsh_be.c
-dsh_fe_SOURCES = dsh_fe.c
-edsh_fe_SOURCES = edsh_fe.cpp
-gdsh_fe_SOURCES = gdsh_fe.cpp
-ddsh_fe_SOURCES = ddsh_fe.c
-dsh_be_SOURCES = dsh_be.c
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@edsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@edsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@edsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@edsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@gdsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@gdsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@gdsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@gdsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ddsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@ddsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ddsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@ddsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_be64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_be64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_be64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_be64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@edsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@edsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@edsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@edsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@edsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@edsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@gdsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@gdsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@gdsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@gdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@gdsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@gdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ddsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@ddsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@ddsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ddsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@ddsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@ddsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_be_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_be_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_be_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_be_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu usecase/dsh/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu usecase/dsh/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-ddsh_fe$(EXEEXT): $(ddsh_fe_OBJECTS) $(ddsh_fe_DEPENDENCIES)
- @rm -f ddsh_fe$(EXEEXT)
- $(ddsh_fe_LINK) $(ddsh_fe_OBJECTS) $(ddsh_fe_LDADD) $(LIBS)
-ddsh_fe64$(EXEEXT): $(ddsh_fe64_OBJECTS) $(ddsh_fe64_DEPENDENCIES)
- @rm -f ddsh_fe64$(EXEEXT)
- $(ddsh_fe64_LINK) $(ddsh_fe64_OBJECTS) $(ddsh_fe64_LDADD) $(LIBS)
-dsh_be$(EXEEXT): $(dsh_be_OBJECTS) $(dsh_be_DEPENDENCIES)
- @rm -f dsh_be$(EXEEXT)
- $(dsh_be_LINK) $(dsh_be_OBJECTS) $(dsh_be_LDADD) $(LIBS)
-dsh_be64$(EXEEXT): $(dsh_be64_OBJECTS) $(dsh_be64_DEPENDENCIES)
- @rm -f dsh_be64$(EXEEXT)
- $(dsh_be64_LINK) $(dsh_be64_OBJECTS) $(dsh_be64_LDADD) $(LIBS)
-dsh_fe$(EXEEXT): $(dsh_fe_OBJECTS) $(dsh_fe_DEPENDENCIES)
- @rm -f dsh_fe$(EXEEXT)
- $(dsh_fe_LINK) $(dsh_fe_OBJECTS) $(dsh_fe_LDADD) $(LIBS)
-dsh_fe64$(EXEEXT): $(dsh_fe64_OBJECTS) $(dsh_fe64_DEPENDENCIES)
- @rm -f dsh_fe64$(EXEEXT)
- $(dsh_fe64_LINK) $(dsh_fe64_OBJECTS) $(dsh_fe64_LDADD) $(LIBS)
-edsh_fe$(EXEEXT): $(edsh_fe_OBJECTS) $(edsh_fe_DEPENDENCIES)
- @rm -f edsh_fe$(EXEEXT)
- $(edsh_fe_LINK) $(edsh_fe_OBJECTS) $(edsh_fe_LDADD) $(LIBS)
-edsh_fe64$(EXEEXT): $(edsh_fe64_OBJECTS) $(edsh_fe64_DEPENDENCIES)
- @rm -f edsh_fe64$(EXEEXT)
- $(edsh_fe64_LINK) $(edsh_fe64_OBJECTS) $(edsh_fe64_LDADD) $(LIBS)
-gdsh_fe$(EXEEXT): $(gdsh_fe_OBJECTS) $(gdsh_fe_DEPENDENCIES)
- @rm -f gdsh_fe$(EXEEXT)
- $(gdsh_fe_LINK) $(gdsh_fe_OBJECTS) $(gdsh_fe_LDADD) $(LIBS)
-gdsh_fe64$(EXEEXT): $(gdsh_fe64_OBJECTS) $(gdsh_fe64_DEPENDENCIES)
- @rm -f gdsh_fe64$(EXEEXT)
- $(gdsh_fe64_LINK) $(gdsh_fe64_OBJECTS) $(gdsh_fe64_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ddsh_fe-ddsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ddsh_fe64-ddsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be-dsh_be.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be64-dsh_be.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe-dsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe64-dsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edsh_fe-edsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edsh_fe64-edsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdsh_fe-gdsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdsh_fe64-gdsh_fe.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-ddsh_fe-ddsh_fe.o: ddsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ddsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ddsh_fe-ddsh_fe.o -MD -MP -MF $(DEPDIR)/ddsh_fe-ddsh_fe.Tpo -c -o ddsh_fe-ddsh_fe.o `test -f 'ddsh_fe.c' || echo '$(srcdir)/'`ddsh_fe.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ddsh_fe-ddsh_fe.Tpo $(DEPDIR)/ddsh_fe-ddsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ddsh_fe.c' object='ddsh_fe-ddsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ddsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ddsh_fe-ddsh_fe.o `test -f 'ddsh_fe.c' || echo '$(srcdir)/'`ddsh_fe.c
-
-ddsh_fe-ddsh_fe.obj: ddsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ddsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ddsh_fe-ddsh_fe.obj -MD -MP -MF $(DEPDIR)/ddsh_fe-ddsh_fe.Tpo -c -o ddsh_fe-ddsh_fe.obj `if test -f 'ddsh_fe.c'; then $(CYGPATH_W) 'ddsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/ddsh_fe.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ddsh_fe-ddsh_fe.Tpo $(DEPDIR)/ddsh_fe-ddsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ddsh_fe.c' object='ddsh_fe-ddsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ddsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ddsh_fe-ddsh_fe.obj `if test -f 'ddsh_fe.c'; then $(CYGPATH_W) 'ddsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/ddsh_fe.c'; fi`
-
-ddsh_fe64-ddsh_fe.o: ddsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ddsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ddsh_fe64-ddsh_fe.o -MD -MP -MF $(DEPDIR)/ddsh_fe64-ddsh_fe.Tpo -c -o ddsh_fe64-ddsh_fe.o `test -f 'ddsh_fe.c' || echo '$(srcdir)/'`ddsh_fe.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ddsh_fe64-ddsh_fe.Tpo $(DEPDIR)/ddsh_fe64-ddsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ddsh_fe.c' object='ddsh_fe64-ddsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ddsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ddsh_fe64-ddsh_fe.o `test -f 'ddsh_fe.c' || echo '$(srcdir)/'`ddsh_fe.c
-
-ddsh_fe64-ddsh_fe.obj: ddsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ddsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ddsh_fe64-ddsh_fe.obj -MD -MP -MF $(DEPDIR)/ddsh_fe64-ddsh_fe.Tpo -c -o ddsh_fe64-ddsh_fe.obj `if test -f 'ddsh_fe.c'; then $(CYGPATH_W) 'ddsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/ddsh_fe.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ddsh_fe64-ddsh_fe.Tpo $(DEPDIR)/ddsh_fe64-ddsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ddsh_fe.c' object='ddsh_fe64-ddsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ddsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ddsh_fe64-ddsh_fe.obj `if test -f 'ddsh_fe.c'; then $(CYGPATH_W) 'ddsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/ddsh_fe.c'; fi`
-
-dsh_be-dsh_be.o: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be-dsh_be.o -MD -MP -MF $(DEPDIR)/dsh_be-dsh_be.Tpo -c -o dsh_be-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_be.Tpo $(DEPDIR)/dsh_be-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be-dsh_be.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-
-dsh_be-dsh_be.obj: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be-dsh_be.obj -MD -MP -MF $(DEPDIR)/dsh_be-dsh_be.Tpo -c -o dsh_be-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_be.Tpo $(DEPDIR)/dsh_be-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be-dsh_be.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-
-dsh_be64-dsh_be.o: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be64-dsh_be.o -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_be.Tpo -c -o dsh_be64-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_be.Tpo $(DEPDIR)/dsh_be64-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be64-dsh_be.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be64-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-
-dsh_be64-dsh_be.obj: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be64-dsh_be.obj -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_be.Tpo -c -o dsh_be64-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_be.Tpo $(DEPDIR)/dsh_be64-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be64-dsh_be.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be64-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-
-dsh_fe-dsh_fe.o: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe-dsh_fe.o -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_fe.Tpo -c -o dsh_fe-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_fe.Tpo $(DEPDIR)/dsh_fe-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe-dsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-
-dsh_fe-dsh_fe.obj: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe-dsh_fe.obj -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_fe.Tpo -c -o dsh_fe-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_fe.Tpo $(DEPDIR)/dsh_fe-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe-dsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-
-dsh_fe64-dsh_fe.o: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe64-dsh_fe.o -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_fe.Tpo -c -o dsh_fe64-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_fe.Tpo $(DEPDIR)/dsh_fe64-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe64-dsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe64-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-
-dsh_fe64-dsh_fe.obj: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe64-dsh_fe.obj -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_fe.Tpo -c -o dsh_fe64-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_fe.Tpo $(DEPDIR)/dsh_fe64-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe64-dsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe64-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-edsh_fe-edsh_fe.o: edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT edsh_fe-edsh_fe.o -MD -MP -MF $(DEPDIR)/edsh_fe-edsh_fe.Tpo -c -o edsh_fe-edsh_fe.o `test -f 'edsh_fe.cpp' || echo '$(srcdir)/'`edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/edsh_fe-edsh_fe.Tpo $(DEPDIR)/edsh_fe-edsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='edsh_fe.cpp' object='edsh_fe-edsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o edsh_fe-edsh_fe.o `test -f 'edsh_fe.cpp' || echo '$(srcdir)/'`edsh_fe.cpp
-
-edsh_fe-edsh_fe.obj: edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT edsh_fe-edsh_fe.obj -MD -MP -MF $(DEPDIR)/edsh_fe-edsh_fe.Tpo -c -o edsh_fe-edsh_fe.obj `if test -f 'edsh_fe.cpp'; then $(CYGPATH_W) 'edsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/edsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/edsh_fe-edsh_fe.Tpo $(DEPDIR)/edsh_fe-edsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='edsh_fe.cpp' object='edsh_fe-edsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o edsh_fe-edsh_fe.obj `if test -f 'edsh_fe.cpp'; then $(CYGPATH_W) 'edsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/edsh_fe.cpp'; fi`
-
-edsh_fe64-edsh_fe.o: edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT edsh_fe64-edsh_fe.o -MD -MP -MF $(DEPDIR)/edsh_fe64-edsh_fe.Tpo -c -o edsh_fe64-edsh_fe.o `test -f 'edsh_fe.cpp' || echo '$(srcdir)/'`edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/edsh_fe64-edsh_fe.Tpo $(DEPDIR)/edsh_fe64-edsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='edsh_fe.cpp' object='edsh_fe64-edsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o edsh_fe64-edsh_fe.o `test -f 'edsh_fe.cpp' || echo '$(srcdir)/'`edsh_fe.cpp
-
-edsh_fe64-edsh_fe.obj: edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT edsh_fe64-edsh_fe.obj -MD -MP -MF $(DEPDIR)/edsh_fe64-edsh_fe.Tpo -c -o edsh_fe64-edsh_fe.obj `if test -f 'edsh_fe.cpp'; then $(CYGPATH_W) 'edsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/edsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/edsh_fe64-edsh_fe.Tpo $(DEPDIR)/edsh_fe64-edsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='edsh_fe.cpp' object='edsh_fe64-edsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o edsh_fe64-edsh_fe.obj `if test -f 'edsh_fe.cpp'; then $(CYGPATH_W) 'edsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/edsh_fe.cpp'; fi`
-
-gdsh_fe-gdsh_fe.o: gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdsh_fe-gdsh_fe.o -MD -MP -MF $(DEPDIR)/gdsh_fe-gdsh_fe.Tpo -c -o gdsh_fe-gdsh_fe.o `test -f 'gdsh_fe.cpp' || echo '$(srcdir)/'`gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdsh_fe-gdsh_fe.Tpo $(DEPDIR)/gdsh_fe-gdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gdsh_fe.cpp' object='gdsh_fe-gdsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdsh_fe-gdsh_fe.o `test -f 'gdsh_fe.cpp' || echo '$(srcdir)/'`gdsh_fe.cpp
-
-gdsh_fe-gdsh_fe.obj: gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdsh_fe-gdsh_fe.obj -MD -MP -MF $(DEPDIR)/gdsh_fe-gdsh_fe.Tpo -c -o gdsh_fe-gdsh_fe.obj `if test -f 'gdsh_fe.cpp'; then $(CYGPATH_W) 'gdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/gdsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdsh_fe-gdsh_fe.Tpo $(DEPDIR)/gdsh_fe-gdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gdsh_fe.cpp' object='gdsh_fe-gdsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdsh_fe-gdsh_fe.obj `if test -f 'gdsh_fe.cpp'; then $(CYGPATH_W) 'gdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/gdsh_fe.cpp'; fi`
-
-gdsh_fe64-gdsh_fe.o: gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdsh_fe64-gdsh_fe.o -MD -MP -MF $(DEPDIR)/gdsh_fe64-gdsh_fe.Tpo -c -o gdsh_fe64-gdsh_fe.o `test -f 'gdsh_fe.cpp' || echo '$(srcdir)/'`gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdsh_fe64-gdsh_fe.Tpo $(DEPDIR)/gdsh_fe64-gdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gdsh_fe.cpp' object='gdsh_fe64-gdsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdsh_fe64-gdsh_fe.o `test -f 'gdsh_fe.cpp' || echo '$(srcdir)/'`gdsh_fe.cpp
-
-gdsh_fe64-gdsh_fe.obj: gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdsh_fe64-gdsh_fe.obj -MD -MP -MF $(DEPDIR)/gdsh_fe64-gdsh_fe.Tpo -c -o gdsh_fe64-gdsh_fe.obj `if test -f 'gdsh_fe.cpp'; then $(CYGPATH_W) 'gdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/gdsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdsh_fe64-gdsh_fe.Tpo $(DEPDIR)/gdsh_fe64-gdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gdsh_fe.cpp' object='gdsh_fe64-gdsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdsh_fe64-gdsh_fe.obj `if test -f 'gdsh_fe.cpp'; then $(CYGPATH_W) 'gdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/gdsh_fe.cpp'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-binPROGRAMS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/buildit b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/buildit
deleted file mode 100755
index d92b14d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/buildit
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh -x
-
-OS_TYPE=$(uname)
-if [[ ${OS_TYPE} = "AIX" ]]
-then
- make -f Makefile.aix clean
- make -f Makefile.aix all
-else
- CURR_CHIP=$(arch)
- if [[ ${CURR_CHIP} == 'ppc64' ]]
- then
- make clean
- make all
- else
- if [[ ${CURR_CHIP} == 'i386' || ${CURR_CHIP} == 'i686' ]]
- then
- make clean_32
- make all_32
- else
- if [[ ${CURR_CHIP} == 'x86_64' ]]
- then
- make all
- fi
- fi
- fi
-fi
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/ddsh_fe.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/ddsh_fe.c
deleted file mode 100644
index 320f9bb..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/ddsh_fe.c
+++ /dev/null
@@ -1,130 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "sci.h"
-
-int num_resp;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int be_id = ((int *) buffer)[0];
- char *msg = (char *)((char *) buffer + sizeof(int));
- char *pos = NULL;
-
- while (1) {
- pos = strstr(msg, "\n");
- if (pos == NULL) {
- break;
- } else {
- pos[0] = '\0';
- }
- printf("%d: %s\n", be_id, msg);
- msg = pos + 1;
- }
-
- num_resp++;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
- sci_be_t be;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, job_key, sizes[1];
- void *bufs[1];
-
- char pwd[256];
- char hfile[256], bpath[256], fpath[256], hostname[256];
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_INTERRUPT;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- gethostname(hostname, sizeof(hostname));
-
- be.id = num_bes;
- be.hostname = hostname;
- rc = SCI_BE_add(&be);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- while (1) {
- printf(">>> ");
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (0 == strcmp(msg, "quit"))
- break;
-
- num_resp = 0;
-
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- rc = SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- while (num_resp < num_bes + 1) {
- usleep(500);
- }
- }
-
- rc = SCI_Terminate();
-
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/dsh_be.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/dsh_be.c
deleted file mode 100644
index f8d2aff..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/dsh_be.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <assert.h>
-#include "sci.h"
-
-#define RST_SIZE 4096
-
-char *result = NULL;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int bytes, my_id, rc;
- FILE *fp = NULL;
- int sizes[2];
- void *bufs[2];
-
- rc = SCI_Query(BACKEND_ID, &my_id);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- bufs[0] = &my_id;
- sizes[0] = sizeof(my_id);
-
- fp = popen((const char *)buffer, "r");
- assert(result != NULL);
- memset(result, 0, RST_SIZE);
- bytes = fread(result, sizeof(char), RST_SIZE, fp);
- bufs[1] = result;
- sizes[1] = strlen(result) + 1;
- pclose(fp);
-
- rc = SCI_Upload(SCI_FILTER_NULL, group, 2, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- int rc;
-
- result = (char *)malloc(RST_SIZE * sizeof(char));
- bzero(&info, sizeof(info));
- info.type = SCI_BACK_END;
- info.be_info.mode = SCI_INTERRUPT;
- info.be_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.be_info.param = NULL;
-
- // sleep(20);
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Terminate();
- free(result);
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/dsh_fe.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/dsh_fe.c
deleted file mode 100644
index 23987ef..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/dsh_fe.c
+++ /dev/null
@@ -1,120 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "sci.h"
-
-int num_resp;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int be_id = ((int *) buffer)[0];
- char *msg = (char *)((char *) buffer + sizeof(int));
- char *pos = NULL;
-
- while (1) {
- pos = strstr(msg, "\n");
- if (pos == NULL) {
- break;
- } else {
- pos[0] = '\0';
- }
- printf("%d: %s\n", be_id, msg);
- msg = pos + 1;
- }
-
- num_resp++;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, job_key, sizes[1];
- void *bufs[1];
-
- char pwd[256];
- char hfile[256], bpath[256], fpath[256];
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_INTERRUPT;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- while (1) {
- printf(">>> ");
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (0 == strcmp(msg, "quit"))
- break;
-
- num_resp = 0;
-
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- rc = SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- while (num_resp < num_bes) {
- usleep(500);
- }
- }
-
- rc = SCI_Terminate();
-
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/edsh_fe.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/edsh_fe.cpp
deleted file mode 100644
index d50db1b..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/edsh_fe.cpp
+++ /dev/null
@@ -1,194 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Enhanced Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/22/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <assert.h>
-#include <strings.h>
-#include "sci.h"
-
-#include <string>
-
-using namespace std;
-
-int num_resp;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int be_id = ((int *) buffer)[0];
- char *msg = (char *)((char *) buffer + sizeof(int));
- char *pos = NULL;
-
- while (1) {
- pos = strstr(msg, "\n");
- if (pos == NULL) {
- break;
- } else {
- pos[0] = '\0';
- }
- printf("%d: %s\n", be_id, msg);
- msg = pos + 1;
- }
-
- num_resp++;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, sizes[1];
- void *bufs[1];
-
- sci_group_t odd_group, even_group;
- int odd_size, even_size;
- int *odd_list = NULL, *even_list = NULL;
-
- char pwd[256];
- char hfile[256], bpath[256], fpath[256];
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_INTERRUPT;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- odd_size = (num_bes - num_bes%2) / 2;
- odd_list = (int *)malloc(sizeof(int) * odd_size);
- for (i=0; i<odd_size; i++) {
- odd_list[i] = i*2 + 1;
- }
- rc = SCI_Group_create(odd_size, odd_list, &odd_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- even_size = (num_bes + num_bes%2) / 2;
- even_list = (int *)malloc(sizeof(int) * even_size);
- for (i=0; i<even_size; i++) {
- even_list[i] = i*2;
- }
- rc = SCI_Group_create(even_size, even_list, &even_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- string cur_grp = "all";
- int exp_resp = num_bes;
- while (1) {
- printf("(%s) ", cur_grp.c_str());
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (strcmp(msg, "help") == 0) {
- printf("Commands:\n");
- printf("\t\thelp -- show help topics\n");
- printf("\t\tall -- send commands to all back ends\n");
- printf("\t\teven -- send commands to back ends with even id\n");
- printf("\t\todd -- send commands to back ends with odd id\n");
- printf("\t\tquit -- exit this program\n");
- continue;
- } else if (strcmp(msg, "all") == 0) {
- cur_grp = "all";
- exp_resp = num_bes;
- continue;
- } else if (strcmp(msg, "odd") == 0) {
- cur_grp = "odd";
- exp_resp = odd_size;
- continue;
- } else if (strcmp(msg, "even") == 0) {
- cur_grp = "even";
- exp_resp = even_size;
- continue;
- } else if (strcmp(msg, "quit") == 0) {
- break;
- }
-
- num_resp = 0;
-
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- if (cur_grp == "all") {
- rc = SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- } else if (cur_grp == "odd") {
- rc = SCI_Bcast(SCI_FILTER_NULL, odd_group, 1, bufs, sizes);
- } else if (cur_grp == "even") {
- rc = SCI_Bcast(SCI_FILTER_NULL, even_group, 1, bufs, sizes);
- } else {
- assert(!"Unknown group");
- }
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- while (num_resp < exp_resp) {
- usleep(500);
- }
- }
-
- rc = SCI_Group_free(odd_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Group_free(even_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- free(odd_list);
- free(even_list);
-
- rc = SCI_Terminate();
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/gdsh_fe.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/gdsh_fe.cpp
deleted file mode 100644
index 8981f15..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/gdsh_fe.cpp
+++ /dev/null
@@ -1,233 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Enhanced Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/13/09 chensuih Initial code
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <assert.h>
-#include <strings.h>
-#include "sci.h"
-
-#include <string>
-
-using namespace std;
-
-int num_resp;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int be_id = ((int *) buffer)[0];
- char *msg = (char *)((char *) buffer + sizeof(int));
- char *pos = NULL;
-
- while (1) {
- pos = strstr(msg, "\n");
- if (pos == NULL) {
- break;
- } else {
- pos[0] = '\0';
- }
- printf("%d: %s\n", be_id, msg);
- msg = pos + 1;
- }
-
- num_resp++;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, sizes[1];
- void *bufs[1];
-
- sci_group_t odd_group, even_group;
- int odd_size, even_size;
- int *odd_list = NULL, *even_list = NULL;
-
- char pwd[256];
- char hfile[256], bpath[256], fpath[256];
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_INTERRUPT;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- //=========odd list===================
- odd_size = (num_bes - num_bes%2) / 2;
- odd_list = (int *)malloc(sizeof(int) * odd_size);
- for (i=0; i<odd_size; i++) {
- odd_list[i] = i*2 + 1;
- }
- rc = SCI_Group_create(odd_size, odd_list, &odd_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- int odd_list_benum;
- rc = SCI_Group_query(odd_group, GROUP_MEMBER_NUM, &odd_list_benum);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- printf("The Be Num of odd list is: %d\r\n", odd_list_benum);
-
- int* oddlist_query_res = (int *)malloc(sizeof(int)*odd_list_benum);
- rc = SCI_Group_query(odd_group, GROUP_MEMBER, oddlist_query_res);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- for(i=0; i<odd_list_benum; i++)
- {
- printf("the group member %d of oddlist_query_res is: %d\r\n", i, oddlist_query_res[i]);
- }
- //===========even list====================
- even_size = (num_bes + num_bes%2) / 2;
- even_list = (int *)malloc(sizeof(int) * even_size);
- for (i=0; i<even_size; i++) {
- even_list[i] = i*2;
- }
- rc = SCI_Group_create(even_size, even_list, &even_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- int even_list_benum;
- rc = SCI_Group_query(even_group, GROUP_MEMBER_NUM, &even_list_benum);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- printf("The Be Num of even list is: %d\r\n", even_list_benum);
-
- int* evenlist_query_res = (int *)malloc(sizeof(int)*even_list_benum);
- rc = SCI_Group_query(even_group, GROUP_MEMBER, evenlist_query_res);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- for(i=0; i<even_list_benum; i++)
- {
- printf("the group member %d of evenlist_query_res is: %d\r\n", i, evenlist_query_res[i]);
- }
- //=====================================
- string cur_grp = "all";
- int exp_resp = num_bes;
- while (1) {
- printf("(%s) ", cur_grp.c_str());
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (strcmp(msg, "help") == 0) {
- printf("Commands:\n");
- printf("\t\thelp -- show help topics\n");
- printf("\t\tall -- send commands to all back ends\n");
- printf("\t\teven -- send commands to back ends with even id\n");
- printf("\t\todd -- send commands to back ends with odd id\n");
- printf("\t\tquit -- exit this program\n");
- continue;
- } else if (strcmp(msg, "all") == 0) {
- cur_grp = "all";
- exp_resp = num_bes;
- continue;
- } else if (strcmp(msg, "odd") == 0) {
- cur_grp = "odd";
- exp_resp = odd_size;
- continue;
- } else if (strcmp(msg, "even") == 0) {
- cur_grp = "even";
- exp_resp = even_size;
- continue;
- } else if (strcmp(msg, "quit") == 0) {
- break;
- }
-
- num_resp = 0;
-
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- if (cur_grp == "all") {
- rc = SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- } else if (cur_grp == "odd") {
- rc = SCI_Bcast(SCI_FILTER_NULL, odd_group, 1, bufs, sizes);
- } else if (cur_grp == "even") {
- rc = SCI_Bcast(SCI_FILTER_NULL, even_group, 1, bufs, sizes);
- } else {
- assert(!"Unknown group");
- }
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- while (num_resp < exp_resp) {
- usleep(500);
- }
- }
-
- rc = SCI_Group_free(odd_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Group_free(even_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- free(odd_list);
- free(even_list);
- free(oddlist_query_res);
- free(evenlist_query_res);
-
- rc = SCI_Terminate();
- return rc;
-}
-
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/use_ext_launcher b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/use_ext_launcher
deleted file mode 100755
index b5ffd90..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/use_ext_launcher
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/perl -w
-
-my $hostlist = `cat ./host.list`;
-chomp($hostlist);
-my $key = `echo \$RANDOM`;
-chomp($key);
-
-print "Start back ends ...\n";
-
-my @hosts = split(/\n/, $hostlist);
-my $id = 0;
-foreach my $host (@hosts) {
- print "export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; export SCI_CLIENT_ID=$id; ./dsh_be64\n";
- system("export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; export SCI_CLIENT_ID=$id; ./dsh_be64 &");
- $id = $id + 1;
-}
-
-print "Wait 5 seconds ...\n";
-#sleep(5);
-
-print "Start front end ...\n";
-print "export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; ./dsh_fe64\n";
-system("export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; ./dsh_fe64");
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/use_ext_launcher2 b/tools/sci/org.eclipse.ptp.sci/usecase/dsh/use_ext_launcher2
deleted file mode 100755
index 11d7e76..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh/use_ext_launcher2
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/perl -w
-
-my $hostlist = `cat ./host.list`;
-chomp($hostlist);
-my $key = `echo \$RANDOM`;
-chomp($key);
-
-print "Start back ends ...\n";
-
-my @hosts = split(/\n/, $hostlist);
-my $id = 0;
-foreach my $host (@hosts) {
- print "export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; export SCI_CLIENT_ID=$id; ./dsh_be\n";
- system("export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; export SCI_CLIENT_ID=$id; ./dsh_be &");
- $id = $id + 1;
-}
-
-print "export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; export SCI_CLIENT_ID=$id; ./dsh_be\n";
-system("export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; export SCI_CLIENT_ID=$id; ./dsh_be &");
-
-print "Wait 5 seconds ...\n";
-sleep(5);
-
-print "Start front end ...\n";
-print "export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; ./ddsh_fe\n";
-system("export SCI_JOB_KEY=$key; export SCI_USE_EXTLAUNCHER=yes; ./ddsh_fe");
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/.cvsignore b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/.cvsignore
deleted file mode 100644
index a289abf..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-.deps
-.libs
-edsh_fe
-gdsh_fe
-dsh_fe
-dsh_be
-sdsh_fe
-Makefile
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/Makefile.aix b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/Makefile.aix
deleted file mode 100644
index 045f967..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/Makefile.aix
+++ /dev/null
@@ -1,49 +0,0 @@
-CC = xlC_r
-
-CPPFLAGS =
-
-OTHER_FLAGS = -ldl -lpthread -lsci_r
-
-all: all_32 all_64
-
-all_32: dsh_fe edsh_fe gdsh_fe sdsh_fe dsh_be
-
-all_32: dsh_fe64 edsh_fe64 gdsh_fe64 sdsh_fe64 dsh_be64
-
-dsh_fe: dsh_fe.c
- $(CC) -g -q32 $(CPPFLAGS) -o $@ dsh_fe.c $(OTHER_FLAGS)
-
-edsh_fe: edsh_fe.cpp
- $(CC) -g -q32 $(CPPFLAGS) -o $@ edsh_fe.cpp $(OTHER_FLAGS)
-
-gdsh_fe: gdsh_fe.cpp
- $(CC) -g -q32 $(CPPFLAGS) -o $@ gdsh_fe.cpp $(OTHER_FLAGS)
-
-sdsh_fe: sdsh_fe.cpp
- $(CC) -g -q32 $(CPPFLAGS) -o $@ sdsh_fe.cpp $(OTHER_FLAGS)
-
-dsh_be: dsh_be.c
- $(CC) -g -q32 $(CPPFLAGS) -o $@ dsh_be.c $(OTHER_FLAGS)
-
-dsh_fe64: dsh_fe.c
- $(CC) -g -q64 $(CPPFLAGS) -o $@ dsh_fe.c $(OTHER_FLAGS)
-
-edsh_fe64: edsh_fe.cpp
- $(CC) -g -q64 $(CPPFLAGS) -o $@ edsh_fe.cpp $(OTHER_FLAGS)
-
-gdsh_fe64: gdsh_fe.cpp
- $(CC) -g -q64 $(CPPFLAGS) -o $@ gdsh_fe.cpp $(OTHER_FLAGS)
-
-sdsh_fe64: sdsh_fe.cpp
- $(CC) -g -q64 $(CPPFLAGS) -o $@ sdsh_fe.cpp $(OTHER_FLAGS)
-
-dsh_be64: dsh_be.c
- $(CC) -g -q64 $(CPPFLAGS) -o $@ dsh_be.c $(OTHER_FLAGS)
-
-clean: clean_32 clean_64
-
-clean_32:
- @rm -f *.o dsh_fe edsh_fe gdsh_fe sdsh_fe dsh_be
-
-clean_64:
- @rm -f *.o dsh_fe64 edsh_fe64 gdsh_fe64 sdsh_fe64 dsh_be64
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/Makefile.am b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/Makefile.am
deleted file mode 100644
index b26f82a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/Makefile.am
+++ /dev/null
@@ -1,77 +0,0 @@
-dsh_fe64_SOURCES = dsh_fe.c
-edsh_fe64_SOURCES = edsh_fe.cpp
-gdsh_fe64_SOURCES = gdsh_fe.cpp
-sdsh_fe64_SOURCES = sdsh_fe.cpp
-dsh_be64_SOURCES = dsh_be.c
-dsh_fe_SOURCES = dsh_fe.c
-edsh_fe_SOURCES = edsh_fe.cpp
-gdsh_fe_SOURCES = gdsh_fe.cpp
-sdsh_fe_SOURCES = sdsh_fe.cpp
-dsh_be_SOURCES = dsh_be.c
-if SYSTEM_AIX
-if BIT64
-bin_PROGRAMS = dsh_fe64 edsh_fe64 gdsh_fe64 sdsh_fe64 dsh_be64
-dsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-edsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-edsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-gdsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-gdsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-sdsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-sdsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_be64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_be64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-else
-bin_PROGRAMS = dsh_fe edsh_fe gdsh_fe sdsh_fe dsh_be
-dsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-edsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-edsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-gdsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-gdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-sdsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-sdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_be_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-endif
-endif
-if SYSTEM_DARWIN
-bin_PROGRAMS = dsh_fe edsh_fe gdsh_fe sdsh_fe dsh_be
-dsh_fe_CPPFLAGS = -I../../common -I../../include
-dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-edsh_fe_CPPFLAGS = -I../../common -I../../include
-edsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-gdsh_fe_CPPFLAGS = -I../../common -I../../include
-gdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-sdsh_fe_CPPFLAGS = -I../../common -I../../include
-sdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-dsh_be_CPPFLAGS = -I../../common -I../../include
-dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-endif
-if SYSTEM_LINUX
-if BIT64
-bin_PROGRAMS = dsh_fe64 edsh_fe64 gdsh_fe64 sdsh_fe64 dsh_be64
-dsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-edsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-edsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-gdsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-gdsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-sdsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-sdsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_be64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_be64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-else
-bin_PROGRAMS = dsh_fe edsh_fe gdsh_fe sdsh_fe dsh_be
-dsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-edsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-edsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-gdsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-gdsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-sdsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-sdsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_be_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_be_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-endif
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/Makefile.in b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/Makefile.in
deleted file mode 100644
index 09f85db..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/Makefile.in
+++ /dev/null
@@ -1,857 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ edsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ gdsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ sdsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_be$(EXEEXT)
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ edsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ gdsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ sdsh_fe$(EXEEXT) dsh_be$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = dsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ edsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ gdsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ sdsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_be64$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = dsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ edsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ gdsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ sdsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ dsh_be64$(EXEEXT)
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ edsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ gdsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ sdsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ dsh_be$(EXEEXT)
-subdir = usecase/dsh_2
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-PROGRAMS = $(bin_PROGRAMS)
-am_dsh_be_OBJECTS = dsh_be-dsh_be.$(OBJEXT)
-dsh_be_OBJECTS = $(am_dsh_be_OBJECTS)
-dsh_be_LDADD = $(LDADD)
-dsh_be_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_be_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_dsh_be64_OBJECTS = dsh_be64-dsh_be.$(OBJEXT)
-dsh_be64_OBJECTS = $(am_dsh_be64_OBJECTS)
-dsh_be64_LDADD = $(LDADD)
-dsh_be64_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_be64_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_dsh_fe_OBJECTS = dsh_fe-dsh_fe.$(OBJEXT)
-dsh_fe_OBJECTS = $(am_dsh_fe_OBJECTS)
-dsh_fe_LDADD = $(LDADD)
-dsh_fe_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_fe_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_dsh_fe64_OBJECTS = dsh_fe64-dsh_fe.$(OBJEXT)
-dsh_fe64_OBJECTS = $(am_dsh_fe64_OBJECTS)
-dsh_fe64_LDADD = $(LDADD)
-dsh_fe64_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_fe64_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_edsh_fe_OBJECTS = edsh_fe-edsh_fe.$(OBJEXT)
-edsh_fe_OBJECTS = $(am_edsh_fe_OBJECTS)
-edsh_fe_LDADD = $(LDADD)
-edsh_fe_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(edsh_fe_LDFLAGS) $(LDFLAGS) -o $@
-am_edsh_fe64_OBJECTS = edsh_fe64-edsh_fe.$(OBJEXT)
-edsh_fe64_OBJECTS = $(am_edsh_fe64_OBJECTS)
-edsh_fe64_LDADD = $(LDADD)
-edsh_fe64_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(edsh_fe64_LDFLAGS) $(LDFLAGS) -o $@
-am_gdsh_fe_OBJECTS = gdsh_fe-gdsh_fe.$(OBJEXT)
-gdsh_fe_OBJECTS = $(am_gdsh_fe_OBJECTS)
-gdsh_fe_LDADD = $(LDADD)
-gdsh_fe_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(gdsh_fe_LDFLAGS) $(LDFLAGS) -o $@
-am_gdsh_fe64_OBJECTS = gdsh_fe64-gdsh_fe.$(OBJEXT)
-gdsh_fe64_OBJECTS = $(am_gdsh_fe64_OBJECTS)
-gdsh_fe64_LDADD = $(LDADD)
-gdsh_fe64_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(gdsh_fe64_LDFLAGS) $(LDFLAGS) -o $@
-am_sdsh_fe_OBJECTS = sdsh_fe-sdsh_fe.$(OBJEXT)
-sdsh_fe_OBJECTS = $(am_sdsh_fe_OBJECTS)
-sdsh_fe_LDADD = $(LDADD)
-sdsh_fe_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(sdsh_fe_LDFLAGS) $(LDFLAGS) -o $@
-am_sdsh_fe64_OBJECTS = sdsh_fe64-sdsh_fe.$(OBJEXT)
-sdsh_fe64_OBJECTS = $(am_sdsh_fe64_OBJECTS)
-sdsh_fe64_LDADD = $(LDADD)
-sdsh_fe64_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(sdsh_fe64_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(dsh_be_SOURCES) $(dsh_be64_SOURCES) $(dsh_fe_SOURCES) \
- $(dsh_fe64_SOURCES) $(edsh_fe_SOURCES) $(edsh_fe64_SOURCES) \
- $(gdsh_fe_SOURCES) $(gdsh_fe64_SOURCES) $(sdsh_fe_SOURCES) \
- $(sdsh_fe64_SOURCES)
-DIST_SOURCES = $(dsh_be_SOURCES) $(dsh_be64_SOURCES) $(dsh_fe_SOURCES) \
- $(dsh_fe64_SOURCES) $(edsh_fe_SOURCES) $(edsh_fe64_SOURCES) \
- $(gdsh_fe_SOURCES) $(gdsh_fe64_SOURCES) $(sdsh_fe_SOURCES) \
- $(sdsh_fe64_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-dsh_fe64_SOURCES = dsh_fe.c
-edsh_fe64_SOURCES = edsh_fe.cpp
-gdsh_fe64_SOURCES = gdsh_fe.cpp
-sdsh_fe64_SOURCES = sdsh_fe.cpp
-dsh_be64_SOURCES = dsh_be.c
-dsh_fe_SOURCES = dsh_fe.c
-edsh_fe_SOURCES = edsh_fe.cpp
-gdsh_fe_SOURCES = gdsh_fe.cpp
-sdsh_fe_SOURCES = sdsh_fe.cpp
-dsh_be_SOURCES = dsh_be.c
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@edsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@edsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@edsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@edsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@gdsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@gdsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@gdsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@gdsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@sdsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@sdsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@sdsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@sdsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_be64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_be64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_be64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_be64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@edsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@edsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@edsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@edsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@edsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@edsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@gdsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@gdsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@gdsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@gdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@gdsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@gdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@sdsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@sdsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@sdsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@sdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@sdsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@sdsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_be_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_be_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_be_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_be_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu usecase/dsh_2/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu usecase/dsh_2/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-dsh_be$(EXEEXT): $(dsh_be_OBJECTS) $(dsh_be_DEPENDENCIES)
- @rm -f dsh_be$(EXEEXT)
- $(dsh_be_LINK) $(dsh_be_OBJECTS) $(dsh_be_LDADD) $(LIBS)
-dsh_be64$(EXEEXT): $(dsh_be64_OBJECTS) $(dsh_be64_DEPENDENCIES)
- @rm -f dsh_be64$(EXEEXT)
- $(dsh_be64_LINK) $(dsh_be64_OBJECTS) $(dsh_be64_LDADD) $(LIBS)
-dsh_fe$(EXEEXT): $(dsh_fe_OBJECTS) $(dsh_fe_DEPENDENCIES)
- @rm -f dsh_fe$(EXEEXT)
- $(dsh_fe_LINK) $(dsh_fe_OBJECTS) $(dsh_fe_LDADD) $(LIBS)
-dsh_fe64$(EXEEXT): $(dsh_fe64_OBJECTS) $(dsh_fe64_DEPENDENCIES)
- @rm -f dsh_fe64$(EXEEXT)
- $(dsh_fe64_LINK) $(dsh_fe64_OBJECTS) $(dsh_fe64_LDADD) $(LIBS)
-edsh_fe$(EXEEXT): $(edsh_fe_OBJECTS) $(edsh_fe_DEPENDENCIES)
- @rm -f edsh_fe$(EXEEXT)
- $(edsh_fe_LINK) $(edsh_fe_OBJECTS) $(edsh_fe_LDADD) $(LIBS)
-edsh_fe64$(EXEEXT): $(edsh_fe64_OBJECTS) $(edsh_fe64_DEPENDENCIES)
- @rm -f edsh_fe64$(EXEEXT)
- $(edsh_fe64_LINK) $(edsh_fe64_OBJECTS) $(edsh_fe64_LDADD) $(LIBS)
-gdsh_fe$(EXEEXT): $(gdsh_fe_OBJECTS) $(gdsh_fe_DEPENDENCIES)
- @rm -f gdsh_fe$(EXEEXT)
- $(gdsh_fe_LINK) $(gdsh_fe_OBJECTS) $(gdsh_fe_LDADD) $(LIBS)
-gdsh_fe64$(EXEEXT): $(gdsh_fe64_OBJECTS) $(gdsh_fe64_DEPENDENCIES)
- @rm -f gdsh_fe64$(EXEEXT)
- $(gdsh_fe64_LINK) $(gdsh_fe64_OBJECTS) $(gdsh_fe64_LDADD) $(LIBS)
-sdsh_fe$(EXEEXT): $(sdsh_fe_OBJECTS) $(sdsh_fe_DEPENDENCIES)
- @rm -f sdsh_fe$(EXEEXT)
- $(sdsh_fe_LINK) $(sdsh_fe_OBJECTS) $(sdsh_fe_LDADD) $(LIBS)
-sdsh_fe64$(EXEEXT): $(sdsh_fe64_OBJECTS) $(sdsh_fe64_DEPENDENCIES)
- @rm -f sdsh_fe64$(EXEEXT)
- $(sdsh_fe64_LINK) $(sdsh_fe64_OBJECTS) $(sdsh_fe64_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be-dsh_be.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be64-dsh_be.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe-dsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe64-dsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edsh_fe-edsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edsh_fe64-edsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdsh_fe-gdsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdsh_fe64-gdsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sdsh_fe-sdsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sdsh_fe64-sdsh_fe.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-dsh_be-dsh_be.o: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be-dsh_be.o -MD -MP -MF $(DEPDIR)/dsh_be-dsh_be.Tpo -c -o dsh_be-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_be.Tpo $(DEPDIR)/dsh_be-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be-dsh_be.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-
-dsh_be-dsh_be.obj: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be-dsh_be.obj -MD -MP -MF $(DEPDIR)/dsh_be-dsh_be.Tpo -c -o dsh_be-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_be.Tpo $(DEPDIR)/dsh_be-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be-dsh_be.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-
-dsh_be64-dsh_be.o: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be64-dsh_be.o -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_be.Tpo -c -o dsh_be64-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_be.Tpo $(DEPDIR)/dsh_be64-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be64-dsh_be.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be64-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-
-dsh_be64-dsh_be.obj: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be64-dsh_be.obj -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_be.Tpo -c -o dsh_be64-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_be.Tpo $(DEPDIR)/dsh_be64-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be64-dsh_be.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be64-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-
-dsh_fe-dsh_fe.o: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe-dsh_fe.o -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_fe.Tpo -c -o dsh_fe-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_fe.Tpo $(DEPDIR)/dsh_fe-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe-dsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-
-dsh_fe-dsh_fe.obj: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe-dsh_fe.obj -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_fe.Tpo -c -o dsh_fe-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_fe.Tpo $(DEPDIR)/dsh_fe-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe-dsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-
-dsh_fe64-dsh_fe.o: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe64-dsh_fe.o -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_fe.Tpo -c -o dsh_fe64-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_fe.Tpo $(DEPDIR)/dsh_fe64-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe64-dsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe64-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-
-dsh_fe64-dsh_fe.obj: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe64-dsh_fe.obj -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_fe.Tpo -c -o dsh_fe64-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_fe.Tpo $(DEPDIR)/dsh_fe64-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe64-dsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe64-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-edsh_fe-edsh_fe.o: edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT edsh_fe-edsh_fe.o -MD -MP -MF $(DEPDIR)/edsh_fe-edsh_fe.Tpo -c -o edsh_fe-edsh_fe.o `test -f 'edsh_fe.cpp' || echo '$(srcdir)/'`edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/edsh_fe-edsh_fe.Tpo $(DEPDIR)/edsh_fe-edsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='edsh_fe.cpp' object='edsh_fe-edsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o edsh_fe-edsh_fe.o `test -f 'edsh_fe.cpp' || echo '$(srcdir)/'`edsh_fe.cpp
-
-edsh_fe-edsh_fe.obj: edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT edsh_fe-edsh_fe.obj -MD -MP -MF $(DEPDIR)/edsh_fe-edsh_fe.Tpo -c -o edsh_fe-edsh_fe.obj `if test -f 'edsh_fe.cpp'; then $(CYGPATH_W) 'edsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/edsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/edsh_fe-edsh_fe.Tpo $(DEPDIR)/edsh_fe-edsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='edsh_fe.cpp' object='edsh_fe-edsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o edsh_fe-edsh_fe.obj `if test -f 'edsh_fe.cpp'; then $(CYGPATH_W) 'edsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/edsh_fe.cpp'; fi`
-
-edsh_fe64-edsh_fe.o: edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT edsh_fe64-edsh_fe.o -MD -MP -MF $(DEPDIR)/edsh_fe64-edsh_fe.Tpo -c -o edsh_fe64-edsh_fe.o `test -f 'edsh_fe.cpp' || echo '$(srcdir)/'`edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/edsh_fe64-edsh_fe.Tpo $(DEPDIR)/edsh_fe64-edsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='edsh_fe.cpp' object='edsh_fe64-edsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o edsh_fe64-edsh_fe.o `test -f 'edsh_fe.cpp' || echo '$(srcdir)/'`edsh_fe.cpp
-
-edsh_fe64-edsh_fe.obj: edsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT edsh_fe64-edsh_fe.obj -MD -MP -MF $(DEPDIR)/edsh_fe64-edsh_fe.Tpo -c -o edsh_fe64-edsh_fe.obj `if test -f 'edsh_fe.cpp'; then $(CYGPATH_W) 'edsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/edsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/edsh_fe64-edsh_fe.Tpo $(DEPDIR)/edsh_fe64-edsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='edsh_fe.cpp' object='edsh_fe64-edsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(edsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o edsh_fe64-edsh_fe.obj `if test -f 'edsh_fe.cpp'; then $(CYGPATH_W) 'edsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/edsh_fe.cpp'; fi`
-
-gdsh_fe-gdsh_fe.o: gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdsh_fe-gdsh_fe.o -MD -MP -MF $(DEPDIR)/gdsh_fe-gdsh_fe.Tpo -c -o gdsh_fe-gdsh_fe.o `test -f 'gdsh_fe.cpp' || echo '$(srcdir)/'`gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdsh_fe-gdsh_fe.Tpo $(DEPDIR)/gdsh_fe-gdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gdsh_fe.cpp' object='gdsh_fe-gdsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdsh_fe-gdsh_fe.o `test -f 'gdsh_fe.cpp' || echo '$(srcdir)/'`gdsh_fe.cpp
-
-gdsh_fe-gdsh_fe.obj: gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdsh_fe-gdsh_fe.obj -MD -MP -MF $(DEPDIR)/gdsh_fe-gdsh_fe.Tpo -c -o gdsh_fe-gdsh_fe.obj `if test -f 'gdsh_fe.cpp'; then $(CYGPATH_W) 'gdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/gdsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdsh_fe-gdsh_fe.Tpo $(DEPDIR)/gdsh_fe-gdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gdsh_fe.cpp' object='gdsh_fe-gdsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdsh_fe-gdsh_fe.obj `if test -f 'gdsh_fe.cpp'; then $(CYGPATH_W) 'gdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/gdsh_fe.cpp'; fi`
-
-gdsh_fe64-gdsh_fe.o: gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdsh_fe64-gdsh_fe.o -MD -MP -MF $(DEPDIR)/gdsh_fe64-gdsh_fe.Tpo -c -o gdsh_fe64-gdsh_fe.o `test -f 'gdsh_fe.cpp' || echo '$(srcdir)/'`gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdsh_fe64-gdsh_fe.Tpo $(DEPDIR)/gdsh_fe64-gdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gdsh_fe.cpp' object='gdsh_fe64-gdsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdsh_fe64-gdsh_fe.o `test -f 'gdsh_fe.cpp' || echo '$(srcdir)/'`gdsh_fe.cpp
-
-gdsh_fe64-gdsh_fe.obj: gdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdsh_fe64-gdsh_fe.obj -MD -MP -MF $(DEPDIR)/gdsh_fe64-gdsh_fe.Tpo -c -o gdsh_fe64-gdsh_fe.obj `if test -f 'gdsh_fe.cpp'; then $(CYGPATH_W) 'gdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/gdsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdsh_fe64-gdsh_fe.Tpo $(DEPDIR)/gdsh_fe64-gdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gdsh_fe.cpp' object='gdsh_fe64-gdsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdsh_fe64-gdsh_fe.obj `if test -f 'gdsh_fe.cpp'; then $(CYGPATH_W) 'gdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/gdsh_fe.cpp'; fi`
-
-sdsh_fe-sdsh_fe.o: sdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sdsh_fe-sdsh_fe.o -MD -MP -MF $(DEPDIR)/sdsh_fe-sdsh_fe.Tpo -c -o sdsh_fe-sdsh_fe.o `test -f 'sdsh_fe.cpp' || echo '$(srcdir)/'`sdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/sdsh_fe-sdsh_fe.Tpo $(DEPDIR)/sdsh_fe-sdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='sdsh_fe.cpp' object='sdsh_fe-sdsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sdsh_fe-sdsh_fe.o `test -f 'sdsh_fe.cpp' || echo '$(srcdir)/'`sdsh_fe.cpp
-
-sdsh_fe-sdsh_fe.obj: sdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sdsh_fe-sdsh_fe.obj -MD -MP -MF $(DEPDIR)/sdsh_fe-sdsh_fe.Tpo -c -o sdsh_fe-sdsh_fe.obj `if test -f 'sdsh_fe.cpp'; then $(CYGPATH_W) 'sdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/sdsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/sdsh_fe-sdsh_fe.Tpo $(DEPDIR)/sdsh_fe-sdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='sdsh_fe.cpp' object='sdsh_fe-sdsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sdsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sdsh_fe-sdsh_fe.obj `if test -f 'sdsh_fe.cpp'; then $(CYGPATH_W) 'sdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/sdsh_fe.cpp'; fi`
-
-sdsh_fe64-sdsh_fe.o: sdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sdsh_fe64-sdsh_fe.o -MD -MP -MF $(DEPDIR)/sdsh_fe64-sdsh_fe.Tpo -c -o sdsh_fe64-sdsh_fe.o `test -f 'sdsh_fe.cpp' || echo '$(srcdir)/'`sdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/sdsh_fe64-sdsh_fe.Tpo $(DEPDIR)/sdsh_fe64-sdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='sdsh_fe.cpp' object='sdsh_fe64-sdsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sdsh_fe64-sdsh_fe.o `test -f 'sdsh_fe.cpp' || echo '$(srcdir)/'`sdsh_fe.cpp
-
-sdsh_fe64-sdsh_fe.obj: sdsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sdsh_fe64-sdsh_fe.obj -MD -MP -MF $(DEPDIR)/sdsh_fe64-sdsh_fe.Tpo -c -o sdsh_fe64-sdsh_fe.obj `if test -f 'sdsh_fe.cpp'; then $(CYGPATH_W) 'sdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/sdsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/sdsh_fe64-sdsh_fe.Tpo $(DEPDIR)/sdsh_fe64-sdsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='sdsh_fe.cpp' object='sdsh_fe64-sdsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sdsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sdsh_fe64-sdsh_fe.obj `if test -f 'sdsh_fe.cpp'; then $(CYGPATH_W) 'sdsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/sdsh_fe.cpp'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-binPROGRAMS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/buildit b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/buildit
deleted file mode 100755
index 667621c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/buildit
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh -x
-
-OS_TYPE=$(uname)
-if [[ ${OS_TYPE} = "AIX" ]]
-then
- make -f Makefile.aix clean
- make -f Makefile.aix all
-else
- CURR_CHIP=$(arch)
- if [[ ${CURR_CHIP} == 'ppc64' ]]
- then
- make clean
- make all
- else
- if [[ ${CURR_CHIP} == 'i386' || ${CURR_CHIP} == 'i686' ]]
- then
- make clean_32
- make all_32
- else
- if [[ ${CURR_CHIP} == 'x86_64' ]]
- then
- make clean
- make all
- fi
- fi
- fi
-fi
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/dsh_be.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/dsh_be.c
deleted file mode 100644
index 6e85222..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/dsh_be.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <assert.h>
-#include "sci.h"
-
-#define RST_SIZE 4096
-
-char *result = NULL;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int bytes, my_id, rc;
- FILE *fp = NULL;
- int sizes[2];
- void *bufs[2];
-
- rc = SCI_Query(BACKEND_ID, &my_id);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- bufs[0] = &my_id;
- sizes[0] = sizeof(my_id);
-
- fp = popen((const char *)buffer, "r");
- assert(result != NULL);
- memset(result, 0, RST_SIZE);
- bytes = fread(result, sizeof(char), RST_SIZE, fp);
- bufs[1] = result;
- sizes[1] = strlen(result) + 1;
- pclose(fp);
-
- rc = SCI_Upload(SCI_FILTER_NULL, group, 2, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- int rc;
-
- result = (char *)malloc(RST_SIZE * sizeof(char));
- bzero(&info, sizeof(info));
- info.type = SCI_BACK_END;
- info.be_info.mode = SCI_POLLING;
- info.be_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.be_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- do {
- rc = SCI_Poll(-1);
- } while (rc == SCI_SUCCESS);
-
- rc = SCI_Terminate();
- free(result);
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/dsh_fe.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/dsh_fe.c
deleted file mode 100644
index d7f29e4..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/dsh_fe.c
+++ /dev/null
@@ -1,127 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "sci.h"
-
-int num_resp;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int be_id = ((int *) buffer)[0];
- char *msg = (char *)((char *) buffer + sizeof(int));
- char *pos = NULL;
-
- while (1) {
- pos = strstr(msg, "\n");
- if (pos == NULL) {
- break;
- } else {
- pos[0] = '\0';
- }
- printf("%d: %s\n", be_id, msg);
- msg = pos + 1;
- }
-
- num_resp++;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, job_key, sizes[1];
- void *bufs[1];
-
- char pwd[256];
- char hfile[256], bpath[256], fpath[256];
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_POLLING;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- while (1) {
- printf(">>> ");
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (0 == strcmp(msg, "quit"))
- break;
-
- num_resp = 0;
-
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- rc = SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- do {
- rc = SCI_Poll(-1);
- if (rc != SCI_SUCCESS) {
- break;
- }
- } while (num_resp < num_bes);
-
- if (rc != SCI_SUCCESS) {
- break;
- }
- }
-
- rc = SCI_Terminate();
-
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/edsh_fe.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/edsh_fe.cpp
deleted file mode 100644
index 234440d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/edsh_fe.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Enhanced Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/22/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <assert.h>
-#include <strings.h>
-#include "sci.h"
-
-#include <string>
-
-using namespace std;
-
-int num_resp;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int be_id = ((int *) buffer)[0];
- char *msg = (char *)((char *) buffer + sizeof(int));
- char *pos = NULL;
-
- while (1) {
- pos = strstr(msg, "\n");
- if (pos == NULL) {
- break;
- } else {
- pos[0] = '\0';
- }
- printf("%d: %s\n", be_id, msg);
- msg = pos + 1;
- }
-
- num_resp++;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, sizes[1];
- void *bufs[1];
-
- sci_group_t odd_group, even_group;
- int odd_size, even_size;
- int *odd_list = NULL, *even_list = NULL;
-
- char pwd[256];
- char hfile[256], bpath[256], fpath[256];
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_POLLING;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- odd_size = (num_bes - num_bes%2) / 2;
- odd_list = (int *)malloc(sizeof(int) * odd_size);
- for (i=0; i<odd_size; i++) {
- odd_list[i] = i*2 + 1;
- }
- rc = SCI_Group_create(odd_size, odd_list, &odd_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- even_size = (num_bes + num_bes%2) / 2;
- even_list = (int *)malloc(sizeof(int) * even_size);
- for (i=0; i<even_size; i++) {
- even_list[i] = i*2;
- }
- rc = SCI_Group_create(even_size, even_list, &even_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- string cur_grp = "all";
- int exp_resp = num_bes;
- while (1) {
- printf("(%s) ", cur_grp.c_str());
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (strcmp(msg, "help") == 0) {
- printf("Commands:\n");
- printf("\t\thelp -- show help topics\n");
- printf("\t\tall -- send commands to all back ends\n");
- printf("\t\teven -- send commands to back ends with even id\n");
- printf("\t\todd -- send commands to back ends with odd id\n");
- printf("\t\tquit -- exit this program\n");
- continue;
- } else if (strcmp(msg, "all") == 0) {
- cur_grp = "all";
- exp_resp = num_bes;
- continue;
- } else if (strcmp(msg, "odd") == 0) {
- cur_grp = "odd";
- exp_resp = odd_size;
- continue;
- } else if (strcmp(msg, "even") == 0) {
- cur_grp = "even";
- exp_resp = even_size;
- continue;
- } else if (strcmp(msg, "quit") == 0) {
- break;
- }
-
- num_resp = 0;
-
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- if (cur_grp == "all") {
- rc = SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- } else if (cur_grp == "odd") {
- rc = SCI_Bcast(SCI_FILTER_NULL, odd_group, 1, bufs, sizes);
- } else if (cur_grp == "even") {
- rc = SCI_Bcast(SCI_FILTER_NULL, even_group, 1, bufs, sizes);
- } else {
- assert(!"Unknown group");
- }
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- do {
- rc = SCI_Poll(-1);
- if (num_resp >= exp_resp) {
- break;
- }
- } while (rc == SCI_SUCCESS);
- }
-
- rc = SCI_Group_free(odd_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Group_free(even_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- free(odd_list);
- free(even_list);
-
- rc = SCI_Terminate();
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/gdsh_fe.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/gdsh_fe.cpp
deleted file mode 100644
index eb2e024..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/gdsh_fe.cpp
+++ /dev/null
@@ -1,234 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Enhanced Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 02/13/08 chensuih Initial code
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <assert.h>
-#include <strings.h>
-#include "sci.h"
-
-#include <string>
-
-using namespace std;
-
-int num_resp;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int be_id = ((int *) buffer)[0];
- char *msg = (char *)((char *) buffer + sizeof(int));
- char *pos = NULL;
-
- while (1) {
- pos = strstr(msg, "\n");
- if (pos == NULL) {
- break;
- } else {
- pos[0] = '\0';
- }
- printf("%d: %s\n", be_id, msg);
- msg = pos + 1;
- }
-
- num_resp++;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, sizes[1];
- void *bufs[1];
-
- sci_group_t odd_group, even_group;
- int odd_size, even_size;
- int *odd_list = NULL, *even_list = NULL;
-
- char pwd[256];
- char hfile[256], bpath[256], fpath[256];
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_POLLING;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- //=============odd list===============
- odd_size = (num_bes - num_bes%2) / 2;
- odd_list = (int *)malloc(sizeof(int) * odd_size);
- for (i=0; i<odd_size; i++) {
- odd_list[i] = i*2 + 1;
- }
- rc = SCI_Group_create(odd_size, odd_list, &odd_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- int odd_list_benum;
- rc = SCI_Group_query(odd_group, GROUP_MEMBER_NUM, &odd_list_benum);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- printf("The Be Num of odd list is: %d\r\n", odd_list_benum);
-
- int* oddlist_query_res = (int *)malloc(sizeof(int)*odd_list_benum);
- rc = SCI_Group_query(odd_group, GROUP_MEMBER, oddlist_query_res);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- for(i=0; i<odd_list_benum; i++)
- {
- printf("the group member %d of oddlist_query_res is: %d\r\n", i, oddlist_query_res[i]);
- }
- //===============even list ============
- even_size = (num_bes + num_bes%2) / 2;
- even_list = (int *)malloc(sizeof(int) * even_size);
- for (i=0; i<even_size; i++) {
- even_list[i] = i*2;
- }
- rc = SCI_Group_create(even_size, even_list, &even_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- int even_list_benum;
- rc = SCI_Group_query(even_group, GROUP_MEMBER_NUM, &even_list_benum);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- printf("The Be Num of even list is: %d\r\n", even_list_benum);
-
- int* evenlist_query_res = (int *)malloc(sizeof(int)*even_list_benum);
- rc = SCI_Group_query(even_group, GROUP_MEMBER, evenlist_query_res);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- for(i=0; i<even_list_benum; i++)
- {
- printf("the group member %d of evenlist_query_res is: %d\r\n", i, evenlist_query_res[i]);
- }
- //===============================
- string cur_grp = "all";
- int exp_resp = num_bes;
- while (1) {
- printf("(%s) ", cur_grp.c_str());
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (strcmp(msg, "help") == 0) {
- printf("Commands:\n");
- printf("\t\thelp -- show help topics\n");
- printf("\t\tall -- send commands to all back ends\n");
- printf("\t\teven -- send commands to back ends with even id\n");
- printf("\t\todd -- send commands to back ends with odd id\n");
- printf("\t\tquit -- exit this program\n");
- continue;
- } else if (strcmp(msg, "all") == 0) {
- cur_grp = "all";
- exp_resp = num_bes;
- continue;
- } else if (strcmp(msg, "odd") == 0) {
- cur_grp = "odd";
- exp_resp = odd_size;
- continue;
- } else if (strcmp(msg, "even") == 0) {
- cur_grp = "even";
- exp_resp = even_size;
- continue;
- } else if (strcmp(msg, "quit") == 0) {
- break;
- }
-
- num_resp = 0;
-
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- if (cur_grp == "all") {
- rc = SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- } else if (cur_grp == "odd") {
- rc = SCI_Bcast(SCI_FILTER_NULL, odd_group, 1, bufs, sizes);
- } else if (cur_grp == "even") {
- rc = SCI_Bcast(SCI_FILTER_NULL, even_group, 1, bufs, sizes);
- } else {
- assert(!"Unknown group");
- }
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- do {
- rc = SCI_Poll(-1);
- if (num_resp >= exp_resp) {
- break;
- }
- } while (rc == SCI_SUCCESS);
- }
-
- rc = SCI_Group_free(odd_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Group_free(even_group);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- free(odd_list);
- free(even_list);
- free(oddlist_query_res);
- free(evenlist_query_res);
-
- rc = SCI_Terminate();
- return rc;
-}
-
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/sdsh_fe.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/sdsh_fe.cpp
deleted file mode 100644
index 7b2f2f4..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_2/sdsh_fe.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/06/08 nieyy Initial code (D153875)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <unistd.h>
-#include "sci.h"
-
-int num_resp;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int be_id = ((int *) buffer)[0];
- char *msg = (char *)((char *) buffer + sizeof(int));
- char *pos = NULL;
-
- while (1) {
- pos = strstr(msg, "\n");
- if (pos == NULL) {
- break;
- } else {
- pos[0] = '\0';
- }
- printf("%d: %s\n", be_id, msg);
- msg = pos + 1;
- }
-
- num_resp++;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, job_key, sizes[1];
- int pollfd;
- void *bufs[1];
-
- char pwd[256];
- char hfile[256], bpath[256], fpath[256];
-
- fd_set fdSet;
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_POLLING;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- rc = SCI_Query(POLLING_FD, &pollfd);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- FD_ZERO(&fdSet);
- FD_SET(pollfd, &fdSet);
-
- while (1) {
- printf(">>> ");
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (0 == strcmp(msg, "quit"))
- break;
-
- num_resp = 0;
-
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- rc = SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- do {
- int rc = ::select(pollfd+1, &fdSet, 0, 0, NULL);
- if (rc > 0) {
- SCI_Poll(-1);
- }
- } while (num_resp < num_bes);
- }
-
- rc = SCI_Terminate();
-
- return rc;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/.cvsignore b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/.cvsignore
deleted file mode 100644
index a6418df..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-*.lo
-dsh_tests
-dsh_fe
-dsh_be
-.libs
-.deps
-*.la
-Makefile
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/Makefile.aix b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/Makefile.aix
deleted file mode 100644
index 953ca23..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/Makefile.aix
+++ /dev/null
@@ -1,43 +0,0 @@
-CC = xlC_r
-
-CPPFLAGS =
-
-OTHER_FLAGS = -ldl -lpthread -lsci_r
-
-all: all_32 all_64
-
-all_32: dsh_fe dsh_be dsh_filter.so dsh_tests
-
-all_64: dsh_fe64 dsh_be64 dsh_filter64.so dsh_tests64
-
-dsh_fe: dsh_fe.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
- $(CC) -g -q32 $(CPPFLAGS) -o $@ dsh_fe.cpp levenshtein.cpp dsh_packer.cpp $(OTHER_FLAGS)
-
-dsh_be: dsh_be.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
- $(CC) -g -q32 $(CPPFLAGS) -o $@ dsh_be.cpp levenshtein.cpp dsh_packer.cpp $(OTHER_FLAGS)
-
-dsh_filter.so: dsh_filter.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
- $(CC) -g -q32 $(CPPFLAGS) -qmkshrobj -o $@ dsh_filter.cpp levenshtein.cpp dsh_packer.cpp $(OTHER_FLAGS)
-
-dsh_tests: dsh_tests.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
- $(CC) -g -q32 $(CPPFLAGS) -o $@ dsh_tests.cpp levenshtein.cpp dsh_packer.cpp $(OTHER_FLAGS)
-
-dsh_fe64: dsh_fe.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
- $(CC) -g -q64 $(CPPFLAGS) -o $@ dsh_fe.cpp levenshtein.cpp dsh_packer.cpp $(OTHER_FLAGS)
-
-dsh_be64: dsh_be.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
- $(CC) -g -q64 $(CPPFLAGS) -o $@ dsh_be.cpp levenshtein.cpp dsh_packer.cpp $(OTHER_FLAGS)
-
-dsh_filter64.so: dsh_filter.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
- $(CC) -g -q64 $(CPPFLAGS) -qmkshrobj -o $@ dsh_filter.cpp levenshtein.cpp dsh_packer.cpp $(OTHER_FLAGS)
-
-dsh_tests64: dsh_tests.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
- $(CC) -g -q64 $(CPPFLAGS) -o $@ dsh_tests.cpp levenshtein.cpp dsh_packer.cpp $(OTHER_FLAGS)
-
-clean: clean_32 clean_64
-
-clean_32:
- @rm -f *.o dsh_fe dsh_be dsh_filter.so dsh_tests
-
-clean_64:
- @rm -f *.o dsh_fe64 dsh_be64 dsh_filter64.so dsh_tests64
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/Makefile.am b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/Makefile.am
deleted file mode 100644
index b373193..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/Makefile.am
+++ /dev/null
@@ -1,70 +0,0 @@
-dsh_fe64_SOURCES = dsh_fe.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_be64_SOURCES = dsh_be.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_tests64_SOURCES = dsh_tests.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_filter64_la_SOURCES = dsh_filter.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_fe_SOURCES = dsh_fe.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_be_SOURCES = dsh_be.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_tests_SOURCES = dsh_tests.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_filter_la_SOURCES = dsh_filter.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-if SYSTEM_AIX
-if BIT64
-bin_PROGRAMS = dsh_fe64 dsh_be64 dsh_tests64
-pkglib_LTLIBRARIES = dsh_filter64.la
-dsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_be64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_be64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_tests64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_tests64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_filter64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_filter64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-else
-bin_PROGRAMS = dsh_fe dsh_be dsh_tests
-pkglib_LTLIBRARIES = dsh_filter.la
-dsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_be_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_tests_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_tests_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_filter_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_filter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-endif
-endif
-if SYSTEM_DARWIN
-bin_PROGRAMS = dsh_fe dsh_be dsh_tests
-pkglib_LTLIBRARIES = dsh_filter.la
-dsh_fe_CPPFLAGS = -I../../common -I../../include
-dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-dsh_be_CPPFLAGS = -I../../common -I../../include
-dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-dsh_tests_CPPFLAGS = -I../../common -I../../include
-dsh_tests_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-dsh_filter_la_CPPFLAGS = -I../../common -I../../include
-dsh_filter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-endif
-if SYSTEM_LINUX
-if BIT64
-bin_PROGRAMS = dsh_fe64 dsh_be64 dsh_tests64
-pkglib_LTLIBRARIES = dsh_filter64.la
-dsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_be64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_be64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_tests64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_tests64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_filter64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_filter64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-else
-bin_PROGRAMS = dsh_fe dsh_be dsh_tests
-pkglib_LTLIBRARIES = dsh_filter.la
-dsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_be_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_be_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_tests_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_tests_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_filter_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_filter_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-endif
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/Makefile.in b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/Makefile.in
deleted file mode 100644
index f798146..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/Makefile.in
+++ /dev/null
@@ -1,1042 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_be$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_tests$(EXEEXT)
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ dsh_be$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ dsh_tests$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = dsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_be64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_tests64$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = dsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ dsh_be64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ dsh_tests64$(EXEEXT)
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ dsh_be$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ dsh_tests$(EXEEXT)
-subdir = usecase/dsh_filter
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)"
-LTLIBRARIES = $(pkglib_LTLIBRARIES)
-dsh_filter_la_LIBADD =
-am_dsh_filter_la_OBJECTS = dsh_filter_la-dsh_filter.lo \
- dsh_filter_la-levenshtein.lo dsh_filter_la-dsh_packer.lo
-dsh_filter_la_OBJECTS = $(am_dsh_filter_la_OBJECTS)
-dsh_filter_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(dsh_filter_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@am_dsh_filter_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@am_dsh_filter_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-@SYSTEM_DARWIN_TRUE@am_dsh_filter_la_rpath = -rpath $(pkglibdir)
-dsh_filter64_la_LIBADD =
-am_dsh_filter64_la_OBJECTS = dsh_filter64_la-dsh_filter.lo \
- dsh_filter64_la-levenshtein.lo dsh_filter64_la-dsh_packer.lo
-dsh_filter64_la_OBJECTS = $(am_dsh_filter64_la_OBJECTS)
-dsh_filter64_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(dsh_filter64_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@am_dsh_filter64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@am_dsh_filter64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-PROGRAMS = $(bin_PROGRAMS)
-am_dsh_be_OBJECTS = dsh_be-dsh_be.$(OBJEXT) \
- dsh_be-levenshtein.$(OBJEXT) dsh_be-dsh_packer.$(OBJEXT)
-dsh_be_OBJECTS = $(am_dsh_be_OBJECTS)
-dsh_be_LDADD = $(LDADD)
-dsh_be_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(dsh_be_LDFLAGS) $(LDFLAGS) -o $@
-am_dsh_be64_OBJECTS = dsh_be64-dsh_be.$(OBJEXT) \
- dsh_be64-levenshtein.$(OBJEXT) dsh_be64-dsh_packer.$(OBJEXT)
-dsh_be64_OBJECTS = $(am_dsh_be64_OBJECTS)
-dsh_be64_LDADD = $(LDADD)
-dsh_be64_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(dsh_be64_LDFLAGS) $(LDFLAGS) -o $@
-am_dsh_fe_OBJECTS = dsh_fe-dsh_fe.$(OBJEXT) \
- dsh_fe-levenshtein.$(OBJEXT) dsh_fe-dsh_packer.$(OBJEXT)
-dsh_fe_OBJECTS = $(am_dsh_fe_OBJECTS)
-dsh_fe_LDADD = $(LDADD)
-dsh_fe_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(dsh_fe_LDFLAGS) $(LDFLAGS) -o $@
-am_dsh_fe64_OBJECTS = dsh_fe64-dsh_fe.$(OBJEXT) \
- dsh_fe64-levenshtein.$(OBJEXT) dsh_fe64-dsh_packer.$(OBJEXT)
-dsh_fe64_OBJECTS = $(am_dsh_fe64_OBJECTS)
-dsh_fe64_LDADD = $(LDADD)
-dsh_fe64_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(dsh_fe64_LDFLAGS) $(LDFLAGS) -o $@
-am_dsh_tests_OBJECTS = dsh_tests-dsh_tests.$(OBJEXT) \
- dsh_tests-levenshtein.$(OBJEXT) dsh_tests-dsh_packer.$(OBJEXT)
-dsh_tests_OBJECTS = $(am_dsh_tests_OBJECTS)
-dsh_tests_LDADD = $(LDADD)
-dsh_tests_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(dsh_tests_LDFLAGS) $(LDFLAGS) -o $@
-am_dsh_tests64_OBJECTS = dsh_tests64-dsh_tests.$(OBJEXT) \
- dsh_tests64-levenshtein.$(OBJEXT) \
- dsh_tests64-dsh_packer.$(OBJEXT)
-dsh_tests64_OBJECTS = $(am_dsh_tests64_OBJECTS)
-dsh_tests64_LDADD = $(LDADD)
-dsh_tests64_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(dsh_tests64_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(dsh_filter_la_SOURCES) $(dsh_filter64_la_SOURCES) \
- $(dsh_be_SOURCES) $(dsh_be64_SOURCES) $(dsh_fe_SOURCES) \
- $(dsh_fe64_SOURCES) $(dsh_tests_SOURCES) \
- $(dsh_tests64_SOURCES)
-DIST_SOURCES = $(dsh_filter_la_SOURCES) $(dsh_filter64_la_SOURCES) \
- $(dsh_be_SOURCES) $(dsh_be64_SOURCES) $(dsh_fe_SOURCES) \
- $(dsh_fe64_SOURCES) $(dsh_tests_SOURCES) \
- $(dsh_tests64_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-dsh_fe64_SOURCES = dsh_fe.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_be64_SOURCES = dsh_be.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_tests64_SOURCES = dsh_tests.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_filter64_la_SOURCES = dsh_filter.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_fe_SOURCES = dsh_fe.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_be_SOURCES = dsh_be.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_tests_SOURCES = dsh_tests.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-dsh_filter_la_SOURCES = dsh_filter.cpp levenshtein.cpp dsh_packer.cpp dsh_header.hpp dsh_aggregator.hpp
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@pkglib_LTLIBRARIES = dsh_filter.la
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@pkglib_LTLIBRARIES = dsh_filter.la
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@pkglib_LTLIBRARIES = dsh_filter64.la
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@pkglib_LTLIBRARIES = dsh_filter64.la
-@SYSTEM_DARWIN_TRUE@pkglib_LTLIBRARIES = dsh_filter.la
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_be64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_be64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_be64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_be64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_tests64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_tests64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_tests64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_tests64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_filter64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_filter64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_filter64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_filter64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_be_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_be_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_be_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_be_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_tests_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_tests_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_tests_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_tests_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_tests_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_tests_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_filter_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_filter_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_filter_la_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_filter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_filter_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_filter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu usecase/dsh_filter/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu usecase/dsh_filter/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
- @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
- }
-
-uninstall-pkglibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
- done
-
-clean-pkglibLTLIBRARIES:
- -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-dsh_filter.la: $(dsh_filter_la_OBJECTS) $(dsh_filter_la_DEPENDENCIES)
- $(dsh_filter_la_LINK) $(am_dsh_filter_la_rpath) $(dsh_filter_la_OBJECTS) $(dsh_filter_la_LIBADD) $(LIBS)
-dsh_filter64.la: $(dsh_filter64_la_OBJECTS) $(dsh_filter64_la_DEPENDENCIES)
- $(dsh_filter64_la_LINK) $(am_dsh_filter64_la_rpath) $(dsh_filter64_la_OBJECTS) $(dsh_filter64_la_LIBADD) $(LIBS)
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-dsh_be$(EXEEXT): $(dsh_be_OBJECTS) $(dsh_be_DEPENDENCIES)
- @rm -f dsh_be$(EXEEXT)
- $(dsh_be_LINK) $(dsh_be_OBJECTS) $(dsh_be_LDADD) $(LIBS)
-dsh_be64$(EXEEXT): $(dsh_be64_OBJECTS) $(dsh_be64_DEPENDENCIES)
- @rm -f dsh_be64$(EXEEXT)
- $(dsh_be64_LINK) $(dsh_be64_OBJECTS) $(dsh_be64_LDADD) $(LIBS)
-dsh_fe$(EXEEXT): $(dsh_fe_OBJECTS) $(dsh_fe_DEPENDENCIES)
- @rm -f dsh_fe$(EXEEXT)
- $(dsh_fe_LINK) $(dsh_fe_OBJECTS) $(dsh_fe_LDADD) $(LIBS)
-dsh_fe64$(EXEEXT): $(dsh_fe64_OBJECTS) $(dsh_fe64_DEPENDENCIES)
- @rm -f dsh_fe64$(EXEEXT)
- $(dsh_fe64_LINK) $(dsh_fe64_OBJECTS) $(dsh_fe64_LDADD) $(LIBS)
-dsh_tests$(EXEEXT): $(dsh_tests_OBJECTS) $(dsh_tests_DEPENDENCIES)
- @rm -f dsh_tests$(EXEEXT)
- $(dsh_tests_LINK) $(dsh_tests_OBJECTS) $(dsh_tests_LDADD) $(LIBS)
-dsh_tests64$(EXEEXT): $(dsh_tests64_OBJECTS) $(dsh_tests64_DEPENDENCIES)
- @rm -f dsh_tests64$(EXEEXT)
- $(dsh_tests64_LINK) $(dsh_tests64_OBJECTS) $(dsh_tests64_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be-dsh_be.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be-dsh_packer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be-levenshtein.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be64-dsh_be.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be64-dsh_packer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be64-levenshtein.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe-dsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe-dsh_packer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe-levenshtein.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe64-dsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe64-dsh_packer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe64-levenshtein.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_filter64_la-dsh_filter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_filter64_la-dsh_packer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_filter64_la-levenshtein.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_filter_la-dsh_filter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_filter_la-dsh_packer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_filter_la-levenshtein.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_tests-dsh_packer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_tests-dsh_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_tests-levenshtein.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_tests64-dsh_packer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_tests64-dsh_tests.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_tests64-levenshtein.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-dsh_filter_la-dsh_filter.lo: dsh_filter.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_filter_la-dsh_filter.lo -MD -MP -MF $(DEPDIR)/dsh_filter_la-dsh_filter.Tpo -c -o dsh_filter_la-dsh_filter.lo `test -f 'dsh_filter.cpp' || echo '$(srcdir)/'`dsh_filter.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_filter_la-dsh_filter.Tpo $(DEPDIR)/dsh_filter_la-dsh_filter.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_filter.cpp' object='dsh_filter_la-dsh_filter.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_filter_la-dsh_filter.lo `test -f 'dsh_filter.cpp' || echo '$(srcdir)/'`dsh_filter.cpp
-
-dsh_filter_la-levenshtein.lo: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_filter_la-levenshtein.lo -MD -MP -MF $(DEPDIR)/dsh_filter_la-levenshtein.Tpo -c -o dsh_filter_la-levenshtein.lo `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_filter_la-levenshtein.Tpo $(DEPDIR)/dsh_filter_la-levenshtein.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_filter_la-levenshtein.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_filter_la-levenshtein.lo `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-
-dsh_filter_la-dsh_packer.lo: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_filter_la-dsh_packer.lo -MD -MP -MF $(DEPDIR)/dsh_filter_la-dsh_packer.Tpo -c -o dsh_filter_la-dsh_packer.lo `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_filter_la-dsh_packer.Tpo $(DEPDIR)/dsh_filter_la-dsh_packer.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_filter_la-dsh_packer.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_filter_la-dsh_packer.lo `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-
-dsh_filter64_la-dsh_filter.lo: dsh_filter.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_filter64_la-dsh_filter.lo -MD -MP -MF $(DEPDIR)/dsh_filter64_la-dsh_filter.Tpo -c -o dsh_filter64_la-dsh_filter.lo `test -f 'dsh_filter.cpp' || echo '$(srcdir)/'`dsh_filter.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_filter64_la-dsh_filter.Tpo $(DEPDIR)/dsh_filter64_la-dsh_filter.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_filter.cpp' object='dsh_filter64_la-dsh_filter.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_filter64_la-dsh_filter.lo `test -f 'dsh_filter.cpp' || echo '$(srcdir)/'`dsh_filter.cpp
-
-dsh_filter64_la-levenshtein.lo: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_filter64_la-levenshtein.lo -MD -MP -MF $(DEPDIR)/dsh_filter64_la-levenshtein.Tpo -c -o dsh_filter64_la-levenshtein.lo `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_filter64_la-levenshtein.Tpo $(DEPDIR)/dsh_filter64_la-levenshtein.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_filter64_la-levenshtein.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_filter64_la-levenshtein.lo `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-
-dsh_filter64_la-dsh_packer.lo: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_filter64_la-dsh_packer.lo -MD -MP -MF $(DEPDIR)/dsh_filter64_la-dsh_packer.Tpo -c -o dsh_filter64_la-dsh_packer.lo `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_filter64_la-dsh_packer.Tpo $(DEPDIR)/dsh_filter64_la-dsh_packer.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_filter64_la-dsh_packer.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_filter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_filter64_la-dsh_packer.lo `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-
-dsh_be-dsh_be.o: dsh_be.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be-dsh_be.o -MD -MP -MF $(DEPDIR)/dsh_be-dsh_be.Tpo -c -o dsh_be-dsh_be.o `test -f 'dsh_be.cpp' || echo '$(srcdir)/'`dsh_be.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_be.Tpo $(DEPDIR)/dsh_be-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_be.cpp' object='dsh_be-dsh_be.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be-dsh_be.o `test -f 'dsh_be.cpp' || echo '$(srcdir)/'`dsh_be.cpp
-
-dsh_be-dsh_be.obj: dsh_be.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be-dsh_be.obj -MD -MP -MF $(DEPDIR)/dsh_be-dsh_be.Tpo -c -o dsh_be-dsh_be.obj `if test -f 'dsh_be.cpp'; then $(CYGPATH_W) 'dsh_be.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_be.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_be.Tpo $(DEPDIR)/dsh_be-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_be.cpp' object='dsh_be-dsh_be.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be-dsh_be.obj `if test -f 'dsh_be.cpp'; then $(CYGPATH_W) 'dsh_be.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_be.cpp'; fi`
-
-dsh_be-levenshtein.o: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be-levenshtein.o -MD -MP -MF $(DEPDIR)/dsh_be-levenshtein.Tpo -c -o dsh_be-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-levenshtein.Tpo $(DEPDIR)/dsh_be-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_be-levenshtein.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-
-dsh_be-levenshtein.obj: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be-levenshtein.obj -MD -MP -MF $(DEPDIR)/dsh_be-levenshtein.Tpo -c -o dsh_be-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-levenshtein.Tpo $(DEPDIR)/dsh_be-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_be-levenshtein.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-
-dsh_be-dsh_packer.o: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be-dsh_packer.o -MD -MP -MF $(DEPDIR)/dsh_be-dsh_packer.Tpo -c -o dsh_be-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_packer.Tpo $(DEPDIR)/dsh_be-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_be-dsh_packer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-
-dsh_be-dsh_packer.obj: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be-dsh_packer.obj -MD -MP -MF $(DEPDIR)/dsh_be-dsh_packer.Tpo -c -o dsh_be-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_packer.Tpo $(DEPDIR)/dsh_be-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_be-dsh_packer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-
-dsh_be64-dsh_be.o: dsh_be.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be64-dsh_be.o -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_be.Tpo -c -o dsh_be64-dsh_be.o `test -f 'dsh_be.cpp' || echo '$(srcdir)/'`dsh_be.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_be.Tpo $(DEPDIR)/dsh_be64-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_be.cpp' object='dsh_be64-dsh_be.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be64-dsh_be.o `test -f 'dsh_be.cpp' || echo '$(srcdir)/'`dsh_be.cpp
-
-dsh_be64-dsh_be.obj: dsh_be.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be64-dsh_be.obj -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_be.Tpo -c -o dsh_be64-dsh_be.obj `if test -f 'dsh_be.cpp'; then $(CYGPATH_W) 'dsh_be.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_be.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_be.Tpo $(DEPDIR)/dsh_be64-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_be.cpp' object='dsh_be64-dsh_be.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be64-dsh_be.obj `if test -f 'dsh_be.cpp'; then $(CYGPATH_W) 'dsh_be.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_be.cpp'; fi`
-
-dsh_be64-levenshtein.o: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be64-levenshtein.o -MD -MP -MF $(DEPDIR)/dsh_be64-levenshtein.Tpo -c -o dsh_be64-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-levenshtein.Tpo $(DEPDIR)/dsh_be64-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_be64-levenshtein.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be64-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-
-dsh_be64-levenshtein.obj: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be64-levenshtein.obj -MD -MP -MF $(DEPDIR)/dsh_be64-levenshtein.Tpo -c -o dsh_be64-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-levenshtein.Tpo $(DEPDIR)/dsh_be64-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_be64-levenshtein.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be64-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-
-dsh_be64-dsh_packer.o: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be64-dsh_packer.o -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_packer.Tpo -c -o dsh_be64-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_packer.Tpo $(DEPDIR)/dsh_be64-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_be64-dsh_packer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be64-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-
-dsh_be64-dsh_packer.obj: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_be64-dsh_packer.obj -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_packer.Tpo -c -o dsh_be64-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_packer.Tpo $(DEPDIR)/dsh_be64-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_be64-dsh_packer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_be64-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-
-dsh_fe-dsh_fe.o: dsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe-dsh_fe.o -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_fe.Tpo -c -o dsh_fe-dsh_fe.o `test -f 'dsh_fe.cpp' || echo '$(srcdir)/'`dsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_fe.Tpo $(DEPDIR)/dsh_fe-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_fe.cpp' object='dsh_fe-dsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe-dsh_fe.o `test -f 'dsh_fe.cpp' || echo '$(srcdir)/'`dsh_fe.cpp
-
-dsh_fe-dsh_fe.obj: dsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe-dsh_fe.obj -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_fe.Tpo -c -o dsh_fe-dsh_fe.obj `if test -f 'dsh_fe.cpp'; then $(CYGPATH_W) 'dsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_fe.Tpo $(DEPDIR)/dsh_fe-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_fe.cpp' object='dsh_fe-dsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe-dsh_fe.obj `if test -f 'dsh_fe.cpp'; then $(CYGPATH_W) 'dsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.cpp'; fi`
-
-dsh_fe-levenshtein.o: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe-levenshtein.o -MD -MP -MF $(DEPDIR)/dsh_fe-levenshtein.Tpo -c -o dsh_fe-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-levenshtein.Tpo $(DEPDIR)/dsh_fe-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_fe-levenshtein.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-
-dsh_fe-levenshtein.obj: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe-levenshtein.obj -MD -MP -MF $(DEPDIR)/dsh_fe-levenshtein.Tpo -c -o dsh_fe-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-levenshtein.Tpo $(DEPDIR)/dsh_fe-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_fe-levenshtein.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-
-dsh_fe-dsh_packer.o: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe-dsh_packer.o -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_packer.Tpo -c -o dsh_fe-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_packer.Tpo $(DEPDIR)/dsh_fe-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_fe-dsh_packer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-
-dsh_fe-dsh_packer.obj: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe-dsh_packer.obj -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_packer.Tpo -c -o dsh_fe-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_packer.Tpo $(DEPDIR)/dsh_fe-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_fe-dsh_packer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-
-dsh_fe64-dsh_fe.o: dsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe64-dsh_fe.o -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_fe.Tpo -c -o dsh_fe64-dsh_fe.o `test -f 'dsh_fe.cpp' || echo '$(srcdir)/'`dsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_fe.Tpo $(DEPDIR)/dsh_fe64-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_fe.cpp' object='dsh_fe64-dsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe64-dsh_fe.o `test -f 'dsh_fe.cpp' || echo '$(srcdir)/'`dsh_fe.cpp
-
-dsh_fe64-dsh_fe.obj: dsh_fe.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe64-dsh_fe.obj -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_fe.Tpo -c -o dsh_fe64-dsh_fe.obj `if test -f 'dsh_fe.cpp'; then $(CYGPATH_W) 'dsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_fe.Tpo $(DEPDIR)/dsh_fe64-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_fe.cpp' object='dsh_fe64-dsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe64-dsh_fe.obj `if test -f 'dsh_fe.cpp'; then $(CYGPATH_W) 'dsh_fe.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.cpp'; fi`
-
-dsh_fe64-levenshtein.o: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe64-levenshtein.o -MD -MP -MF $(DEPDIR)/dsh_fe64-levenshtein.Tpo -c -o dsh_fe64-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-levenshtein.Tpo $(DEPDIR)/dsh_fe64-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_fe64-levenshtein.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe64-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-
-dsh_fe64-levenshtein.obj: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe64-levenshtein.obj -MD -MP -MF $(DEPDIR)/dsh_fe64-levenshtein.Tpo -c -o dsh_fe64-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-levenshtein.Tpo $(DEPDIR)/dsh_fe64-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_fe64-levenshtein.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe64-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-
-dsh_fe64-dsh_packer.o: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe64-dsh_packer.o -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_packer.Tpo -c -o dsh_fe64-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_packer.Tpo $(DEPDIR)/dsh_fe64-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_fe64-dsh_packer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe64-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-
-dsh_fe64-dsh_packer.obj: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_fe64-dsh_packer.obj -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_packer.Tpo -c -o dsh_fe64-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_packer.Tpo $(DEPDIR)/dsh_fe64-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_fe64-dsh_packer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_fe64-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-
-dsh_tests-dsh_tests.o: dsh_tests.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests-dsh_tests.o -MD -MP -MF $(DEPDIR)/dsh_tests-dsh_tests.Tpo -c -o dsh_tests-dsh_tests.o `test -f 'dsh_tests.cpp' || echo '$(srcdir)/'`dsh_tests.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests-dsh_tests.Tpo $(DEPDIR)/dsh_tests-dsh_tests.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_tests.cpp' object='dsh_tests-dsh_tests.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests-dsh_tests.o `test -f 'dsh_tests.cpp' || echo '$(srcdir)/'`dsh_tests.cpp
-
-dsh_tests-dsh_tests.obj: dsh_tests.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests-dsh_tests.obj -MD -MP -MF $(DEPDIR)/dsh_tests-dsh_tests.Tpo -c -o dsh_tests-dsh_tests.obj `if test -f 'dsh_tests.cpp'; then $(CYGPATH_W) 'dsh_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_tests.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests-dsh_tests.Tpo $(DEPDIR)/dsh_tests-dsh_tests.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_tests.cpp' object='dsh_tests-dsh_tests.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests-dsh_tests.obj `if test -f 'dsh_tests.cpp'; then $(CYGPATH_W) 'dsh_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_tests.cpp'; fi`
-
-dsh_tests-levenshtein.o: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests-levenshtein.o -MD -MP -MF $(DEPDIR)/dsh_tests-levenshtein.Tpo -c -o dsh_tests-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests-levenshtein.Tpo $(DEPDIR)/dsh_tests-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_tests-levenshtein.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-
-dsh_tests-levenshtein.obj: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests-levenshtein.obj -MD -MP -MF $(DEPDIR)/dsh_tests-levenshtein.Tpo -c -o dsh_tests-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests-levenshtein.Tpo $(DEPDIR)/dsh_tests-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_tests-levenshtein.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-
-dsh_tests-dsh_packer.o: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests-dsh_packer.o -MD -MP -MF $(DEPDIR)/dsh_tests-dsh_packer.Tpo -c -o dsh_tests-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests-dsh_packer.Tpo $(DEPDIR)/dsh_tests-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_tests-dsh_packer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-
-dsh_tests-dsh_packer.obj: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests-dsh_packer.obj -MD -MP -MF $(DEPDIR)/dsh_tests-dsh_packer.Tpo -c -o dsh_tests-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests-dsh_packer.Tpo $(DEPDIR)/dsh_tests-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_tests-dsh_packer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-
-dsh_tests64-dsh_tests.o: dsh_tests.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests64-dsh_tests.o -MD -MP -MF $(DEPDIR)/dsh_tests64-dsh_tests.Tpo -c -o dsh_tests64-dsh_tests.o `test -f 'dsh_tests.cpp' || echo '$(srcdir)/'`dsh_tests.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests64-dsh_tests.Tpo $(DEPDIR)/dsh_tests64-dsh_tests.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_tests.cpp' object='dsh_tests64-dsh_tests.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests64-dsh_tests.o `test -f 'dsh_tests.cpp' || echo '$(srcdir)/'`dsh_tests.cpp
-
-dsh_tests64-dsh_tests.obj: dsh_tests.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests64-dsh_tests.obj -MD -MP -MF $(DEPDIR)/dsh_tests64-dsh_tests.Tpo -c -o dsh_tests64-dsh_tests.obj `if test -f 'dsh_tests.cpp'; then $(CYGPATH_W) 'dsh_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_tests.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests64-dsh_tests.Tpo $(DEPDIR)/dsh_tests64-dsh_tests.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_tests.cpp' object='dsh_tests64-dsh_tests.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests64-dsh_tests.obj `if test -f 'dsh_tests.cpp'; then $(CYGPATH_W) 'dsh_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_tests.cpp'; fi`
-
-dsh_tests64-levenshtein.o: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests64-levenshtein.o -MD -MP -MF $(DEPDIR)/dsh_tests64-levenshtein.Tpo -c -o dsh_tests64-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests64-levenshtein.Tpo $(DEPDIR)/dsh_tests64-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_tests64-levenshtein.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests64-levenshtein.o `test -f 'levenshtein.cpp' || echo '$(srcdir)/'`levenshtein.cpp
-
-dsh_tests64-levenshtein.obj: levenshtein.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests64-levenshtein.obj -MD -MP -MF $(DEPDIR)/dsh_tests64-levenshtein.Tpo -c -o dsh_tests64-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests64-levenshtein.Tpo $(DEPDIR)/dsh_tests64-levenshtein.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='levenshtein.cpp' object='dsh_tests64-levenshtein.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests64-levenshtein.obj `if test -f 'levenshtein.cpp'; then $(CYGPATH_W) 'levenshtein.cpp'; else $(CYGPATH_W) '$(srcdir)/levenshtein.cpp'; fi`
-
-dsh_tests64-dsh_packer.o: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests64-dsh_packer.o -MD -MP -MF $(DEPDIR)/dsh_tests64-dsh_packer.Tpo -c -o dsh_tests64-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests64-dsh_packer.Tpo $(DEPDIR)/dsh_tests64-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_tests64-dsh_packer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests64-dsh_packer.o `test -f 'dsh_packer.cpp' || echo '$(srcdir)/'`dsh_packer.cpp
-
-dsh_tests64-dsh_packer.obj: dsh_packer.cpp
-@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dsh_tests64-dsh_packer.obj -MD -MP -MF $(DEPDIR)/dsh_tests64-dsh_packer.Tpo -c -o dsh_tests64-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dsh_tests64-dsh_packer.Tpo $(DEPDIR)/dsh_tests64-dsh_packer.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dsh_packer.cpp' object='dsh_tests64-dsh_packer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_tests64_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dsh_tests64-dsh_packer.obj `if test -f 'dsh_packer.cpp'; then $(CYGPATH_W) 'dsh_packer.cpp'; else $(CYGPATH_W) '$(srcdir)/dsh_packer.cpp'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool \
- clean-pkglibLTLIBRARIES mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS install-pkglibLTLIBRARIES
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-pkglibLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-binPROGRAMS \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-pkglibLTLIBRARIES install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-binPROGRAMS uninstall-pkglibLTLIBRARIES
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/buildit b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/buildit
deleted file mode 100755
index d92b14d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/buildit
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh -x
-
-OS_TYPE=$(uname)
-if [[ ${OS_TYPE} = "AIX" ]]
-then
- make -f Makefile.aix clean
- make -f Makefile.aix all
-else
- CURR_CHIP=$(arch)
- if [[ ${CURR_CHIP} == 'ppc64' ]]
- then
- make clean
- make all
- else
- if [[ ${CURR_CHIP} == 'i386' || ${CURR_CHIP} == 'i686' ]]
- then
- make clean_32
- make all_32
- else
- if [[ ${CURR_CHIP} == 'x86_64' ]]
- then
- make all
- fi
- fi
- fi
-fi
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_aggregator.hpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_aggregator.hpp
deleted file mode 100644
index a3bbbd8..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_aggregator.hpp
+++ /dev/null
@@ -1,227 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: DshAggregator
-
- Description: Aggregation functions.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#ifndef _DSHAGGREGATOR_HPP
-#define _DSHAGGREGATOR_HPP
-
-#include <stdio.h>
-#include <assert.h>
-
-#include "dsh_header.hpp"
-#include "levenshtein.hpp"
-
-#include <string>
-#include <vector>
-#include <algorithm>
-
-using namespace std;
-
-class DshAggregator
-{
- private:
- vector<DshMessage*> messages;
-
- public:
- void addMsg(DshMessage *msg) {
- assert(msg);
-
- messages.push_back(msg);
- }
-
- void deleteAll() {
- messages.clear();
- }
-
- void freeMemory(bool incStr = false) {
- for (int i=0; i<messages.size(); i++) {
- if (messages[i]) {
- messages[i]->freeMemory(incStr);
- }
- }
- deleteAll();
- }
-
- DshMessage * getAggregatedMsg() {
- if (messages.size() == 0)
- return NULL;
-
- DshMessage *msg = new DshMessage(messages[0]->getSeqNo());
- for (int i=0; i<messages.size(); i++) {
- aggregateMsg(msg, messages[i]);
- }
-
- calcMsgState(msg);
-
- return msg;
- }
-
- int numOfBEs() {
- int num = 0;
- for (int i=0; i<messages.size(); i++) {
- num += messages[i]->getMaxLineSize();
- }
- return num;
- }
-
- private:
- void aggregateMsg(DshMessage *base_msg, DshMessage *new_msg) {
- assert((base_msg!=NULL) && (new_msg!=NULL));
- assert(base_msg->getSeqNo() == new_msg->getSeqNo());
-
- int newly = 0, base = 0;
- while ((base < base_msg->getSize()) && (newly < new_msg->getSize())) {
- DshLine *base_line = base_msg->getLine(base);
- DshLine *new_line = new_msg->getLine(newly);
-
- if (base_line->getLineNo() < new_line->getLineNo()) {
- base++;
- continue;
- }
-
- if (base_line->getLineNo() > new_line->getLineNo()) {
- base_msg->addLine(new_line);
- base++;
- } else {
- int pos = base;
- bool exists = false;
- while (base_msg->getLine(pos)->getLineNo() == base_line->getLineNo()) {
- if (isEqual(base_msg->getLine(pos)->getLine(), new_line->getLine())) {
- for (int i=0; i<new_line->getSize(); i++) {
- base_msg->getLine(pos)->addBE(new_line->getBE(i));
- }
- exists = true;
- break;
- }
- pos++;
- if (pos >= base_msg->getSize())
- break;
- }
- if (!exists) {
- base_msg->addLine(new_line);
- if ((*new_line) < (*base_line)) {
- base++;
- }
- }
- }
- newly++;
- }
-
- for (int i=newly; i<new_msg->getSize(); i++) {
- base_msg->addLine(new_msg->getLine(i));
- }
- }
-
- void calcMsgState(DshMessage *msg) {
- int start = 0, base_pos, num_equal;
-
- while (start < msg->getSize()) {
- base_pos = findBasePos(msg, start, &num_equal);
-
- bool hasSimilar = false;
- bool hasDiff = false;
- for (int i=start; i<start+num_equal; i++) {
- if (i == base_pos)
- continue;
-
- int state = compare(msg->getLine(base_pos)->getLine(), msg->getLine(i)->getLine());
- if (state == EQUAL_STATE) {
- printf("\n");
- msg->print();
- assert(!"Should not be equal state");
- } else if (state == SIMILAR_STATE) {
- hasSimilar = true;
- msg->getLine(i)->setState(SIMILAR_STATE);
- } else {
- hasDiff = true;
- msg->getLine(i)->setState(DIFFERENT_STATE);
- }
- }
- if (hasSimilar && (base_pos == start)) {
- if (msg->getLine(base_pos)->getSize() == 1)
- msg->getLine(base_pos)->setState(SIMILAR_STATE);
- } else if (hasDiff && (base_pos == start)) {
- if (msg->getLine(base_pos)->getSize() == 1)
- msg->getLine(base_pos)->setState(DIFFERENT_STATE);
- }
-
- start += num_equal;
- }
- }
-
- int findBasePos(DshMessage *msg, int start, int *num_equal) {
- assert(msg);
- assert(start < msg->getSize());
-
- int pos = start, maxPos = start;
- int maxBEs = 0;
- *num_equal = 0;
- while (msg->getLine(pos)->getLineNo() == msg->getLine(start)->getLineNo()) {
- if (maxBEs < msg->getLine(pos)->getSize()) {
- maxBEs = msg->getLine(pos)->getSize();
- maxPos = pos;
- }
- *num_equal = *num_equal + 1;
- pos++;
- if (pos >= msg->getSize())
- break;
- }
-
- return maxPos;
- }
-
- int compare(char *str1, char *str2) {
- assert(str1 && str2);
-
- string string1(str1);
- string string2(str2);
-
- int cost = Levenshtein::Distance(string1, string2);
- if (cost == 0)
- return EQUAL_STATE;
- else if (cost * 5 < max(string1.length(), string2.length()))
- return SIMILAR_STATE;
- else
- return DIFFERENT_STATE;
- }
-
- int isEqual(char *str1, char *str2) {
- assert(str1 && str2);
-
- string string1(str1);
- string string2(str2);
-
- if (string1 == string2)
- return 1;
- else {
- if (compare(str1, str2) == EQUAL_STATE)
- return 1;
- else
- return 0;
- }
- }
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_be.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_be.cpp
deleted file mode 100644
index 4d90a07..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_be.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Back End.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <unistd.h>
-#include "sci.h"
-
-#include "dsh_header.hpp"
-
-#define DSH_FILTER 1
-#define RST_SIZE 4096
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int seq_no = ((int *) buffer)[0];
- char *cmd = (char *)((char *) buffer + sizeof(int));
-
- int my_id;
- int rc = SCI_Query(BACKEND_ID, &my_id);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- char result[RST_SIZE] = {0};
- FILE *fp = popen((const char *)cmd, "r");
- memset(result, 0, RST_SIZE);
- int bytes = fread(result, sizeof(char), RST_SIZE, fp);
- pclose(fp);
-
- DshMessage msg;
- msg.readFromString(result, my_id);
- msg.setSeqNo(seq_no);
-
- int sizes[1];
- void *bufs[1];
- bufs[0] = msg.pack(&sizes[0]);
-
- rc = SCI_Upload(DSH_FILTER, group, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- for (int i=0; i<msg.getSize(); i++)
- delete msg.getLine(i)->getLine();
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- int rc;
-
- bzero(&info, sizeof(info));
- info.type = SCI_BACK_END;
- info.be_info.hndlr = (SCI_msg_hndlr *)&handler;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Terminate();
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_fe.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_fe.cpp
deleted file mode 100644
index 4ff6c2a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_fe.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Front End.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <unistd.h>
-#include "sci.h"
-
-#include "dsh_header.hpp"
-
-#define DSH_FILTER 1
-
-bool finished;
-bool expand;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- DshMessage msg;
- msg.unpack(buffer);
-
- msg.print(expand);
-
- finished = true;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, seq, sizes[2];
- void *bufs[2];
-
- char pwd[256];
- char hfile[256], bpath[256], apath[256], fpath[256];
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
-#ifdef __64BIT__
- sprintf(fpath, "%s/dsh_filter64.so", pwd);
-#else
- sprintf(fpath, "%s/dsh_filter.so", pwd);
-#endif
- bzero(&filter_info, sizeof(filter_info));
- filter_info.filter_id = DSH_FILTER;
- filter_info.so_file = fpath;
- rc = SCI_Filter_load(&filter_info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- expand = false;
-
- seq = 0;
- while (1) {
- printf("(all) ");
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (strcmp(msg, "quit") == 0)
- break;
- else if (strcmp(msg, "expand") == 0) {
- expand = !expand;
- if (expand)
- printf("Expand the output.\n");
- else
- printf("Do not expand the output.\n");
- continue;
- }
-
- finished = false;
-
- bufs[0] = &seq;
- sizes[0] = sizeof(seq);
- bufs[1] = msg;
- sizes[1] = strlen(msg) + 1;
- rc = SCI_Bcast(SCI_FILTER_NULL, SCI_GROUP_ALL, 2, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- seq++;
-
- while (!finished) {
- usleep(500);
- }
- }
-
- rc = SCI_Terminate();
-
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_filter.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_filter.cpp
deleted file mode 100644
index 0034aa0..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_filter.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Filter.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#include "sci.h"
-#include "dsh_header.hpp"
-#include "dsh_aggregator.hpp"
-
-#include <string.h>
-#include <vector>
-#include <map>
-
-using namespace std;
-
-// typedefs
-typedef map<int, DshAggregator *> DSHAGGRAGATOR_MAP;
-typedef vector<void *> MEM_VEC;
-typedef map<int, MEM_VEC> MEM_VEC_MAP;
-
-// global structures
-DSHAGGRAGATOR_MAP gDshAggregatorMap;
-MEM_VEC_MAP gMemoryMap;
-
-extern "C" {
-
-int filter_initialize(void **user_param);
-int filter_terminate(void *user_param);
-int filter_input(void *user_param, sci_group_t group, void *buf, int size);
-
-} /* extern "C" */
-
-bool isDataAvailable(int seq_no);
-void removeData(int seq_no);
-int outputData(sci_group_t group, DshMessage *msg);
-
-int filter_initialize(void **user_param)
-{
- gDshAggregatorMap.clear();
- gMemoryMap.clear();
-
- return SCI_SUCCESS;
-}
-
-int filter_terminate(void *user_param)
-{
- for (int i=0; i<gDshAggregatorMap.size(); i++) {
- gDshAggregatorMap[i]->freeMemory();
- }
- gDshAggregatorMap.clear();
- gMemoryMap.clear();
-
- return SCI_SUCCESS;
-}
-
-int filter_input(void *user_param, sci_group_t group, void *buf, int size)
-{
- int rc = SCI_SUCCESS;
-
- DshMessage *msg = new DshMessage();
- assert(msg);
-
- void *new_buf = malloc(size);
- memcpy(new_buf, buf, size);
- gMemoryMap[msg->getSeqNo()].push_back(new_buf);
-
- msg->unpack(new_buf);
- if (gDshAggregatorMap.find(msg->getSeqNo()) == gDshAggregatorMap.end()) {
- gDshAggregatorMap[msg->getSeqNo()] = new DshAggregator();
- }
- gDshAggregatorMap[msg->getSeqNo()]->addMsg(msg);
-
- if (isDataAvailable(msg->getSeqNo())) {
- DshMessage *new_msg = gDshAggregatorMap[msg->getSeqNo()]->getAggregatedMsg();
- rc = outputData(group, new_msg);
- removeData(msg->getSeqNo());
- delete new_msg;
- }
-
- return rc;
-}
-
-// functions
-bool isDataAvailable(int seq_no)
-{
- assert(gDshAggregatorMap.find(seq_no) != gDshAggregatorMap.end());
-
- int rc, ret_val;
- rc = SCI_Group_query(SCI_GROUP_ALL, GROUP_MEMBER_NUM, &ret_val);
- if (rc != SCI_SUCCESS) {
- assert(!"SCI_Query_info_ext did not work!");
- }
-
- if (ret_val <= gDshAggregatorMap[seq_no]->numOfBEs())
- return true;
-
- return false;
-}
-
-void removeData(int seq_no)
-{
- assert(gDshAggregatorMap.find(seq_no) != gDshAggregatorMap.end());
-
- gDshAggregatorMap[seq_no]->freeMemory();
- delete gDshAggregatorMap[seq_no];
- gDshAggregatorMap.erase(seq_no);
-
- for (int i=0; i<gMemoryMap[seq_no].size(); i++) {
- free(gMemoryMap[seq_no][i]);
- }
- gMemoryMap.erase(seq_no);
-}
-
-int outputData(sci_group_t group, DshMessage *msg)
-{
- assert(msg);
-
- void *bufs[1];
- int rc, sizes[1];
-
- bufs[0] = msg->pack(&sizes[0]);
- rc = SCI_Filter_upload(SCI_FILTER_NULL, group, 1, bufs, sizes);
-
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_header.hpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_header.hpp
deleted file mode 100644
index a9a6b14..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_header.hpp
+++ /dev/null
@@ -1,440 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: DshLine, DshMessage
-
- Description: Common definitions.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#ifndef _DSHHEADER_HPP
-#define _DSHHEADER_HPP
-
-#include <stdio.h>
-#include <assert.h>
-#include <string.h>
-
-#include "dsh_packer.hpp"
-
-#include <vector>
-#include <algorithm>
-
-using namespace std;
-
-const int EQUAL_STATE = 0;
-const int SIMILAR_STATE = 1;
-const int DIFFERENT_STATE = 2;
-
-const char *EQUAL_COLOR = "\x1b[1;32m"; // green
-const char *SIMILAR_COLOR = "\x1b[2;32m"; // dark green
-const char *DIFFERENT_COLOR = "\x1b[1;31m"; // red
-const char *END_COLOR = "\x1b[00m"; // end sign
-
-class DshLine
-{
- private:
- vector<int> be_ids;
- int state;
- int min_id;
- int max_id;
- int line_no;
- char *line;
-
- public:
- DshLine(int st = EQUAL_STATE) {
- be_ids.clear();
- line_no = 0;
- line = NULL;
- state = st;
- min_id = max_id = 0;
- }
-
- void addBE(int be_id) {
- if (find(be_ids.begin(), be_ids.end(), be_id) == be_ids.end()) {
- be_ids.push_back(be_id);
- sort(be_ids.begin(), be_ids.end());
- if (be_id > max_id)
- max_id = be_id;
- else if (be_id < min_id)
- min_id = be_id;
- }
- }
-
- void deleteAll() {
- be_ids.clear();
- }
-
- void print() {
- int first, last;
-
- if (state == EQUAL_STATE)
- printf("%s", EQUAL_COLOR);
- else if (state == SIMILAR_STATE)
- printf("%s", SIMILAR_COLOR);
- else if (state == DIFFERENT_STATE)
- printf("%s", DIFFERENT_COLOR);
- else
- assert(!"Undefined message state");
-
- first = last = 0;
- for (int i=0; i<be_ids.size(); i++) {
- if (be_ids[i] == be_ids[first] + (i - first)) {
- last = i;
- } else {
- if (first == last)
- printf("%d ", be_ids[first]);
- else
- printf("%d:%d ", be_ids[first], be_ids[last]);
- first = last = i;
- }
- }
- if (first == last)
- printf("%d ", be_ids[first]);
- else
- printf("%d:%d ", be_ids[first], be_ids[last]);
- printf("| %s%s\n", line, END_COLOR);
- }
-
- void print(int be_id) {
- if (find(be_ids.begin(), be_ids.end(), be_id) == be_ids.end())
- return;
-
- if (state == EQUAL_STATE)
- printf("%s", EQUAL_COLOR);
- else if (state == SIMILAR_STATE)
- printf("%s", SIMILAR_COLOR);
- else if (state == DIFFERENT_STATE)
- printf("%s", DIFFERENT_COLOR);
- else
- assert(!"Undefined message state");
-
- printf("%d | %s%s\n", be_id, line, END_COLOR);
- }
-
- void setState(int st) {
- state = st;
- }
-
- int getState() {
- return state;
- }
-
- void setLineNo(int no) {
- line_no = no;
- }
-
- int getLineNo() {
- return line_no;
- }
-
- void setLine(char *str) {
- line = str;
- }
-
- char * getLine() {
- return line;
- }
-
- int getBE(int index) {
- assert(index>=0 || index<getSize());
-
- return be_ids[index];
- }
-
- int getSize() {
- return be_ids.size();
- }
-
- int getMinBEId() {
- return min_id;
- }
-
- int getMaxBEId() {
- return max_id;
- }
-
- bool operator > (DshLine &dl) {
- assert((be_ids.size()>0) && (dl.be_ids.size()>0));
-
- if (line_no > dl.line_no)
- return true;
-
- if (line_no < dl.line_no)
- return false;
-
- if (be_ids[be_ids.size()-1] <= dl.be_ids[dl.be_ids.size()-1])
- return false;
-
- return true;
- }
-
- bool operator < (DshLine &dl) {
- assert((be_ids.size()>0) && (dl.be_ids.size()>0));
-
- if (line_no < dl.line_no)
- return true;
-
- if (line_no > dl.line_no)
- return false;
-
- if (be_ids[0] >= dl.be_ids[0])
- return false;
-
- return true;
- }
-
- bool operator == (DshLine &dl) {
- assert((be_ids.size()>0) && (dl.be_ids.size()>0));
-
- if (line_no != dl.line_no)
- return false;
-
- if (be_ids.size() != dl.be_ids.size())
- return false;
-
- for (int i=0; i<be_ids.size(); i++) {
- if (be_ids[i] != dl.be_ids[i])
- return false;
- }
-
- return true;
- }
-};
-
-class DshMessage
-{
- private:
- int seq_no;
- vector<DshLine*> lines;
- int max_id;
- int min_id;
-
- public:
- DshMessage(int seq = 0) {
- seq_no = seq;
- lines.clear();
- max_id = min_id = 0;
- }
-
- DshMessage & readFromString(const char *str, int be_id = 0) {
- char *from = (char *) str, *to = NULL;
-
- lines.clear();
- int line_no = 0;
- while (1) {
- to = strstr(from, "\n");
- if (to == NULL) {
- if (strlen(from) > 0) {
- int len = strlen(from);
- char *text = new char[len + 1];
- strncpy(text, from, len);
- text[len] = '\0';
- chomp(text);
-
- DshLine *line = new DshLine();
- line->setLineNo(line_no++);
- line->setLine(text);
- line->addBE(be_id);
- lines.push_back(line);
- }
- break;
- } else {
- int len = strlen(from) - strlen(to);
- char *text = new char[len + 1];
- strncpy(text, from, len);
- text[len] = '\0';
- chomp(text);
-
- DshLine *line = new DshLine();
- line->setLineNo(line_no++);
- line->setLine(text);
- line->addBE(be_id);
- lines.push_back(line);
- }
- from = to + 1;
- }
-
- max_id = min_id = be_id;
-
- return *this;
- }
-
- void addLine(DshLine *line) {
- assert(line);
-
- if (line->getMaxBEId() > max_id)
- max_id = line->getMaxBEId();
- else if (line->getMinBEId() < min_id)
- min_id = line->getMinBEId();
-
- vector<DshLine*>::iterator it = lines.begin();
- for (; it!=lines.end(); ++it) {
- DshLine *tmp = (*it);
- if ((*line) < (*tmp)) {
- lines.insert(it, line);
- return;
- }
- }
-
- lines.push_back(line);
- }
-
- void freeMemory(bool incStr = false) {
- for (int i=0; i<lines.size(); i++) {
- if (lines[i]) {
- if (incStr)
- delete [] lines[i]->getLine();
- delete lines[i];
- }
- }
- deleteAll();
- }
-
- void deleteAll() {
- lines.clear();
- }
-
- DshLine * getLine(int index) {
- assert(index>=0 && index<lines.size());
- if (lines.size() == 0)
- return NULL;
-
- return lines[index];
- }
-
- void print(bool expand = false) {
- if (!expand) {
- for (int i=0; i<lines.size(); i++) {
- lines[i]->print();
- }
- } else {
- for (int i=min_id; i<=max_id; i++) {
- for (int j=0; j<lines.size(); j++) {
- lines[j]->print(i);
- }
- }
- }
- }
-
- void setSeqNo(int seq) {
- seq_no = seq;
- }
-
- int getSeqNo() {
- return seq_no;
- }
-
- void setLineState(int index, int state) {
- assert(index>=0 || index<lines.size());
- assert((state==EQUAL_STATE) || (state==SIMILAR_STATE) || (state==DIFFERENT_STATE));
-
- lines[index]->setState(state);
- }
-
- int getLineState(int index) {
- assert(index>=0 || index<lines.size());
-
- return lines[index]->getState();
- }
-
- int getLineNo(int index) {
- assert(index>=0 || index<lines.size());
-
- return lines[index]->getLineNo();
- }
-
- int getSize() {
- return lines.size();
- }
-
- int getMaxLineSize() {
- int size = 1;
- for (int i=0; i<lines.size(); i++) {
- if (lines[i]->getSize() > size)
- size = lines[i]->getSize();
- }
-
- return size;
- }
-
- int getMaxBEId() {
- return max_id;
- }
-
- int getMinBEId() {
- return min_id;
- }
-
- void * pack(int *size = NULL) {
- DshPacker packer;
- int line_size;
-
- packer.packInt(seq_no);
- packer.packInt(lines.size());
- for (int i=0; i<lines.size(); i++) {
- packer.packInt(lines[i]->getSize());
- for (int j=0; j<lines[i]->getSize(); j++)
- packer.packInt(lines[i]->getBE(j));
- packer.packInt(lines[i]->getState());
- packer.packInt(lines[i]->getLineNo());
- packer.packStr(lines[i]->getLine());
- }
-
- if (size)
- *size = packer.getPackedMsgLen();
- return packer.getPackedMsg();
- }
-
- DshMessage & unpack(void *buf) {
- DshPacker packer;
- packer.setPackedMsg((char *)buf);
-
- seq_no = packer.unpackInt();
- int num_lines = packer.unpackInt();
- for (int i=0; i<num_lines; i++) {
- DshLine *li = new DshLine();
-
- int num_bes = packer.unpackInt();
- for (int j=0; j<num_bes; j++)
- li->addBE(packer.unpackInt());
- li->setState(packer.unpackInt());
- li->setLineNo(packer.unpackInt());
- li->setLine(packer.unpackStr());
-
- addLine(li);
- }
-
- return *this;
- }
-
- private:
- void chomp(char* str) {
- int end = strlen(str);
- while (end >= 0) {
- if ((str[end]==' ') || (str[end]=='\t'))
- str[end] = '\0';
- else
- break;
- end--;
- }
- }
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_packer.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_packer.cpp
deleted file mode 100644
index 4d4a7bf..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_packer.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: DshPacker
-
- Description: Wrapper for various kind of information.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#include "dsh_packer.hpp"
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <string.h>
-
-DshPacker::DshPacker()
-{
- msgBuf = (char *)malloc(1);
- msgPtr = msgBuf;
- msgLen = 0;
-}
-
-char* DshPacker::getPackedMsg()
-{
- return msgBuf;
-}
-
-int DshPacker::getPackedMsgLen()
-{
- return msgLen;
-}
-
-void DshPacker::packInt(int value)
-{
- int size = htonl(value);
-
- int oldLen = msgLen;
- msgLen += sizeof(size);
- msgBuf = (char *)realloc(msgBuf, msgLen);
- msgPtr = msgBuf + oldLen;
-
- memcpy(msgPtr, &size, sizeof(size));
- msgPtr += sizeof(size);
-}
-
-void DshPacker::packStr(char *value)
-{
- int len = strlen(value) + 1;
- packInt(len);
-
- int oldLen = msgLen;
- msgLen += len;
- msgBuf = (char *)realloc(msgBuf, msgLen);
- msgPtr = msgBuf + oldLen;
-
- memcpy(msgPtr, value, len);
- msgPtr += len;
-}
-
-void DshPacker::setPackedMsg(char * msg)
-{
- msgBuf = msg;
- msgPtr = msgBuf;
-}
-
-int DshPacker::unpackInt()
-{
- int size, value;
- memcpy(&size, msgPtr, sizeof(size));
-
- value = ntohl(size);
- msgPtr += sizeof(size);
-
- return value;
-}
-
-char* DshPacker::unpackStr()
-{
- int len;
- char *value;
-
- len = unpackInt();
- value = msgPtr;
- msgPtr += len;
-
- return value;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_packer.hpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_packer.hpp
deleted file mode 100644
index 2ffe930..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_packer.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: DshPacker
-
- Description: Wrapper for various kind of information.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#ifndef _DSHPACKER_HPP
-#define _DSHPACKER_HPP
-
-#include <vector>
-#include <map>
-#include <string>
-
-using namespace std;
-
-class DshPacker {
- private:
- char *msgBuf;
- char *msgPtr;
- int msgLen;
-
- public:
- DshPacker();
-
- // for message packing usage
- void packInt(int value);
- void packStr(char *value);
- char* getPackedMsg();
- int getPackedMsgLen();
-
- // for message unpacking usage
- void setPackedMsg(char *msg);
- int unpackInt();
- char *unpackStr();
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_tests.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_tests.cpp
deleted file mode 100644
index 4cc4ca5..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/dsh_tests.cpp
+++ /dev/null
@@ -1,357 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Unit tests.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#include <string.h>
-
-#include "levenshtein.hpp"
-#include "dsh_header.hpp"
-#include "dsh_aggregator.hpp"
-
-#include <string>
-
-using namespace std;
-
-void Levenshtein_Test()
-{
- string str1 = "This is a test";
- string str2 = "This is a test";
-
- int cost = Levenshtein::Distance(str1, str2);
- printf("Distance of [%s] and [%s] is %d\n", str1.c_str(), str2.c_str(), cost);
- if (cost == 0)
- printf("Passed\n");
- else
- printf("Failed\n");
-
- str1 = "This is a test";
- str2 = "This is a test!";
- cost = Levenshtein::Distance(str1, str2);
- printf("Distance of [%s] and [%s] is %d\n", str1.c_str(), str2.c_str(), cost);
- if (cost == 1)
- printf("Passed\n");
- else
- printf("Failed\n");
-
- str1 = "-rwxr-xr-x 1 nicole nicole 1060380 2008-10-29 13:21 dsh_be";
- str2 = "-rwxr-xr-x 1 nicole nicole 1234567 2008-10-29 13:21 dsh_be";
- cost = Levenshtein::Distance(str1, str2);
- printf("Distance of [%s] and [%s] is %d\n", str1.c_str(), str2.c_str(), cost);
- if (cost == 6)
- printf("Passed\n");
- else
- printf("Failed\n");
-}
-
-void DshLine_Test()
-{
- DshLine line;
- char *str = new char[256];
- strcpy(str, "This is a test");
- line.setLine(str);
-
- line.addBE(0);
- line.print();
-
- line.addBE(1);
- line.print();
-
- for (int i=3; i<10; i++)
- line.addBE(i);
- line.print();
-
- for (int i=5; i<20; i++)
- line.addBE(i);
- line.print();
-
- line.addBE(30);
- line.addBE(50);
- line.addBE(70);
- line.addBE(90);
- line.print();
-
- delete [] str;
-}
-
-void DshLine_Test_Ext()
-{
- DshLine line1, line2;
-
- line1.addBE(0);
- line2.addBE(0);
- if (line1 == line2)
- printf("[%d] 0 = [%d] 0\n", line1.getLineNo(), line2.getLineNo());
- else
- printf("Failed\n");
-
- line1.addBE(1);
- if (line1 > line2)
- printf("[%d] 0:1 > [%d] 0\n", line1.getLineNo(), line2.getLineNo());
- else
- printf("Failed\n");
-
- line2.setLineNo(line1.getLineNo() + 1);
- if (line1 < line2)
- printf("[%d] 0:1 < [%d] 0\n", line1.getLineNo(), line2.getLineNo());
- else
- printf("Failed\n");
-}
-
-void DshMessage_Test()
-{
- DshMessage msg;
-
- for (int i=0; i<50; i++) {
- DshLine *line = new DshLine();
- if (i%2 == 0)
- line->setLine("Mary is a women");
- else
- line->setLine("Robert is a man");
-
- for (int j=i; j<i+5; j++)
- line->addBE(j);
-
- if (i%3 == 0)
- line->setState(EQUAL_STATE);
- else if (i%3 == 1)
- line->setState(SIMILAR_STATE);
- else
- line->setState(DIFFERENT_STATE);
-
- msg.addLine(line);
- }
-
- msg.print();
- msg.freeMemory();
-}
-
-void DshMessage_Test_Ext()
-{
- DshMessage msg;
-
- for (int i=0; i<10; i++) {
- DshLine *line = new DshLine();
- line->addBE(i);
- if (i%2 == 0)
- line->setLine("I am Nicole Nie");
- else
- line->setLine("My wife is Awa Wang");
- msg.addLine(line);
- }
- msg.print();
- msg.freeMemory();
-
- for (int i=10; i>0; i--) {
- DshLine *line = new DshLine();
- line->addBE(0);
- line->setLineNo(i);
- if (i%2 == 0)
- line->setLine("Nicole loves Awa");
- else
- line->setLine("Awa loves Nicole");
- msg.addLine(line);
- }
- msg.print();
- msg.freeMemory();
-}
-
-void DshMessage_Test_Pack()
-{
- DshMessage msg1, msg2;
-
- for (int i=0; i<10; i++) {
- DshLine *line = new DshLine();
- line->addBE(i);
- if (i%2 == 0)
- line->setLine("I am Nicole Nie");
- else
- line->setLine("My wife is Awa Wang");
- msg1.addLine(line);
- }
-
- printf("\n");
- msg1.print();
-
- msg2.unpack(msg1.pack());
- printf("\n");
- msg2.print();
-
- msg1.freeMemory();
-}
-
-void DshMessage_Test_ReadStr()
-{
- DshMessage msg;
-
- msg.readFromString("This is a test 1\nThis is a test 2\nThis is a test 3\nThis is a test 4\nThis is a test 5\n");
-
- msg.print();
- for (int i=0; i<msg.getSize(); i++)
- delete msg.getLine(i)->getLine();
-}
-
-void DshAggregator_Test()
-{
- DshAggregator aggregator;
- DshMessage *aggregatedMsg = NULL;
-
- const int NUM_MSG = 10;
- const int NUM_LINE = 10;
-
- // test 1
- printf("\n");
- for (int i=0; i<NUM_MSG; i++) {
- DshMessage *msg = new DshMessage();
- for (int j=0; j<NUM_LINE; j++) {
- DshLine *line = new DshLine();
- line->setLineNo(j);
- if (j%2 == 0)
- line->setLine("I am a man");
- else
- line->setLine("I am a women");
- line->addBE(i);
- msg->addLine(line);
- }
- aggregator.addMsg(msg);
- }
-
- aggregatedMsg = aggregator.getAggregatedMsg();
- aggregatedMsg->print();
- delete aggregatedMsg;
-
- aggregator.freeMemory();
-
- // test 2
- printf("\n");
- for (int i=0; i<NUM_MSG; i++) {
- DshMessage *msg = new DshMessage();
- for (int j=0; j<NUM_LINE; j++) {
- DshLine *line = new DshLine();
- line->setLineNo(j);
- if (i == (NUM_MSG - 1))
- line->setLine("I am a man");
- else
- line->setLine("Who are you");
- line->addBE(i);
- msg->addLine(line);
- }
- aggregator.addMsg(msg);
- }
-
- aggregatedMsg = aggregator.getAggregatedMsg();
- aggregatedMsg->print();
- delete aggregatedMsg;
-
- aggregator.freeMemory();
-
- // test 3
- printf("\n");
- for (int i=0; i<NUM_MSG; i++) {
- DshMessage *msg = new DshMessage();
- for (int j=0; j<NUM_LINE; j++) {
- DshLine *line = new DshLine();
- line->setLineNo(j);
- if (i == (NUM_MSG - 1))
- line->setLine("Who are you");
- else if (i == (NUM_MSG - 2))
- line->setLine("I am a women");
- else
- line->setLine("I am a woman");
- line->addBE(i);
- msg->addLine(line);
- }
- aggregator.addMsg(msg);
- }
-
- aggregatedMsg = aggregator.getAggregatedMsg();
- aggregatedMsg->print();
- delete aggregatedMsg;
-
- aggregator.freeMemory();
-}
-
-void DshAggregator_Test_Ext()
-{
- DshAggregator aggregator;
- DshMessage *aggregatedMsg = NULL;
-
- const int NUM_MSG = 10;
- const int NUM_LINE = 10;
-
- // test 1
- printf("\n");
- for (int i=NUM_MSG-1; i>=0; i--) {
- DshMessage *msg = new DshMessage();
- for (int j=0; j<NUM_LINE; j++) {
- DshLine *line = new DshLine();
- line->setLineNo(j);
- if (j%2 == 0)
- line->setLine("I am a man");
- else
- line->setLine("I am a women");
- line->addBE(i);
- msg->addLine(line);
- }
- aggregator.addMsg(msg);
- }
-
- aggregatedMsg = aggregator.getAggregatedMsg();
- aggregatedMsg->print();
- delete aggregatedMsg;
-
- aggregator.freeMemory();
-}
-
-int main(int argc, char **argv)
-{
- // Test Levenshtein class
- Levenshtein_Test();
-
- // Test DshLine class
- DshLine_Test();
-
- // Test DshLine class
- DshLine_Test_Ext();
-
- // Test DshMessage class
- DshMessage_Test();
-
- // Test DshMessage class
- DshMessage_Test_Ext();
-
- // Test DshMessage class
- DshMessage_Test_Pack();
-
- // Test DshMessage class
- DshMessage_Test_ReadStr();
-
- // Test DshAggregator class
- DshAggregator_Test();
-
- // Test DshAggregator class
- DshAggregator_Test_Ext();
-
- return 0;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/levenshtein.cpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/levenshtein.cpp
deleted file mode 100644
index 6235d68..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/levenshtein.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Levenshtein
-
- Description: Levenshtein algorithm.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#include "levenshtein.hpp"
-
-#include <algorithm>
-
-int Levenshtein::Distance(const string &s1, const string &s2)
-{
- int i, j, cost;
- int n = s1.length(), m = s2.length();
- int *matrix = new int[(m + 1) * (n + 1)];
-
- if (m == 0)
- return n;
- if (n == 0)
- return m;
-
- m++;
- n++;
-
- for (i = 0; i < n; i ++)
- matrix[i] = i;
- for (i = 0; i < m; i ++)
- matrix[i * n] = i;
-
- for (i = 1; i < n; i ++) {
- for (j = 1; j < m; j ++) {
- if (s1[i - 1] == s2[j - 1])
- cost = 0;
- else
- cost = 1;
- matrix[j * n + i] = Minimum(matrix[(j-1)*n+i]+1, matrix[j*n+i-1]+1, matrix[(j-1)*n+i-1]+cost);
- }
- }
-
- cost = matrix[n * m - 1];
- delete [] matrix;
-
- return cost;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/levenshtein.hpp b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/levenshtein.hpp
deleted file mode 100644
index 638c118..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter/levenshtein.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: Levenshtein
-
- Description: Levenshtein algorithm.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 10/29/08 nieyy Initial code (D154050)
-
-****************************************************************************/
-
-#ifndef _LEVENSHTEIN_HPP
-#define _LEVENSHTEIN_HPP
-
-#include <string>
-
-using namespace std;
-
-class Levenshtein
-{
- public:
- static int Distance(const string &s1, const string &s2);
-
- private:
- static inline int Minimum(int a, int b, int c)
- {
- return min(min(a, b), c);
- };
-};
-
-#endif
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/.cvsignore b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/.cvsignore
deleted file mode 100644
index 8ded89a..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-.libs
-.deps
-*.lo
-*.la
-dsh_fe
-dsh_be
-Makefile
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/Makefile.aix b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/Makefile.aix
deleted file mode 100644
index 87c0f90..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/Makefile.aix
+++ /dev/null
@@ -1,54 +0,0 @@
-CC = xlC_r
-
-CFLAGS = -+ # treat .c file as c++ source code
-
-OTHER_FLAGS = -ldl -lpthread -lsci_r
-
-all: all_32 all_64
-
-all_32: dsh_fe dsh_be downfilter.so upfilter.so upfiltera.so upfilterb.so
-all_64: dsh_fe64 dsh_be64 downfilter64.so upfilter64.so upfiltera64.so upfilterb64.so
-
-dsh_fe: dsh_fe.c
- $(CC) -g -q32 $(CFLAGS) -o $@ dsh_fe.c $(OTHER_FLAGS)
-
-dsh_be: dsh_be.c
- $(CC) -g -q32 $(CFLAGS) -o $@ dsh_be.c $(OTHER_FLAGS)
-
-downfilter.so: downfilter.c
- $(CC) -g -q32 $(CFLAGS) -qmkshrobj -o $@ downfilter.c $(OTHER_FLAGS)
-
-upfilter.so: upfilter.c
- $(CC) -g -q32 $(CFLAGS) -qmkshrobj -o $@ upfilter.c $(OTHER_FLAGS)
-
-upfiltera.so: upfiltera.c
- $(CC) -g -q32 $(CFLAGS) -qmkshrobj -o $@ upfiltera.c $(OTHER_FLAGS)
-
-upfilterb.so: upfilterb.c
- $(CC) -g -q32 $(CFLAGS) -qmkshrobj -o $@ upfilterb.c $(OTHER_FLAGS)
-
-dsh_fe64: dsh_fe.c
- $(CC) -g -q64 $(CFLAGS) -o $@ dsh_fe.c $(OTHER_FLAGS)
-
-dsh_be64: dsh_be.c
- $(CC) -g -q64 $(CFLAGS) -o $@ dsh_be.c $(OTHER_FLAGS)
-
-downfilter64.so: downfilter.c
- $(CC) -g -q64 $(CFLAGS) -qmkshrobj -o $@ downfilter.c $(OTHER_FLAGS)
-
-upfilter64.so: upfilter.c
- $(CC) -g -q64 $(CFLAGS) -qmkshrobj -o $@ upfilter.c $(OTHER_FLAGS)
-
-upfiltera64.so: upfiltera.c
- $(CC) -g -q64 $(CFLAGS) -qmkshrobj -o $@ upfiltera.c $(OTHER_FLAGS)
-
-upfilterb64.so: upfilterb.c
- $(CC) -g -q64 $(CFLAGS) -qmkshrobj -o $@ upfilterb.c $(OTHER_FLAGS)
-
-clean: clean_32 clean_64
-
-clean_32:
- @rm -f *.o dsh_fe dsh_be downfilter.so upfilter.so upfiltera.so upfilterb.so
-
-clean_64:
- @rm -f *.o dsh_fe64 dsh_be64 downfilter64.so upfilter64.so upfiltera64.so upfilterb64.so
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/Makefile.am b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/Makefile.am
deleted file mode 100644
index b5e3430..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/Makefile.am
+++ /dev/null
@@ -1,94 +0,0 @@
-dsh_fe64_SOURCES = dsh_fe.c
-dsh_be64_SOURCES = dsh_be.c
-downfilter64_la_SOURCES = downfilter.c
-upfilter64_la_SOURCES = upfilter.c
-upfiltera64_la_SOURCES = upfiltera.c
-upfilterb64_la_SOURCES = upfilterb.c
-dsh_fe_SOURCES = dsh_fe.c
-dsh_be_SOURCES = dsh_be.c
-downfilter_la_SOURCES = downfilter.c
-upfilter_la_SOURCES = upfilter.c
-upfiltera_la_SOURCES = upfiltera.c
-upfilterb_la_SOURCES = upfilterb.c
-if SYSTEM_AIX
-if BIT64
-bin_PROGRAMS = dsh_fe64 dsh_be64
-pkglib_LTLIBRARIES = downfilter64.la upfilter64.la upfiltera64.la upfilterb64.la
-dsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_be64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-dsh_be64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-downfilter64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-downfilter64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-upfilter64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-upfilter64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-upfiltera64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-upfiltera64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-upfilterb64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-upfilterb64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-else
-bin_PROGRAMS = dsh_fe dsh_be
-pkglib_LTLIBRARIES = downfilter.la upfilter.la upfiltera.la upfilterb.la
-dsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-dsh_be_CPPFLAGS = -g -O0 -I../../common -I../../include
-dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-downfilter_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-downfilter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-upfilter_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-upfilter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-upfiltera_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-upfiltera_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-upfilterb_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-upfilterb_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-endif
-endif
-if SYSTEM_DARWIN
-bin_PROGRAMS = dsh_fe dsh_be
-pkglib_LTLIBRARIES = downfilter.la upfilter.la upfiltera.la upfilterb.la
-dsh_fe_CPPFLAGS = -I../../common -I../../include
-dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-dsh_be_CPPFLAGS = -I../../common -I../../include
-dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-downfilter_la_CPPFLAGS = -I../../common -I../../include
-downfilter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-upfilter_la_CPPFLAGS = -I../../common -I../../include
-upfilter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-upfiltera_la_CPPFLAGS = -I../../common -I../../include
-upfiltera_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-upfilterb_la_CPPFLAGS = -I../../common -I../../include
-upfilterb_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-endif
-if SYSTEM_LINUX
-if BIT64
-bin_PROGRAMS = dsh_fe64 dsh_be64
-pkglib_LTLIBRARIES = downfilter64.la upfilter64.la upfiltera64.la upfilterb64.la
-dsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_be64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-dsh_be64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-downfilter64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-downfilter64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-upfilter64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-upfilter64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-upfiltera64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-upfiltera64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-upfilterb64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-upfilterb64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-else
-bin_PROGRAMS = dsh_fe dsh_be
-pkglib_LTLIBRARIES = downfilter.la upfilter.la upfiltera.la upfilterb.la
-dsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-dsh_be_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-dsh_be_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-downfilter_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-downfilter_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-upfilter_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-upfilter_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-upfiltera_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-upfiltera_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-upfilterb_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-upfilterb_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-endif
-endif
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/Makefile.in b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/Makefile.in
deleted file mode 100644
index 4cbe10c..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/Makefile.in
+++ /dev/null
@@ -1,910 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_be$(EXEEXT)
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ dsh_be$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@bin_PROGRAMS = dsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_FALSE@@SYSTEM_LINUX_TRUE@ dsh_be64$(EXEEXT)
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@bin_PROGRAMS = dsh_fe64$(EXEEXT) \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ dsh_be64$(EXEEXT)
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@bin_PROGRAMS = dsh_fe$(EXEEXT) \
-@SYSTEM_AIX_FALSE@@SYSTEM_DARWIN_TRUE@@SYSTEM_LINUX_FALSE@ dsh_be$(EXEEXT)
-subdir = usecase/dsh_filter2
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)"
-LTLIBRARIES = $(pkglib_LTLIBRARIES)
-downfilter_la_LIBADD =
-am_downfilter_la_OBJECTS = downfilter_la-downfilter.lo
-downfilter_la_OBJECTS = $(am_downfilter_la_OBJECTS)
-downfilter_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(downfilter_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@am_downfilter_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@am_downfilter_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-@SYSTEM_DARWIN_TRUE@am_downfilter_la_rpath = -rpath $(pkglibdir)
-downfilter64_la_LIBADD =
-am_downfilter64_la_OBJECTS = downfilter64_la-downfilter.lo
-downfilter64_la_OBJECTS = $(am_downfilter64_la_OBJECTS)
-downfilter64_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(downfilter64_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@am_downfilter64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@am_downfilter64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-upfilter_la_LIBADD =
-am_upfilter_la_OBJECTS = upfilter_la-upfilter.lo
-upfilter_la_OBJECTS = $(am_upfilter_la_OBJECTS)
-upfilter_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(upfilter_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@am_upfilter_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@am_upfilter_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-@SYSTEM_DARWIN_TRUE@am_upfilter_la_rpath = -rpath $(pkglibdir)
-upfilter64_la_LIBADD =
-am_upfilter64_la_OBJECTS = upfilter64_la-upfilter.lo
-upfilter64_la_OBJECTS = $(am_upfilter64_la_OBJECTS)
-upfilter64_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(upfilter64_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@am_upfilter64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@am_upfilter64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-upfiltera_la_LIBADD =
-am_upfiltera_la_OBJECTS = upfiltera_la-upfiltera.lo
-upfiltera_la_OBJECTS = $(am_upfiltera_la_OBJECTS)
-upfiltera_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(upfiltera_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@am_upfiltera_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@am_upfiltera_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-@SYSTEM_DARWIN_TRUE@am_upfiltera_la_rpath = -rpath $(pkglibdir)
-upfiltera64_la_LIBADD =
-am_upfiltera64_la_OBJECTS = upfiltera64_la-upfiltera.lo
-upfiltera64_la_OBJECTS = $(am_upfiltera64_la_OBJECTS)
-upfiltera64_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(upfiltera64_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@am_upfiltera64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@am_upfiltera64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-upfilterb_la_LIBADD =
-am_upfilterb_la_OBJECTS = upfilterb_la-upfilterb.lo
-upfilterb_la_OBJECTS = $(am_upfilterb_la_OBJECTS)
-upfilterb_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(upfilterb_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@am_upfilterb_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@am_upfilterb_la_rpath = -rpath \
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-@SYSTEM_DARWIN_TRUE@am_upfilterb_la_rpath = -rpath $(pkglibdir)
-upfilterb64_la_LIBADD =
-am_upfilterb64_la_OBJECTS = upfilterb64_la-upfilterb.lo
-upfilterb64_la_OBJECTS = $(am_upfilterb64_la_OBJECTS)
-upfilterb64_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(upfilterb64_la_LDFLAGS) $(LDFLAGS) -o $@
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@am_upfilterb64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@ $(pkglibdir)
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@am_upfilterb64_la_rpath = -rpath \
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@ $(pkglibdir)
-PROGRAMS = $(bin_PROGRAMS)
-am_dsh_be_OBJECTS = dsh_be-dsh_be.$(OBJEXT)
-dsh_be_OBJECTS = $(am_dsh_be_OBJECTS)
-dsh_be_LDADD = $(LDADD)
-dsh_be_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_be_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_dsh_be64_OBJECTS = dsh_be64-dsh_be.$(OBJEXT)
-dsh_be64_OBJECTS = $(am_dsh_be64_OBJECTS)
-dsh_be64_LDADD = $(LDADD)
-dsh_be64_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_be64_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_dsh_fe_OBJECTS = dsh_fe-dsh_fe.$(OBJEXT)
-dsh_fe_OBJECTS = $(am_dsh_fe_OBJECTS)
-dsh_fe_LDADD = $(LDADD)
-dsh_fe_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_fe_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_dsh_fe64_OBJECTS = dsh_fe64-dsh_fe.$(OBJEXT)
-dsh_fe64_OBJECTS = $(am_dsh_fe64_OBJECTS)
-dsh_fe64_LDADD = $(LDADD)
-dsh_fe64_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(dsh_fe64_LDFLAGS) \
- $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(downfilter_la_SOURCES) $(downfilter64_la_SOURCES) \
- $(upfilter_la_SOURCES) $(upfilter64_la_SOURCES) \
- $(upfiltera_la_SOURCES) $(upfiltera64_la_SOURCES) \
- $(upfilterb_la_SOURCES) $(upfilterb64_la_SOURCES) \
- $(dsh_be_SOURCES) $(dsh_be64_SOURCES) $(dsh_fe_SOURCES) \
- $(dsh_fe64_SOURCES)
-DIST_SOURCES = $(downfilter_la_SOURCES) $(downfilter64_la_SOURCES) \
- $(upfilter_la_SOURCES) $(upfilter64_la_SOURCES) \
- $(upfiltera_la_SOURCES) $(upfiltera64_la_SOURCES) \
- $(upfilterb_la_SOURCES) $(upfilterb64_la_SOURCES) \
- $(dsh_be_SOURCES) $(dsh_be64_SOURCES) $(dsh_fe_SOURCES) \
- $(dsh_fe64_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-dsh_fe64_SOURCES = dsh_fe.c
-dsh_be64_SOURCES = dsh_be.c
-downfilter64_la_SOURCES = downfilter.c
-upfilter64_la_SOURCES = upfilter.c
-upfiltera64_la_SOURCES = upfiltera.c
-upfilterb64_la_SOURCES = upfilterb.c
-dsh_fe_SOURCES = dsh_fe.c
-dsh_be_SOURCES = dsh_be.c
-downfilter_la_SOURCES = downfilter.c
-upfilter_la_SOURCES = upfilter.c
-upfiltera_la_SOURCES = upfiltera.c
-upfilterb_la_SOURCES = upfilterb.c
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@pkglib_LTLIBRARIES = downfilter.la upfilter.la upfiltera.la upfilterb.la
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@pkglib_LTLIBRARIES = downfilter.la upfilter.la upfiltera.la upfilterb.la
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@pkglib_LTLIBRARIES = downfilter64.la upfilter64.la upfiltera64.la upfilterb64.la
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@pkglib_LTLIBRARIES = downfilter64.la upfilter64.la upfiltera64.la upfilterb64.la
-@SYSTEM_DARWIN_TRUE@pkglib_LTLIBRARIES = downfilter.la upfilter.la upfiltera.la upfilterb.la
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_fe64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_fe64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_fe64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_fe64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_be64_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_be64_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@dsh_be64_LDFLAGS = -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@dsh_be64_LDFLAGS = -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@downfilter64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@downfilter64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@downfilter64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@downfilter64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@upfilter64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@upfilter64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@upfilter64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@upfilter64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@upfiltera64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@upfiltera64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@upfiltera64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@upfiltera64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@upfilterb64_la_CPPFLAGS = -g -O0 -q64 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@upfilterb64_la_CPPFLAGS = -m64 -g -O0 -I../../common -I../../include -D__64BIT__
-@BIT64_TRUE@@SYSTEM_AIX_TRUE@upfilterb64_la_LDFLAGS = -module -q64 -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_TRUE@@SYSTEM_LINUX_TRUE@upfilterb64_la_LDFLAGS = -module -m64 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_fe_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_fe_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_fe_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_fe_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_fe_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_be_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_be_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@dsh_be_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@dsh_be_LDFLAGS = -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@dsh_be_LDFLAGS = -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@downfilter_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@downfilter_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@downfilter_la_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@downfilter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@downfilter_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@downfilter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@upfilter_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@upfilter_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@upfilter_la_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@upfilter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@upfilter_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@upfilter_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@upfiltera_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@upfiltera_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@upfiltera_la_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@upfiltera_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@upfiltera_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@upfiltera_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@upfilterb_la_CPPFLAGS = -g -O0 -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@upfilterb_la_CPPFLAGS = -m32 -g -O0 -I../../common -I../../include
-@SYSTEM_DARWIN_TRUE@upfilterb_la_CPPFLAGS = -I../../common -I../../include
-@BIT64_FALSE@@SYSTEM_AIX_TRUE@upfilterb_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn64 -lrt -lpthread -lsci
-@BIT64_FALSE@@SYSTEM_LINUX_TRUE@upfilterb_la_LDFLAGS = -module -m32 -L../../common -L../../libsci -lcmn -lrt -lpthread -lsci
-@SYSTEM_DARWIN_TRUE@upfilterb_la_LDFLAGS = -module -L../../common -L../../libsci -lcmn -lpthread -lsci
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu usecase/dsh_filter2/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu usecase/dsh_filter2/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
- @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
- }
-
-uninstall-pkglibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
- done
-
-clean-pkglibLTLIBRARIES:
- -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-downfilter.la: $(downfilter_la_OBJECTS) $(downfilter_la_DEPENDENCIES)
- $(downfilter_la_LINK) $(am_downfilter_la_rpath) $(downfilter_la_OBJECTS) $(downfilter_la_LIBADD) $(LIBS)
-downfilter64.la: $(downfilter64_la_OBJECTS) $(downfilter64_la_DEPENDENCIES)
- $(downfilter64_la_LINK) $(am_downfilter64_la_rpath) $(downfilter64_la_OBJECTS) $(downfilter64_la_LIBADD) $(LIBS)
-upfilter.la: $(upfilter_la_OBJECTS) $(upfilter_la_DEPENDENCIES)
- $(upfilter_la_LINK) $(am_upfilter_la_rpath) $(upfilter_la_OBJECTS) $(upfilter_la_LIBADD) $(LIBS)
-upfilter64.la: $(upfilter64_la_OBJECTS) $(upfilter64_la_DEPENDENCIES)
- $(upfilter64_la_LINK) $(am_upfilter64_la_rpath) $(upfilter64_la_OBJECTS) $(upfilter64_la_LIBADD) $(LIBS)
-upfiltera.la: $(upfiltera_la_OBJECTS) $(upfiltera_la_DEPENDENCIES)
- $(upfiltera_la_LINK) $(am_upfiltera_la_rpath) $(upfiltera_la_OBJECTS) $(upfiltera_la_LIBADD) $(LIBS)
-upfiltera64.la: $(upfiltera64_la_OBJECTS) $(upfiltera64_la_DEPENDENCIES)
- $(upfiltera64_la_LINK) $(am_upfiltera64_la_rpath) $(upfiltera64_la_OBJECTS) $(upfiltera64_la_LIBADD) $(LIBS)
-upfilterb.la: $(upfilterb_la_OBJECTS) $(upfilterb_la_DEPENDENCIES)
- $(upfilterb_la_LINK) $(am_upfilterb_la_rpath) $(upfilterb_la_OBJECTS) $(upfilterb_la_LIBADD) $(LIBS)
-upfilterb64.la: $(upfilterb64_la_OBJECTS) $(upfilterb64_la_DEPENDENCIES)
- $(upfilterb64_la_LINK) $(am_upfilterb64_la_rpath) $(upfilterb64_la_OBJECTS) $(upfilterb64_la_LIBADD) $(LIBS)
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-dsh_be$(EXEEXT): $(dsh_be_OBJECTS) $(dsh_be_DEPENDENCIES)
- @rm -f dsh_be$(EXEEXT)
- $(dsh_be_LINK) $(dsh_be_OBJECTS) $(dsh_be_LDADD) $(LIBS)
-dsh_be64$(EXEEXT): $(dsh_be64_OBJECTS) $(dsh_be64_DEPENDENCIES)
- @rm -f dsh_be64$(EXEEXT)
- $(dsh_be64_LINK) $(dsh_be64_OBJECTS) $(dsh_be64_LDADD) $(LIBS)
-dsh_fe$(EXEEXT): $(dsh_fe_OBJECTS) $(dsh_fe_DEPENDENCIES)
- @rm -f dsh_fe$(EXEEXT)
- $(dsh_fe_LINK) $(dsh_fe_OBJECTS) $(dsh_fe_LDADD) $(LIBS)
-dsh_fe64$(EXEEXT): $(dsh_fe64_OBJECTS) $(dsh_fe64_DEPENDENCIES)
- @rm -f dsh_fe64$(EXEEXT)
- $(dsh_fe64_LINK) $(dsh_fe64_OBJECTS) $(dsh_fe64_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/downfilter64_la-downfilter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/downfilter_la-downfilter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be-dsh_be.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_be64-dsh_be.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe-dsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsh_fe64-dsh_fe.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/upfilter64_la-upfilter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/upfilter_la-upfilter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/upfiltera64_la-upfiltera.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/upfiltera_la-upfiltera.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/upfilterb64_la-upfilterb.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/upfilterb_la-upfilterb.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-downfilter_la-downfilter.lo: downfilter.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(downfilter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT downfilter_la-downfilter.lo -MD -MP -MF $(DEPDIR)/downfilter_la-downfilter.Tpo -c -o downfilter_la-downfilter.lo `test -f 'downfilter.c' || echo '$(srcdir)/'`downfilter.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/downfilter_la-downfilter.Tpo $(DEPDIR)/downfilter_la-downfilter.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='downfilter.c' object='downfilter_la-downfilter.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(downfilter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o downfilter_la-downfilter.lo `test -f 'downfilter.c' || echo '$(srcdir)/'`downfilter.c
-
-downfilter64_la-downfilter.lo: downfilter.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(downfilter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT downfilter64_la-downfilter.lo -MD -MP -MF $(DEPDIR)/downfilter64_la-downfilter.Tpo -c -o downfilter64_la-downfilter.lo `test -f 'downfilter.c' || echo '$(srcdir)/'`downfilter.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/downfilter64_la-downfilter.Tpo $(DEPDIR)/downfilter64_la-downfilter.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='downfilter.c' object='downfilter64_la-downfilter.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(downfilter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o downfilter64_la-downfilter.lo `test -f 'downfilter.c' || echo '$(srcdir)/'`downfilter.c
-
-upfilter_la-upfilter.lo: upfilter.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfilter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT upfilter_la-upfilter.lo -MD -MP -MF $(DEPDIR)/upfilter_la-upfilter.Tpo -c -o upfilter_la-upfilter.lo `test -f 'upfilter.c' || echo '$(srcdir)/'`upfilter.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/upfilter_la-upfilter.Tpo $(DEPDIR)/upfilter_la-upfilter.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='upfilter.c' object='upfilter_la-upfilter.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfilter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o upfilter_la-upfilter.lo `test -f 'upfilter.c' || echo '$(srcdir)/'`upfilter.c
-
-upfilter64_la-upfilter.lo: upfilter.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfilter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT upfilter64_la-upfilter.lo -MD -MP -MF $(DEPDIR)/upfilter64_la-upfilter.Tpo -c -o upfilter64_la-upfilter.lo `test -f 'upfilter.c' || echo '$(srcdir)/'`upfilter.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/upfilter64_la-upfilter.Tpo $(DEPDIR)/upfilter64_la-upfilter.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='upfilter.c' object='upfilter64_la-upfilter.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfilter64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o upfilter64_la-upfilter.lo `test -f 'upfilter.c' || echo '$(srcdir)/'`upfilter.c
-
-upfiltera_la-upfiltera.lo: upfiltera.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfiltera_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT upfiltera_la-upfiltera.lo -MD -MP -MF $(DEPDIR)/upfiltera_la-upfiltera.Tpo -c -o upfiltera_la-upfiltera.lo `test -f 'upfiltera.c' || echo '$(srcdir)/'`upfiltera.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/upfiltera_la-upfiltera.Tpo $(DEPDIR)/upfiltera_la-upfiltera.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='upfiltera.c' object='upfiltera_la-upfiltera.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfiltera_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o upfiltera_la-upfiltera.lo `test -f 'upfiltera.c' || echo '$(srcdir)/'`upfiltera.c
-
-upfiltera64_la-upfiltera.lo: upfiltera.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfiltera64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT upfiltera64_la-upfiltera.lo -MD -MP -MF $(DEPDIR)/upfiltera64_la-upfiltera.Tpo -c -o upfiltera64_la-upfiltera.lo `test -f 'upfiltera.c' || echo '$(srcdir)/'`upfiltera.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/upfiltera64_la-upfiltera.Tpo $(DEPDIR)/upfiltera64_la-upfiltera.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='upfiltera.c' object='upfiltera64_la-upfiltera.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfiltera64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o upfiltera64_la-upfiltera.lo `test -f 'upfiltera.c' || echo '$(srcdir)/'`upfiltera.c
-
-upfilterb_la-upfilterb.lo: upfilterb.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfilterb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT upfilterb_la-upfilterb.lo -MD -MP -MF $(DEPDIR)/upfilterb_la-upfilterb.Tpo -c -o upfilterb_la-upfilterb.lo `test -f 'upfilterb.c' || echo '$(srcdir)/'`upfilterb.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/upfilterb_la-upfilterb.Tpo $(DEPDIR)/upfilterb_la-upfilterb.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='upfilterb.c' object='upfilterb_la-upfilterb.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfilterb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o upfilterb_la-upfilterb.lo `test -f 'upfilterb.c' || echo '$(srcdir)/'`upfilterb.c
-
-upfilterb64_la-upfilterb.lo: upfilterb.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfilterb64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT upfilterb64_la-upfilterb.lo -MD -MP -MF $(DEPDIR)/upfilterb64_la-upfilterb.Tpo -c -o upfilterb64_la-upfilterb.lo `test -f 'upfilterb.c' || echo '$(srcdir)/'`upfilterb.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/upfilterb64_la-upfilterb.Tpo $(DEPDIR)/upfilterb64_la-upfilterb.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='upfilterb.c' object='upfilterb64_la-upfilterb.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(upfilterb64_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o upfilterb64_la-upfilterb.lo `test -f 'upfilterb.c' || echo '$(srcdir)/'`upfilterb.c
-
-dsh_be-dsh_be.o: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be-dsh_be.o -MD -MP -MF $(DEPDIR)/dsh_be-dsh_be.Tpo -c -o dsh_be-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_be.Tpo $(DEPDIR)/dsh_be-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be-dsh_be.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-
-dsh_be-dsh_be.obj: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be-dsh_be.obj -MD -MP -MF $(DEPDIR)/dsh_be-dsh_be.Tpo -c -o dsh_be-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be-dsh_be.Tpo $(DEPDIR)/dsh_be-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be-dsh_be.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-
-dsh_be64-dsh_be.o: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be64-dsh_be.o -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_be.Tpo -c -o dsh_be64-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_be.Tpo $(DEPDIR)/dsh_be64-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be64-dsh_be.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be64-dsh_be.o `test -f 'dsh_be.c' || echo '$(srcdir)/'`dsh_be.c
-
-dsh_be64-dsh_be.obj: dsh_be.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_be64-dsh_be.obj -MD -MP -MF $(DEPDIR)/dsh_be64-dsh_be.Tpo -c -o dsh_be64-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_be64-dsh_be.Tpo $(DEPDIR)/dsh_be64-dsh_be.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_be.c' object='dsh_be64-dsh_be.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_be64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_be64-dsh_be.obj `if test -f 'dsh_be.c'; then $(CYGPATH_W) 'dsh_be.c'; else $(CYGPATH_W) '$(srcdir)/dsh_be.c'; fi`
-
-dsh_fe-dsh_fe.o: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe-dsh_fe.o -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_fe.Tpo -c -o dsh_fe-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_fe.Tpo $(DEPDIR)/dsh_fe-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe-dsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-
-dsh_fe-dsh_fe.obj: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe-dsh_fe.obj -MD -MP -MF $(DEPDIR)/dsh_fe-dsh_fe.Tpo -c -o dsh_fe-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe-dsh_fe.Tpo $(DEPDIR)/dsh_fe-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe-dsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-
-dsh_fe64-dsh_fe.o: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe64-dsh_fe.o -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_fe.Tpo -c -o dsh_fe64-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_fe.Tpo $(DEPDIR)/dsh_fe64-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe64-dsh_fe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe64-dsh_fe.o `test -f 'dsh_fe.c' || echo '$(srcdir)/'`dsh_fe.c
-
-dsh_fe64-dsh_fe.obj: dsh_fe.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dsh_fe64-dsh_fe.obj -MD -MP -MF $(DEPDIR)/dsh_fe64-dsh_fe.Tpo -c -o dsh_fe64-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dsh_fe64-dsh_fe.Tpo $(DEPDIR)/dsh_fe64-dsh_fe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dsh_fe.c' object='dsh_fe64-dsh_fe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dsh_fe64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dsh_fe64-dsh_fe.obj `if test -f 'dsh_fe.c'; then $(CYGPATH_W) 'dsh_fe.c'; else $(CYGPATH_W) '$(srcdir)/dsh_fe.c'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool \
- clean-pkglibLTLIBRARIES mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS install-pkglibLTLIBRARIES
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-pkglibLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-binPROGRAMS \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-pkglibLTLIBRARIES install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-binPROGRAMS uninstall-pkglibLTLIBRARIES
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/buildit b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/buildit
deleted file mode 100755
index d92b14d..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/buildit
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh -x
-
-OS_TYPE=$(uname)
-if [[ ${OS_TYPE} = "AIX" ]]
-then
- make -f Makefile.aix clean
- make -f Makefile.aix all
-else
- CURR_CHIP=$(arch)
- if [[ ${CURR_CHIP} == 'ppc64' ]]
- then
- make clean
- make all
- else
- if [[ ${CURR_CHIP} == 'i386' || ${CURR_CHIP} == 'i686' ]]
- then
- make clean_32
- make all_32
- else
- if [[ ${CURR_CHIP} == 'x86_64' ]]
- then
- make all
- fi
- fi
- fi
-fi
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/downfilter.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/downfilter.c
deleted file mode 100644
index ef7a1a7..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/downfilter.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 03/10/08 nieyy Initial code (D156332)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include "sci.h"
-
-int filter_initialize(void **user_param)
-{
- // do nothing
- return SCI_SUCCESS;
-}
-
-int filter_terminate(void *user_param)
-{
- // do nothing
- return SCI_SUCCESS;
-}
-
-int filter_input(void *user_param, sci_group_t group, void *buf, int size)
-{
- void *bufs[1];
- int sizes[1];
- int rc;
-
- int num_successors;
- rc = SCI_Query(NUM_SUCCESSORS, &num_successors);
- if (rc != SCI_SUCCESS) {
- // do something
- }
- int successor_ids[num_successors];
- rc = SCI_Query(SUCCESSOR_IDLIST, successor_ids);
-
- bufs[0] = buf;
- sizes[0] = size;
-
- rc = SCI_Filter_bcast(SCI_FILTER_NULL, num_successors, successor_ids, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- // do something
- }
-
- return SCI_SUCCESS;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/dsh_be.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/dsh_be.c
deleted file mode 100644
index faf81c0..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/dsh_be.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 03/10/08 nieyy Initial code (D156332)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <unistd.h>
-#include <assert.h>
-#include "sci.h"
-
-#define DOWN_FILTER 1
-#define UP_FILTER 2
-#define UP_FILTER_A 3
-#define UP_FILTER_B 4
-
-#define RST_SIZE 4096
-
-char *result = NULL;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int bytes, my_id, rc;
- FILE *fp = NULL;
- int sizes[2];
- void *bufs[2];
-
- rc = SCI_Query(BACKEND_ID, &my_id);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- bufs[0] = &my_id;
- sizes[0] = sizeof(my_id);
-
- fp = popen((const char *)buffer, "r");
- assert(result != NULL);
- memset(result, 0, RST_SIZE);
- bytes = fread(result, sizeof(char), RST_SIZE, fp);
- bufs[1] = result;
- sizes[1] = strlen(result) + 1;
- pclose(fp);
-
- rc = SCI_Upload(UP_FILTER, group, 2, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- int rc;
-
- result = (char *)malloc(RST_SIZE * sizeof(char));
- bzero(&info, sizeof(info));
- info.type = SCI_BACK_END;
- info.be_info.mode = SCI_INTERRUPT;
- info.be_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.be_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- rc = SCI_Terminate();
- free(result);
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/dsh_fe.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/dsh_fe.c
deleted file mode 100644
index bec83ce..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/dsh_fe.c
+++ /dev/null
@@ -1,178 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 03/10/08 nieyy Initial code (D156332)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <unistd.h>
-#include "sci.h"
-
-#define DOWN_FILTER 1
-#define UP_FILTER 2
-#define UP_FILTER_A 3
-#define UP_FILTER_B 4
-
-int num_resp;
-
-void handler(void *user_param, sci_group_t group, void *buffer, int size)
-{
- int be_id = ((int *) buffer)[0];
- char *msg = (char *)((char *) buffer + sizeof(int));
- char *pos = NULL;
-
- while (1) {
- pos = strstr(msg, "\n");
- if (pos == NULL) {
- break;
- } else {
- pos[0] = '\0';
- }
- printf("%d: %s\n", be_id, msg);
- msg = pos + 1;
- }
-
- num_resp++;
-}
-
-int main(int argc, char **argv)
-{
- sci_info_t info;
- sci_filter_info_t filter_info;
-
- char msg[256];
- char *s;
- int i, rc, num_bes, job_key, sizes[1];
- void *bufs[1];
-
- char pwd[256];
- char hfile[256], bpath[256], fpath[256];
-
- getcwd(pwd, 256);
- sprintf(hfile, "%s/host.list", pwd);
-#ifdef __64BIT__
- sprintf(bpath, "%s/dsh_be64", pwd);
-#else
- sprintf(bpath, "%s/dsh_be", pwd);
-#endif
-
- bzero(&info, sizeof(info));
- info.type = SCI_FRONT_END;
- info.fe_info.mode = SCI_INTERRUPT;
- info.fe_info.hostfile = hfile;
- info.fe_info.bepath = bpath;
- info.fe_info.hndlr = (SCI_msg_hndlr *)&handler;
- info.fe_info.param = NULL;
-
- rc = SCI_Initialize(&info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
- rc = SCI_Query(NUM_BACKENDS, &num_bes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
-#ifdef __64BIT__
- sprintf(fpath, "%s/downfilter64.so", pwd);
-#else
- sprintf(fpath, "%s/downfilter.so", pwd);
-#endif
- bzero(&filter_info, sizeof(filter_info));
- filter_info.filter_id = DOWN_FILTER;
- filter_info.so_file = fpath;
- rc = SCI_Filter_load(&filter_info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
-#ifdef __64BIT__
- sprintf(fpath, "%s/upfilter64.so", pwd);
-#else
- sprintf(fpath, "%s/upfilter.so", pwd);
-#endif
- bzero(&filter_info, sizeof(filter_info));
- filter_info.filter_id = UP_FILTER;
- filter_info.so_file = fpath;
- rc = SCI_Filter_load(&filter_info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
-#ifdef __64BIT__
- sprintf(fpath, "%s/upfiltera64.so", pwd);
-#else
- sprintf(fpath, "%s/upfiltera.so", pwd);
-#endif
- bzero(&filter_info, sizeof(filter_info));
- filter_info.filter_id = UP_FILTER_A;
- filter_info.so_file = fpath;
- rc = SCI_Filter_load(&filter_info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
-#ifdef __64BIT__
- sprintf(fpath, "%s/upfilterb64.so", pwd);
-#else
- sprintf(fpath, "%s/upfilterb.so", pwd);
-#endif
- bzero(&filter_info, sizeof(filter_info));
- filter_info.filter_id = UP_FILTER_B;
- filter_info.so_file = fpath;
- rc = SCI_Filter_load(&filter_info);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- while (1) {
- printf(">>> ");
- fflush(stdout);
- memset(msg, 0 , sizeof(msg));
- fgets(msg, sizeof(msg), stdin);
- msg[strlen(msg) - 1] = '\0';
-
- if (0 == strcmp(msg, "quit"))
- break;
-
- num_resp = 0;
-
- bufs[0] = msg;
- sizes[0] = strlen(msg) + 1;
- rc = SCI_Bcast(DOWN_FILTER, SCI_GROUP_ALL, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- exit(1);
- }
-
- while (num_resp < num_bes) {
- usleep(500);
- }
- }
-
- rc = SCI_Terminate();
-
- return rc;
-}
-
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/upfilter.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/upfilter.c
deleted file mode 100644
index 5b3ebac..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/upfilter.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 03/10/08 nieyy Initial code (D156332)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include "sci.h"
-
-#define DOWN_FILTER 1
-#define UP_FILTER 2
-#define UP_FILTER_A 3
-#define UP_FILTER_B 4
-
-int filter_initialize(void **user_param)
-{
- // do nothing
- return SCI_SUCCESS;
-}
-
-int filter_terminate(void *user_param)
-{
- // do nothing
- return SCI_SUCCESS;
-}
-
-int filter_input(void *user_param, sci_group_t group, void *buf, int size)
-{
- void *bufs[1];
- int sizes[1];
- int rc;
-
- bufs[0] = buf;
- sizes[0] = size;
-
- rc = SCI_Filter_upload(UP_FILTER_A, group, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- // do something
- }
-
- return SCI_SUCCESS;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/upfiltera.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/upfiltera.c
deleted file mode 100644
index 763e3c3..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/upfiltera.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 03/10/08 nieyy Initial code (D156332)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include "sci.h"
-
-#define DOWN_FILTER 1
-#define UP_FILTER 2
-#define UP_FILTER_A 3
-#define UP_FILTER_B 4
-
-int filter_initialize(void **user_param)
-{
- // do nothing
- return SCI_SUCCESS;
-}
-
-int filter_terminate(void *user_param)
-{
- // do nothing
- return SCI_SUCCESS;
-}
-
-int filter_input(void *user_param, sci_group_t group, void *buf, int size)
-{
- void *bufs[1];
- int sizes[1];
- int rc;
-
- bufs[0] = buf;
- sizes[0] = size;
-
- rc = SCI_Filter_upload(UP_FILTER_B, group, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- // do something
- }
-
- return SCI_SUCCESS;
-}
diff --git a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/upfilterb.c b/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/upfilterb.c
deleted file mode 100644
index d26ea88..0000000
--- a/tools/sci/org.eclipse.ptp.sci/usecase/dsh_filter2/upfilterb.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _PRAGMA_COPYRIGHT_
-#define _PRAGMA_COPYRIGHT_
-#pragma comment(copyright, "%Z% %I% %W% %D% %T%\0")
-#endif /* _PRAGMA_COPYRIGHT_ */
-/****************************************************************************
-
-* Copyright (c) 2008, 2010 IBM Corporation.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0s
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-
- Classes: None
-
- Description: Distributed Shell.
-
- Author: Nicole Nie, Tu HongJ, Liu Wei
-
- History:
- Date Who ID Description
- -------- --- --- -----------
- 03/10/08 nieyy Initial code (D156332)
-
-****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include "sci.h"
-
-#define DOWN_FILTER 1
-#define UP_FILTER 2
-#define UP_FILTER_A 3
-#define UP_FILTER_B 4
-
-int filter_initialize(void **user_param)
-{
- // do nothing
- return SCI_SUCCESS;
-}
-
-int filter_terminate(void *user_param)
-{
- // do nothing
- return SCI_SUCCESS;
-}
-
-int filter_input(void *user_param, sci_group_t group, void *buf, int size)
-{
- void *bufs[1];
- int sizes[1];
- int rc;
-
- bufs[0] = buf;
- sizes[0] = size;
-
- rc = SCI_Filter_upload(SCI_FILTER_NULL, group, 1, bufs, sizes);
- if (rc != SCI_SUCCESS) {
- // do something
- }
-
- return SCI_SUCCESS;
-}